云计算时代即将终结?这些理由够不够

CIOAge
我们正在面临云计算时代的终结,我知道,这是一个大胆的声明,甚至听起来有点疯狂。但请给我一点时间,听我细细道来。

 

 

[[210734]]

我们正在面临云计算时代的终结,我知道,这是一个大胆的声明,甚至听起来有点疯狂。但请给我一点时间,听我细细道来。

根据运行服务器应用程序的传统观点,无论是网络应用还是手机应用程序的后台,都是未来云计算的发展模式。而亚马逊、谷歌和微软层也在忙着为自己的云产品增加新的工作层,让运行中的服务器软件变得更加简单方便。因此,在表面上,代码的托管***的选择无疑是亚马逊、谷歌或者微软,他们方便、便宜且全自动化还能够弹性使用……然而,我为什么要预测末日的到来呢,下面是我的陈述理由:

云计算无法满足长期的扩展需求

相信在看的大家都应该知道,即使在云中,构建一个可伸缩、高度可靠、可用的web应用程序也是相当困难的。如果贵公司完成了搭建,让自家的应用程序获得了巨大成功,其过程规模将花费众多财力和精力。即使业务顺利运行,云端最终也将达到极限,网络本身就具备限制性,计算机的速度和存储能力比网络带宽增长速度更快。我们忽略网络中立的争论,目前,这可能不是大多数(除去Netflix和亚马逊)的问题,但很快这些问题便会随着时间推进而闪现。随着我们从高清移动到4K到8K,我们通过网络推送的数据量正在疯狂增长,相信很快就会发生VR数据集的移动。

这个问题主要是因为我们组织网络的方式引起的。有很多客户想要获得内容和使用程序,却只有相对较少的服务器拥有这些程序和内容。就像,当有人在Slack上发布了一幅有趣的图片时,即时坐我旁边的20个人想看同样的图片,都必须从服务器上下载它,服务器需要发送20次。

当服务器迁移到了云上,即亚马逊或者谷歌的计算机或数据中心,这些地方的网络需要惊人的吞吐量来处理所有数据,还需要大量的硬盘存储每份数据并通过网络推送给需要它的每一个人。而如今,随着流媒体服务的兴起,这种状况变得更加糟糕。

云计算的集中和脆弱

集中存储数据和程序的另一个问题是可用性和持久性。如果亚马逊的数据中心被一颗小行星撞了或者被龙卷风摧毁了,怎么办?或者,它在一段时间内突然失效了,又怎么办?存储在机器上的数据现在不能被临时访问,甚至***丢失。

这些问题,通常是利用多个位置存储数据来缓解,但这仅仅意味着需要更多的数据中心。而这可能大大降低了意外损失的风险,但数据问题又能得到什么样的解决呢?如今,所有个人信息甚至重要的公共信息都存储在云端——在Facebook上,在谷歌Drive,iCloud,或者Dropbox等其他网站上,一旦这些服务发生故障或者企业资金链断裂,数据的结果又会怎么样呢?即使没有发生上述假设,这也限制了你对数据的使用,无论何时,你必须使用他们的业务才能处理自己的数据。

云计算需要信任,但无法为此提供任何保证

你的朋友如何相信自己接收到的数据是你所发送的数据,唯一的方法便是相信中间过程的传递。这在大多数情况下还是可以接受的,但是我们使用的网站和网络是由在国家注册的合法实体来运营的,这些国家的政府有能力安排中间商做很多事情。尽管大多数时间,这是一件好事,能被用来帮助解决犯罪或者协助删除网络非法内容,但在很多情况下,这种权力显然被滥用了。

云计算让我们和数据一起坐以待毙

高度集中互联网真正可怕的一面是个人数据的积累。对于提供服务的企业而言,我们每个人都需要利用这样或者那样的渠道来使用他们的服务,这便让服务商获取到了巨量的缓存数据,有了足够的个人信息,那么预测用户的购买倾向、投票倾向,买房倾向甚至会有多少孩子,都会被他们的掌握。更不用说办理信用卡和贷款业务这些信息,简直是绰绰有余。

或许这仍然可以接受,毕竟,云计算也是值得信赖的。但是,今年早些时候,信用报告机构Equifaxlost发生了1.4亿用户的大规模数据泄露,这些数据如今是公开的。我们暂时可以将此视为十年一遇的事情,前提是我们需要更加小心尽量防止此类事件的发生。但事实上,越来越明显的是,这样的数据泄露事件很难完全防止,数据处于一个危险的状况,要想真正阻止数据泄露的唯一方式就是不收集数据,然而这似乎是天方夜谭。

那么,什么将取代云计算呢?

一个主要由客户机-服务器协议(如HTTP)和基于对中央权威(如TLS)的信任的安全性是有缺陷的,并且会产生无法解决的问题。现在是寻找更好的替代品的时候了——一个没有其他人存储个人数据的模型,大型的媒体文件散布在整个网络,整个系统完全是点对点和无服务器的。

对于这个领域的新兴技术,点对点是未来无法避免的方向。点对点web技术的目标是用协议和策略来取代我们熟知的web的构建块,用以解决上面所述的大量问题。他们的目标是一个完全分布式的、***的、冗余的数字存储,在这个存储中,每个参与的客户机都在存储其中一些数据的副本。

如果你听说过BitTorrent,下面这些内容应该很熟悉。在BitTorrent中,数据用户将大数据文件分成小块(每个都有唯一的ID),不需要中央授权。为了下载一个文件,用户需要一个哈希内容的指纹。BitTorrent客户端将会找到相同文件碎片并下载的同伴,直到用户拥有所有的文件片段。

对于找到同伴的这个过程,BitTorrent使用了一种名为Kademlia的协议,在Kademlia中,网络上的每个对等点都有一个唯一的ID号,它的长度与唯一的块ID相同。它在一个节点上存储一个带有特定ID的块,该ID与块的ID“最近”。对于块和网络节点的随机ID,网络中存储的分布应该非常均匀。然而,不能随意选择块ID,而是使用加密哈希——这是块本身内容的唯一指纹——Content-addressable块。这也使得验证块的内容变得很容易(通过重新计算和比较指纹),另外提供一个块ID的保证,不可能下载到除了原始数据的其他数据。

使用内容散列进行寻址的一个有趣的特性是,通过将一个块的ID嵌入到另一个块的内容中,将两个块以一种不能被篡改的方式连接到一起。如果链接块的内容被改变,它的ID将会改变,链接将被打破。如果嵌入的链接发生了更改,那么包含块的ID也会发生变化。

这一机制将一个块的ID嵌入到另一个块的内容中,就可以创建这样的区块链,或者更复杂的结构,通常被称为定向Acyclic图形,或简称为DAGs。一个Merkle DAG的常见示例是Git存储库。Git将提交历史和所有目录和文件存储在一个巨大的Merkle DAG中。

这就引出了基于内容寻址的分布式存储的另一个有趣特性:它是不可变的,内容无法更改。相反,新的修订存储在现有版本的旁边,在修订之间没有更改的块会被重复使用,因为根据定义,它们具有相同的ID。这也意味着在这样的存储系统中不能复制相同的文件,转换为有效的存储。因此,在这个新网络上,每一张独特的图片只会被存储一次(尽管在整个存储群中有多个冗余副本)。

Kademlia和Merkle链以及Merkle DAGs等协议为我们提供了工具来建立文件层次结构和修订时间线,并在一个大规模的点对点网络中共享。已经有一些协议使用这些技术来构建符合我们需求的分布式存储。目前看起来很有希望的便是IPFS。

通过上述技术,我们可以解决不少我在开始概述的问题:我们在链接到Web的设备上获得分布式、高度冗余的存储,并且可以追踪文件的历史记录,并保存所有需要的版本,而这几乎解决了可用性、容量、持久性和内容验证的问题。另外,它还搞定了带宽问题,由于对等体之间互相发送数据,因此没有主要的热点。

从云计算到雾计算

从云端撤离是一个令人兴奋的未来。首先,在技术方面,我们应该对点对点网络中进行更多的优化。Content-addressable存储提供了密码验证的内容本身没有一个可信的权威,但托管内容的需求却是***性的(只要任何人类感兴趣),目前该需求正在以相当明显的速度提升,即使在发展中国家的边缘(甚至在另一个星球上)也是如此,但值得注意的是:要远离数据中心。

在某种程度上,甚至数据中心也可能成为过去。消费设备变得如此强大和无处不在,计算能力和存储几乎随处可见。

对于运行web应用程序的企业来说,这一变化将会带来显著的成本节约,尽量少的避免构建可靠的数字产品。另外,企业还会减少对云计算故障停工风险的关注,更多地关注增加客户价值。我们仍然需要云托管服务器,但它们只是众多同类中的一个。我们还可以看到异构应用程序,在这些应用程序中,并不是所有的对等应用程序都是相同的——在这些应用程序中,有面向消费者的对等体和后台的工作人员,它们是同一应用程序“集群”的一部分,而访问的差异仅在基于加密的访问级别上。

对于企业和客户来说,另一个巨大的好处是客户数据的处理。当不再需要集中存储大量客户信息时,丢失这些数据的风险就会降低。软件工程领域的***(如Erlang的创始人Joe Armstrong)长期以来一直认为, 客户将数据发送给企业所有程序的互联网设计是倒退的,我们应该将数据定向发送给客户,以执行他们私人持有的部分,而这些数据是不会直接共享的。这样的模型似乎更安全,也不会以任何方式妨碍企业收集他们所需要的有用的客户指标。

没有任何方式能够阻止某些服务不透明且持有私有数据。这种类型的应用程序架构似乎是一个更私密的做大规模计算和软件服务的方法——一种更接近于开放信息交换意愿的互联网, 任何人都可以轻松地向其他人发布内容,并控制可以发布和访问的内容是由网络用户共同决定的,而不是由拥有服务器的私人实体决定的。

责任编辑:吴金泽 来源: 互联网
相关推荐

2012-04-10 15:04:38

红帽

2018-03-08 10:33:48

2020-04-08 10:19:40

云计算云计算2.0

2012-09-10 09:28:51

2012-02-07 08:45:13

云计算服务器容错服务器

2010-04-15 11:54:55

面试

2010-04-19 15:58:33

互联网

2019-09-29 09:52:50

监控系统服务

2011-11-09 10:21:20

云计算IT岗位

2020-07-10 11:21:54

数据中心IT技术

2013-07-31 15:51:38

2015-07-16 09:29:47

云计算铁轨狂热OpenStack

2014-12-30 09:21:24

云计算数据中心IBM

2009-07-24 14:18:29

英国电信云计算

2012-09-28 09:47:18

大数据云计算

2010-03-26 16:38:14

云计算

2012-04-16 10:45:17

三层架构

2011-08-16 10:10:47

笔记本评测

2023-04-18 09:01:21

OpenAIGPT-4

2012-11-07 15:42:58

Windows 8内存

51CTO技术栈公众号