云计算是 Web2.0 时代的典型的网络架构,跟平台引领的中心化商业模式配合的非常完美。打破平台对 Web 的控制,也就意味着对当前云计算架构要进行去中心化处理。那什么是云计算?云计算有哪些优势和问题?Web3.0 时代还会依旧保留云计算这种技术架构吗?
什么是云计算?
先来聊聊什么是云计算。
云计算指的是在互联网上完成计算。所谓“云”,指的就是互联网,起源于人们会用云形图标来指代互联网。云计算意味着计算不在用户自己的设备上完成,而是在互联网上的人家的计算机上完成。
云计算的早期代表公司之一是1998年创立的谷歌。网上可以搜到谷歌早期服务器的图片,有意思的是谷歌的服务器其实不是一台机器,而是很多机器组成的集群。同时,谷歌并不是买很多昂贵的服务器去组件集群,而是用很多人们淘汰的廉价个人电脑,把主板取下来,然后很多个主板连接到一起放到一个大铁盒子中。很多这样的大铁盒子有都会存放到一个的大仓库中,这个仓库就是所谓的数据中心了。当我们使用谷歌的服务的时候,运算都是发生在数据中心,或者说都是发生在云端。这就是云计算的基本架构了。
除了谷歌这样自建的企业云(这些服务器都是谷歌用来自己公司用的),另外一个概念叫做公有云。2006年,亚马逊推出了 EC2(弹性计算云)服务,是云计算真正开始流行的标志,同时这里的云指的就是公有云。亚马逊创业初期也是跟谷歌一样,自建云自己用,或者说是给自己电商网站的访问者使用。但是后来亚马逊发现出租自己的云给创业公司,也是一门好的生意,于是才专门创建了一个 AWS 部门,搞起了公有云平台。创业公司使用公有云,可以享受大公司的计算弹性,按需付费。亚马逊是全球最大的云服务器提供商,拥有很多大型数据中心,计算能力也是非常的强大。创业公司如果不想购买自己的服务器,就可以把应用部署到亚马逊的云上,享受亚马逊的计算,带宽和存储资源。亚马逊经常喜欢讲的一个例子是,一个做视频的创业网站,进行大规模推广后的第一天,可能用户访问量比平时要大几百倍,如果是自建服务器,那么这个创业公司就要长期承担能够承受最上限访问量规模的服务器成本,但是使用了亚马逊的服务,用多少就付费多少,平时访问量低的时候就会非常的节约成本。
云计算是 Web2.0 时代最成功的计算架构。2000年之前,如果我要装一个软件,一般要安装在我的个人电脑上(例如安装微软的 Office )。现在使用一个软件,基本上都是安装一个手机 App 或者打开一个网站,App 和网站本质上都只是软件的前端,真正的软件都是运行在云上的,例如 Google Docs 。这里的云,可以是公司自建的企业云,也可以是公司租用的其他公司的公有云,例如亚马逊 AWS ,微软 Azure ,或者阿里云,都是非常知名的公有云提供商。
稍微总结一下,可以看出云计算对应的是中心化的架构,不管是企业自建云,还是租用公有云,用户的数据都会存储在云上,计算过程也都在云上完成。
云计算的利弊
下面聊聊云计算的优势和缺点,看看如何用去中心化的方式来扬长避短。
首先,云计算架构有着明显的优势。从用户角度讲,使用云上的软件,可以不用自己升级软件。以前安装到自己机器上的软件,有了 Bug 或者新功能,官方需要通知所有用户去下载补丁或者新版本,重新安装才能进行升级。而云上的软件,浏览器里面打开就能用,官方直接在服务器上升级一下软件,用户不知不觉,软件升级就完成了。这体现了让专业的人做专业的事的原则,用户可以安心的使用软件,而不需要操心如何升级。同样的道理,公有云的优势也不仅仅是前面的弹性和按需付费,还有一系列普通开发者不擅长的事情,公有云可以统一的帮开发者完成。例如,大公司的数据中心可以建在电力便宜,气候比较冷的地区,这样可以节省服务器成本,创业公司是没有这个条件的,另外类似亚马逊 AWS 这样的公有云,还提供了一系列辅助开发的工具和基础设施,例如云数据库,云函数等等,从而让开发者能专注于实现功能。
云计算的问题也不少,笼统来说就是过于中心化。云计算配合的是平台公司的垄断性的商业模式。Web2.0 被称为平台互联网,最大的特征是支持人与人之间的交互。平台为人和人之间交互提供第三方的见证。淘宝卖家发布一个商品,买家在这个商品上发评论,这就是一次交互。购买一件商品也是一种交互。而不管是一个评论还是一次支付,都需要有一个第三方作为见证,才能防止篡改和抵赖。在云计算架构下,卖家用电脑发布商品,卖家用自己的手机购买,但是交互是发生在淘宝的云服务器上。于是淘宝见证这些交互,就变得非常容易了。但是同时带来的问题是,所有的数据都控制在淘宝手里了,对于用户,无法去拥有自己的数据,保护自己的隐私,同时这样的方式也不利于竞争,很容易形成壁垒,造成垄断。
这就是云计算的利和弊了。
云计算如何去中心化?
在 Web3.0 时代,我们需要让云计算变得去中心化。
计算架构始终处于不断的发展状态。我们从大型机,首先发展到个人计算机时代,然后才到了云计算时代。所谓云计算,就是所有用户都用某个公司的服务器去计算,所以是一种中心化的计算架构。 Web3.0 需要的是去中心化计算,让计算回到用户自己的机器上。但是去中心化计算并不是回到个人计算机时代,因为每个人的设备都是互联的,各种 App 的功能是通过设备之间互动来实现的。
去中心计算应该能够实现云计算的各种功能。对于计算能力的弹性,去中心化的计算也可以提供。因为计算分担到了不同的计算机上的,用户通常也都是同时服务提供者,所以负载问题通常不成为问题,类似 BT 下载等工具的故事大家也可能听说过了,就是下载的人越多,下载速度越快。当然,必须说明,区块链并不满足这个特性,理论上,区块链上节点越多,共识过程也就会越慢,也就相当于处理速度变慢,但是区块链的价值是提供安全,并不是追求性能。
Web3.0 时代,云依然有自己的用武之地。企业依然可以通过企业云或者公有云的各种优势来提供给用户更好的服务,但是不能用云来控制用户的数据。数据应该是用户自己持有的。用户保存自己的数据,可以使用个人设备,也可以租用公有云。但是,用户会把自己的数据先加密再去保存,相当于在公有云上拥有了一个私人数据保险柜。
总之,云计算可以继续存在,但是云计算的中心化架构需要被打破。
结论
最后总结一下。“云”指的是互联网,云计算指的是在互联网上完成计算,可以分为企业云和公有云两种形式。云计算的优势是让专业的人做专业的事,可以降低硬件成本,保证强大的弹性,方便企业升级软件。但是当前云计算模式的问题就是中心化。Web3.0 时代可以继续保留云计算的优势,但是打破云计算对用户数据的控制,让用户在云上构建自己的私人数据保险柜,拥有自己的数据。