两极——关于未来云计算的瞎想
云计算目前而言,已经不是一个新鲜事了,而且对于程序猿的我们来说,并不遥远。本文意图对未来云的相貌做一个粗略的瞎想,虽然未来永远都不会明晰,但或许这篇文章能挠到某些人的痒处,姑且言之,姑且听之。另外,本文涉及到数据存储方面,在运算方面也稍稍有点提及。
实际上,我的这瞎想还扯到了一些古老的分歧,开放与集中,有敏捷的朋友应该已经想到了我想说什么了。
先老调重弹一下,对于一个普通人而言,假设在不远的未来,每个人都有至少1Gb的带宽——这意味着120MB左右的下载速度,这已经比硬盘的速度要快——至少是不相上下了。目前的ATA/133能达到133MBps的峰值速度,那么,在云端工作和在本地工作有什么不同呢?当我们看电影的时候,数据从云端传输到本地;当我们玩游戏的时候;数据从云端传输到本地——或许有一点点的缓存,但实际上,当那个时候,能在硬盘上执行的程序,在网络上应该也能够飞快的搞定。
我想很少有人会否认这样的未来的到来,因为1Gb的带宽并不是奢望,目前主流的网卡都是千兆的,虽然受限于外网带宽和传输设备。带宽的增加使得人们习惯于在线观看——即使目前大都是通过浏览器——看视频和听音乐。除了有让自己感兴趣的东西之外,很少会有人象之前一样,吭哧吭哧的将东西拖到本地来,然后打开看看是什么东西,发现自己不感兴趣,删掉。
目前我们已经习惯了这种生活,而我所说的云端,只不过是将这件事情更进一步,启动系统,然后所有事情都在网络上完成——所有程序都在网络上,所有数据都在网络上。
我们刚刚只是明确了我们要说的云计算指的是什么,这是业界大佬的想法,我只是复述一遍罢了。
第一种云,在目前就已经露出了端倪,目前,大公司纷纷推出自己的云服务,程序和数据放在云端,基础设施已经大好,正等着唱戏。在未来,或许终端会弱化——现在已经有这种趋势了,虽然手持设备的进化明显,但是在线服务是不可或缺的一部分——而几乎所有的存储都在云端,甚至于,许多运算也会在云端完成,我们的接入设备退化为终端,拥有较弱的计算能力。
而我想提到的第二种云,目前似乎很少或没有人提到——也可能是我没有找到相关信息——那就是充分利用p2p和分布式的特点,将数据和运算平民化。你是使用者,也是提供者。你进行云计算,也提供给他人云计算。你进行云存储,也提供给他人云存储。你的台式机、笔记本或手持设备,在没用充分利用的时候,提供给他人进行计算和存储,而你的每一条指令,都可能会被调度到其他人计算机上完成。你的每一比特,都可能放置在其他机器上。你下达指令,就是在对整个云下达指令。
封闭与开放是永久的两难。厂家主导而弱化接入层的设备是非常美好的一种想法,特别是目前的物联网概念——几乎所有东西都有芯片,所有东西都带有智能特性,这样的话,就可以将你身边的小物件联网,然后完成一些较为复杂的功能。但这也不可避免的带来一种忧虑,那就是数据的垄断,计算资源的垄断。若真的有那么一天,或许有人会成为盗火者也说不定。
而且,厂家主导的云计算,当你获取数据程序的时候,可以较为轻易的检测你是不是拥有这个东西的访问权——在程序,叫做是否注册或订阅;在数据,例如唱片或者电影,叫做是否已经购买。
但有一点,你无法保证你的个人隐私或公司机密不会被偷窥。实际上这也是所有云的特质,甚或是互联网络的特质,当你将任何数据传入互联网,销毁它的权限就不一定会在你手上了。当然,你可以加密,但这又会破坏一个事情——目前的网盘什么都是这样,你上传什么东西,若云端有你要上传的东西,那么就可以直接建立你到那个东西的引用,实际上,我们已经很习惯这个东西,而且不可脱离。究其根本,这是数据的分享。你可以与大众分享,可以与你的朋友分享,也可以只与你指定的人分享,或者根本不分享。加密就是不分享,密钥存储到云端是不可靠的,或至少需要加密后再存储到云端……因此,你对加密数据的任何操作,都将导致你从云端下载数据到本地,并且解密——若是指定的人分享的话,或许还需要分别利用一个密钥加密并用对方的公钥加密这个密钥,并通知对方,对方收到这个密钥之后,又得解密数据,并且用自己的密钥加密后保存到云端……
上头是针对狭义的隐私的解决方法,而且看上去也是唯一的方法。对于狭义的隐私,指的是你的日记,你的自拍照——或许在浴室里头的自拍照等等。或许你只想自己观赏(比较自恋),或许你只是想让几个人观赏,但你不会想让未经你授权的人随便乱看,甚或是,你生活在一个国家,这个国家明确规定女性必须在公众面前穿上面纱,否则就是违法要入狱。而你拍了素颜照,你传到了云上,你只想给几个人看,但是未经授权的人看到了,假定这是违法,那么国家会不会因此逮捕你?
广义的隐私,其实是一些别的东西。比如,我在伊朗,我用了goagent,而伊朗规定FQ违法,然后我在云端获取了goagent的数据,于是我被迫入狱。当然,这是极端的情况,但是,实际上可以通过你放的可以让公众看的文件,分析出你的很多东西。你或许认为你在学校的作业不需要加密,但里头有你的姓名,你的班级,你的许许多多别的东西,你认为在云端很方便,在学校和在寝室里头都可以随便获取,但是一个未经授权的人看了这个东西,然后将这个资料卖给了一个犯罪团伙,这个犯罪团伙于是用你的这些个人信息去适配你的密码,打电话诈骗你的家人和朋友……
隐私代表着一种伤害的能力。因此我们不希望它给别人。而云本质上是分享的,若我们什么都加密,则享受不到分享的好处,甚至将损害云这一概念本身而退化到之前用终端访问大型机的时代。而我们什么都不加密,那么就代表着将伤害的能力交给不法分子……当然,或许法律许可的分子也会这么做。
我们即将说到的第二种云也无法摆脱隐私这一巨大的难题,同时,第二种云还有一些别的问题……比如,版权。
在第一种云里头,版权问题实际上就是搞定云的供应商的问题。搞定了供应商,一切都已经解决了。剩下的问题,只是禁止访问未经许可的文件的问题,这很简单。而第二种云里头……p2p一直是版权的噩梦,这可不是空穴来风。
因为我们同时具有两种身份,一种是贡献者,一种是使用者。搞定一个人是有可能的,搞定整个使用群体,那可没辙。不是每个人都那么遵纪守法。具体不展开说,我想我们也会理解这一点。这和隐私材料不一样,因为版权材料创造出的目的就是为了分享的。
同时,云会带来一些别的问题,商业云,我们可以直接购买计算量和空间,这是很方便的,但在另一端,实际上,我们可以直接用一个云来打彩虹表破解密码,只要付钱就可以了。大规模并行计算可以直接搞定这些事情,而且没什么技术难度。分享云,也就是第二种云,我们可以轻易的用目前的积分制度限制这种做法,但实际上,若我们需要更多的空间,需要更多的计算量,我们无法轻易的增加……因为积分。我想不会有很多人乐意将计算机提供给他人不劳而获。实际上,这可能损害“云”这个概念。
另外,商业云可能比私有云更容易保证安全性,因为窃取了云的访问权限影响巨大……而且商业云通常会聘请许许多多的安全管理人员,购置很贵的安全设备(唔,审计设备也说不定),而共享云则完全没有这种措施,黑客可能能较为轻易的侵入一个节点。但由于数量巨大的可能性,以及hash算法、加密算法、分布存储的保证,因此能设计出算法来防止非法修改数据。
当然,这只是我的一点瞎想。