十年来,云计算备受瞩目,它提供给了新的计算模型,方便了服务的部署。但云并不是终点,未来仍将有新的计算模型推动新的服务,进一步方便我们的生活。本文将探讨云、雾、物共同组成的物联网生态系统;着重讨论雾计算和云相互配合形成的新计算模型。
毋庸置疑的雾计算
随着科技进步,各种技术名词也在快速发展。云计算、物联网、雾计算相信这些名词早已进入大家的视野。其中,雾计算的概念 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 的定义中,雾主要使用边缘网络中的设备。这些设备可以是传统网络设备(早已部署在网络中的路由器、交换机、网关等等),也可以是专门部署的本地服务器。一般来说,专门部署的设备会有更多资源,而使用有宽裕资源的传统网络设备则可以大幅度降低成本。这两种设备的资源能力都远小于一个数据中心,但是它们庞大的数量可以弥补单一设备资源的不足。
雾平台由数量庞大的雾节点(即上文中雾使用的硬件设备,以及设备内的管理系统)构成。这些雾节点可以各自散布在不同地理位置,与资源集中的数据中心形成鲜明对比。
根据以上内容,可以总结出雾计算与云计算的不同:
- 更低:雾节点在网络拓扑中位置更低,拥有更小的网络延迟(总延迟 = 网络延迟 + 计算延迟),反应性更强。
- 更多:相比较云平台的构成单位——数据中心,雾节点数量庞大。
- 更广:雾节点拥有广泛的地域分布。
- 更轻:雾节点更轻量,计算资源有限。
这些不同给雾带来哪些优点,是什么使它成为物联网生态中又一不可或缺的部分呢?
雾的优点
除了上文中提到的低延迟,雾计算还有以下优点:
- 省核心网络带宽:雾作为云和终端的中间层,本就在用户与数据中心的通信通路上。雾可以过滤,聚合用户消息(如不停发送的传感器消息),只将必要的消息发送给云,减小核心网络压力。
- 高可靠性:为了服务不同区域的用户,相同的服务会被部署在各个区域的雾节点上。这也使得高可靠性成为雾计算的内在属性,一旦某一区域的服务异常,用户请求可以快速转向其他临近区域。
- 背景信息了解:因为分布在不同区域,雾计算中的服务可以了解到区域背景信息,如本区域带宽是否紧张,根据这一知识,一个视频服务可以及时决策是否降低本地区视频质量,来避免即将到来的卡顿;而对一个地图应用,则可将本地区地图缓存,提高用户体验。
- 省电:数据中心的电力消耗已经成为重要成本,其中冷却系统占有不可忽视的比重。雾计算节点因为地理位置分散,不会集中产生大量热量,并不需要额外的冷却系统,从而减少耗电。
基于以上优点,雾能够弥补云的不足,并和云相互配合,协同工作。
云 + 雾
雾计算自提出就是作为云计算的延伸扩展,而不是云计算的替代。如前文所述,在物联网生态中,雾可以过滤,聚合用户消息;匿名处理用户数据保证隐秘性;初步处理数据,做出实时决策;提供临时存储,提升用户体验。
相对的,云可以负责大运算量,或长期存储任务(如:历史数据保存、数据挖掘、状态预测、整体性决策等等),从而弥补单一雾节点在计算资源上的不足。
这样,云和雾共同形成一个彼此受益的计算模型,这一新的计算模型能更好的适应物联网应用场景。
用例
目前的城市道路监控系统,从监控探头到本地中心机房的通信跳数一般在 3~4 跳甚至更高,如果系统需要做出实时决策会面临网络延迟的挑战。
图 3 用例——智能交通灯系统
图中所示是一个智能交通灯系统,除了监控探头作为传感器,还有交通灯作为执行器。雾计算的引入将为这一系统带来更多的可能性。如:
- 监控过程中,相比上一帧画面,通常只有一部分画面变化,而另一部分不变,非常适于压缩处理。对于需要人为监控的画面,雾节点将视频流直接转发给中心机房;而其他监控视频只需要存储,对实时性要求不高,可以在雾节点处缓存若干帧画面,压缩后再传向中心机房。这样从雾节点到机房的网络带宽将得到缓解。
- 在雾节点处,可判断监控画面中是否有救护车头灯闪烁,做出实时决策发送给对应交通灯,协助救护车通过。
上例仅是智慧城市中的一个具体缩影,雾计算在智能电网、车联网、智慧家庭等领域的应用场景不胜枚举。
挑战
雾计算带来新的可能性的同时,也在安全性、高效利用资源、API 等方面带来了新的挑战。
- 雾使用大量分散设备,使中心化的控制变得困难;
- 雾节点的资源相对受限,需要节点间的协同配合,才能优化各服务的部署;
- “何时将服务迁移至何处”则是应对移动终端设备,动态的应用场景需要考量的问题。
随着雾计算概念的发展,雾被进一步扩展到“地面上”。雾节点不再仅限于网络边缘层,还包括拥有宽裕资源的终端设备。
图 4 雾计算发展定义图示
终端设备与用户直接交互且数量庞大,在丰富雾的设备种类的同时,也带来更多动态属性,如电池电量、雾节点移动性等问题需要解决。
结语
本文从物联网的应用场景出发,由终端设备的资源限制谈到对云的需求,再由云在网络中的位置造成的限制谈到雾。和大家共同探讨了云雾的对比、云雾的结合、雾的优点、雾的应用、雾的挑战。希望以此文抛砖引玉,和大家共同关注科技发展趋势。
参考文献
[1] Fog Computing and Its Role in the Internet of Things. Flavio Bononi and al, Cisco. ACM SIGCOMM International Conference on Mobile Cloud Computing, August 2012.
[2] http://www.openfogconsortium.org/
[3] http://beyondtheclouds.github.io/dcc.html
[4] http://www.huawei.com/cn/news/2016/4/All-Cloud-Strategy
[5] Increasing Network ROI with Cloud Computing at the Edge. Intel Solution Brief, 2014.
[6] Announcing the “Edge computing” concept and the “Edge accelerated Web platform” prototype to
improve response time of cloud. NTT Press Release, January 2014.
感谢魏星对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论