雾计算是什么?作为云计算的延伸扩展有何玄机

2016-07-29 12:34:03     作者:科技蜘蛛      来源:雷锋网

雾计算自提出就是作为云计算的延伸扩展,而不是云计算的替代。

雷锋网(搜索“雷锋网”公众号关注)按:本文作者夏晔,法国电信博士研究生,关注雾计算、云计算、分布式计算领域。

随着科技进步,各种技术名词也在快速发展。云计算、物联网、雾计算,相信这些名词早已进入大家的视野。其中,雾计算的概念2011年由Cisco提出 [1],相对较新。时至今日,雾计算已经成为研究的热点和重点,并被业界寄予厚望。

然而,笔者仍能看到对雾计算没有根据的质疑,无外乎两种:

不就是本地服务器吗?

云里雾里的,炒作呢吧?

雾计算远远不止那么简单,它是对数以万计的“本地服务器”整体性的考量。它是一个平台而不是单独一台机器。在后续内容中,我们会深入探讨。

看看世界上的科技巨头们选择的方向吧,以下所有项目都与雾计算有莫大关联。他们花费大笔资金精力聘用顶级科学家来炒作?

Arm、Cisco、Dell、Intel、Microsoft以及普林斯顿大学共同投资创办的雾计算研究项目OpenFog[2] 

Orange (法国电信) 与Inria(法国国立计算机及自动化研究院)共同主导的雾计算与大规模分布式云研究项目Discovery[3]

华为的“全面云化”战略[4]

Intel的“Cloud Computing at the Edge”项目[5]

NTT的“Edge Computing”项目[6]

AT&T的“Cloud 2.0”项目。

对于这种质疑,笔者希望用本文揭示雾计算的重大价值。

从物联网说起

智慧城市、智能家庭,种种可预见的物联网应用在未来将极大地方便人们的生活。然而目前市场上智能终端设备的智能程度普遍令人不满。那么这个“智能”应来自哪里?怎样才能保障设备的智能呢?

计算机智能的基础就在于其背后的资源,如CPU、内存、硬盘、网络带宽等计算资源(更确切的说法,会将CPU、内存归类于计算资源;硬盘归于存储资源;带宽归于通信资源。本文为了简化,统一将它们称作计算资源);视频、温度、光线强度等传感器提供的数据资源;当然还有电力等等。

在这些资源中最核心的就是计算资源,通过计算提取数据中的知识、做出决策;通过存储来保存知识库,从而根据历史经验保证决策准确,做出预测;通过通信完成设备间的沟通,实现知识与决策的分发。基于以上,才能给用户智能的服务与体验。

那么现在设备的不够智能,症结是否在于设备的CPU不强,内存硬盘不够大呢?

终端的不足

我们无法想象把基站安装在每部手机上,同样的,我们无法想象每台设备都拥有大量资源,这将大幅度提高成本,无法形成有效的解决方案。

当资源不足时,一个直观的想法是将计算任务交给其他计算能力强的设备。物联网中有大量的终端设备,它们无法在本地完成计算做出决策,那么应该由谁来解决终端设备的资源不足呢?大家想到了云。

云的不足

云计算平台为云用户提供数据中心中的资源。近十年来,云计算充分的向人们展示了它的优越性:

“无限”的资源池

大量用户共享资源池带来的廉价资源

随时随地用任何网络设备访问

“快速”重新部署,弹性的资源租用

按需购买,自助服务

服务提供商把特定服务部署在云中,终端设备发送信息给服务,服务完成运算后将结果发回给终端,并将必要数据在云端存储。通过这种形式,云充分满足了终端设备的资源期待,也成为物联网生态系统中不可缺少的一环。

为了服务不同地理位置的用户,在互联网的多层次结构中,数据中心位于核心网络。核心网络距离终端用户较远,用户消息需要经过若干跳才能够到达。下图是简化的一部分网络拓扑。


图1 互联网网络拓扑图示

数据中心提供了高度集中的大量资源,然而只有云仍有一些不足。

高延迟:离用户较远的距离导致了较高的网络延迟。对实时性要求高的应用难以部署在云中。


网络拥塞:根据 Cisco 的预测,到2020年,全球将有500亿智能设备。相较而言,网络带宽的增长速度远远滞后。如果大量的物联网应用部署在云中,将会有数量庞大的传感器原始数据时刻不断的涌入核心网络,带来核心网络拥塞。


较低可靠性:安全,生命相关的物联网应用,一旦遇到应用失效,数据中心失效,或从终端用户到云平台的任何一段网络失效,都将带来重大的安全隐患。从终端到云的通信通路较长,失效风险较大;而在云中部署服务备份的成本也较高。

可见,对实时性,大数据,可靠性要求高的应用,云并不适合。人们需要新的计算模型来满足未来的应用,弥补云的不足。雾计算正是在这种背景下被提出的。

雾计算

雾计算是个很形象的名称,提出它的Ginny Nichols提了一个有趣的说法“雾是接近地面的云”。

这句话有两层含义:

雾计算和云计算有很多相似。如它们都基于虚拟化技术,从共享资源池中,为多用户提供资源。

接近地面。这也指出了雾和云第一个不同——位置。更具体些,是它们在网络拓扑中的位置。

图2 雾计算原始定义图示

上图是根据Cisco对雾计算的原始定义[1]所作的图示。在Cisco的定义中,雾主要使用边缘网络中的设备。这些设备可以是传统网络设备(早已部署在网络中的路由器、交换机、网关等等),也可以是专门部署的本地服务器。

一般来说,专门部署的设备会有更多资源,而使用有宽裕资源的传统网络设备则可以大幅度降低成本。这两种设备的资源能力都远小于一个数据中心,但是它们庞大的数量可以弥补单一设备资源的不足。

雾平台由数量庞大的雾节点(即上文中雾使用的硬件设备以及设备内的管理系统)构成。这些雾节点可以各自散布在不同地理位置,与资源集中的数据中心形成鲜明对比。

根据以上内容,可以总结出雾计算与云计算的不同:

更低:雾节点在网络拓扑中位置更低,拥有更小的网络延迟(总延迟=网络延迟+计算延迟),反应性更强。

更多:相比较云平台的构成单位——数据中心,雾节点数量庞大。

更广:雾节点拥有广泛的地域分布。

更轻:雾节点更轻量,计算资源有限。

这些不同给雾带来哪些优点,是什么使它成为物联网生态中又一不可或缺的部分呢?

雾的优点

除了上文中提到的低延迟,雾计算还有以下优点:

省核心网络带宽:雾作为云和终端的中间层,本就在用户与数据中心的通信通路上。雾可以过滤,聚合用户消息(如不停发送的传感器消息)