这篇文章没有干货,都是很虚的概念上的东西。作为leader交代的一个任务,我整理了一下边缘计算的有关内容。以下大部分内容是根据自己这两天的调研写的,如果有不对的地方希望指正。
google搜索边缘计算的结果大多是一些市场销售人员或科技杂志作者撰写的IT新闻、白皮书之类的,这些人的共同点是都善于营(忽)销(悠)。我个人觉得边缘计算就像物联网、区块链一样,只不过是炒概念而已,即把传统的技术用一些陌生的概念重新包装一下。一方面,这些作者想方设放将边缘计算跟AI、增强现实等高大上的概念扯上关系,另一方面,边缘计算与云计算密切相关,借力云计算的成功,边缘计算就更容易忽悠投资人了。
什么是边缘计算?
云计算(cloud computing)从2005年进入我们的视线至今已经发展了12年,商业应用取得了巨大的成功,边缘计算(edge computing)则是云计算继续发酵的产物,目前还处于概念阶段。
那么到底什么是边缘计算呢? 引用Wikipedia对Edge computing的定义,边缘计算是指:
Edge computing is a method of optimising cloud computing systems by performing data processing at the edge of the network, near the source of the data.
与将数据传到远程的云端进行处理相对,边缘计算则是在靠近数据源头的网络边缘提供计算和存储资源。
通俗的说,边缘计算是去中心化或分布式的云计算,原始数据不传回云端,而是在本地完成分析。看好边缘计算的人认为计算能力正在从云端向边缘移动,因此边缘计算会成为下一个像云计算这样成功的技术爆发点。另一方面,边缘计算是驱动物联网的关键技术,因此边缘计算的推动者往往是从事物联网的人。
有了定义还不足以理解边缘计算,你可能会问到底什么是边缘呢?
边缘是一个很笼统的概念,它是指接近数据源的计算基础设施,不同的边缘计算提供商往往有不同的边缘。比如美国电信公司AT&T的边缘就是离客户几英里的蜂窝网络基站;对于世界最大的CDN厂商阿卡麦,边缘则是指遍布全球的CDN设备;对于机场的监控设备,边缘就是覆盖整个机场无死角的高清摄像头。
云计算、边缘计算、雾计算
云计算发展至今还未到达顶峰,企业将服务迁移至云上正处于预热阶段,在一些营销的推波助澜下又冒出了个边缘计算,甚至雾计算(fog computing)。下面谈一谈他们的区别和联系。
云计算与边缘计算
云计算的概念应该是比较明确的了——一种按使用量付费、通过网络提供的虚拟资源,这些资源包括服务器、运行环境和软件,它们分别对应IaaS、Paas和SaaS。
下面引用IIOT EDGE COMPUTING VS. CLOUD COMPUTING的观点来解释云计算和边缘计算的区别。
传统的云计算架构要求客户端将数据推送到中心服务器然后再拉回来,比如我们每天都在使用的icloud帮助我们备份照片、短信等。然后这种集中式的云架构对时间敏感、带宽稀缺的工业物联网就不再适用,因此某些关键数据的处理任务最好是在数据源而不是云端,边缘计算应用而生。
云计算和边缘计算共同参与的物联网解决方案
边缘计算并不会替代云计算,他们是相辅相成的,简单的说就是大量的计算任务在离用户最近的边缘计算节点上完成,只有少量的数据需要传到云计算中心。它们扮演的角色如下所示:
CLOUD COMPUTING
- Complex analytics
- Big Data mining
- Sources of business logic
- Machine learning rules
- Advanced visualizations
- Long term data storage/warehousing
EDGE COMPUTING
- Basic data visualization
- Basic data analytics and short term data historian features
- Data caching, buffering and streaming
- Data pre-processing, cleansing, filtering and optimization
- Some data aggregation
- Device to Device communications/M2M
边缘计算与雾计算
思科最早使用雾计算这个术语来描述网络边缘的计算层,可以对数据进行预处理,使数据快速,安全地传输到云端。雾计算与边缘计算非常接近,但也是有区别的。
以下观点来自Fog Computing vs. Edge Computing: What’s the Difference?,这篇文章采访了该行业内两位比较权威的从业人士:
- David King是一家为工业和商业物联网开发边缘智能软件的公司FogHorn Systems的CEO;
- Matt Newton是一家生产控制器、I/O设备、中继器和连接边缘设备到网络的软件制造商Opto 22的技术市场主管;
雾计算与边缘计算都是将智能和计算能力推向靠近数据来源的位置,因此他们常常被混用。他们的区别也正是计算能力(大脑)所处的位置:
- 雾计算将计算能力推向局域网,在雾节点或物联网的网关处完成数据处理
- 边缘计算将边缘网关的智能,处理能力和通信能力直接推送到诸如可编程自动化控制器的设备
三者的关系如下所示(图片来自Fog vs Edge Computing):
边缘计算的优势与问题
云计算面临的问题
现在的云计算都是集中式的,即把服务器集中在某一个地方,为了使用云计算的计算资源,数据需要先被传输到距离用户很远的数据中心然后集中处理。但是很多设备都无法接入云端,大致是以下两个原因:
-
数据量大:对于巨大的数据量,这种传输带宽成本难以接受;比如通用电气很早就意识到工业机床上的传感器产生的大量的数据需要在设备边缘进行处理,只将有最有价值的数据移到云端进行机器学习并且在不同设备之间共享(Edge computing could push the cloud to the fringe)
-
速度:对于要求低延迟、密集型计算的智能设备,比如头戴式VR,机器人,无人机等,受限于网络传输延迟而无法享受云计算的强大计算资源,这些设备还面临一个共同的问题,就是电池续航时间短;
边缘计算概念的提出就是为了解决这样的问题。 在边缘计算中,传感器,控制器和其他连接的设备本身收集和分析物联网数据,或将其传输到附近的计算设备(如服务器或笔记本电脑)进行分析。当数据处理和分析发生在网络边缘(与数据中心或云相对)时,数据可以立即分析并投入运行。
边缘计算的优势
Sprint公司的物联网事业部经理Mohamad Nasser在Four advantages of edge computing一文中给出了边缘计算的应用实例,并阐述了边缘计算的四个优势。
openedgecomputing.org 的首页上言简意赅的列出了边缘计算的两条优势。
结合维基百科的观点,将以上内容整理后总结如下:
- 接近实时的数据处理:因为数据是在边缘结点进行分析,降低了延迟,提升应用的响应速度
- 减少数据传输:数据不需要推送到遥远的云端,减少智能设备和数据中心传输的数据量,节省带宽成本,同时还能减小核心网络的拥堵。比如facebook等社交软件的用户上传的照片在边缘调整到合适的分辨率再上传到云端
- 数据安全:一些比较敏感的数据直接在边缘进行分析,不用当心数据泄漏
- 提高可用性:分担(offload)了中心服务器的计算任务,一定程度上消除了主要的瓶颈,并且降低了出现单点故障的可能,
边缘计算的问题
任何东西都是有缺点的,如果只看到优点说明理解的不够深入。边缘计算还处于概念阶段,同样存在很多问题,比如:
- 使边缘设备具有处理能力意味着更高的成本和更容易被入侵的危险;
- 在大量的边缘设备上进行应用部署和服务监控会成为一个棘手的问题;
- 在边缘进行分布式计算并与云端协调任务会让应用编程变得更加复杂;
边缘计算与CDN
CDN的作用简单的说就是通过将图片、视频等静态文件缓存到接近用户的节点上,降低直接访问源站的延迟,从而实现加速。
CDN公司拥有遍布各地、接近用户的庞大服务器集群自然成为了优势明显的边缘计算资源,因此结合CDN技术的优势,向客户提供边缘计算服务成为了传统CDN公司向创新型服务商转变的一个新的突破点。
以下是边缘计算在CDN的探索性应用:
-
国内CDN行业的龙头老大网宿认为未来CDN的演进方向之一是形成边缘计算系统。因此,网宿科技对MEC有着清晰的规划。网宿科技将通过布局集中式数据中心+边缘计算节点,用中心云+边缘云的方式承载未来。此外,公司正在升级现有CDN节点为具备存储、计算、传输、安全功能的边缘计算节点,部署数量更多的边缘计算节点到距离用户更近的城域网(出处:深度报告:移动边缘计算,站在5G“中央”)。此外网宿基于边缘计算的方式,成功研发出边缘弹幕分发技术,所有的弹幕在网宿平台上直接进行分发,不用再回源,解救了直播平台弹幕压力大的一大痛点。(出处:CDN掀起二次变革:从传输服务到边缘计算)
-
阿卡迈在全球节点上除了做传统CDN分发之外,还利用自身分布式运算的能力,帮助用户解决业务逻辑问题。举个简单例子,阿卡迈在云端部署方面,可以精确识别用户所在的位置和用户所使用的浏览器类型。还能精确识别这个客户所在的运营商所属的组织机构等。利用这些信息,我们就可以在云端帮助客户做一些逻辑判断,帮助用户完成在云端的一些通用型逻辑处理,例如把来自手机的访问自动重定向到M站(手机站),以及将浏览器语言自动定向到所属国家和地区。通过云端的逻辑智能处理,就大大节省客户在应用编码上的时间,上述的这些技术都已经产品化,并已经是经过很多客户验证过的解决方案,让客户通过简单的配置在几小时之内在云端实现,降低操作的难度以及缩短部署推向市场的时间(出处:阿卡迈梁世鹏:云计算与CDN是一对天生的孪生兄弟)。阿卡麦通过与IBM合作,使客户可以直接将java应用部署到分布在全球的边缘设备上,实现就近计算,提升用户体验(出处:Akamai, IBM team for edge computing)。
-
英特尔提出了利用CDN节点直接进行视频转码、分发和存储的视频直播解决方案,数据不用回流到源站,大大节省了带宽资源,并且获得更好的用户体验(出处:边缘计算揽洪荒之力挺直播大潮 GPU携深度学习助智能CDN)。
更多资料
如果希望对边缘计算有更多的了解,请参考以下论文:
- Edge Computing: Vision and Challenges, IEEE INTERNET OF THINGS JOURNAL, VOL. 3, NO. 5, OCTOBER 2016
- The Emergence of Edge Computing, Computer 50.1 (2017): 30-39.