边缘计算技术与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 从云到边缘

1.1.1 云计算

1983年,Sun提出“网络即电脑”(The Network is the Computer),这被认作云计算的雏形,随后计算机技术的迅猛发展及互联网行业的兴起似乎都在向这个概念不断靠拢。

在这个不断靠拢的过程中,首先写上浓重一笔的是亚马逊(Amazon)。Amazon创始人Jeff Bezos在2002年左右下达了一份强制命令,要求Amazon公司从内部转变成面向服务架构(SOA)体系。在此举的推动下,Amazon公司把一切以服务为第一作为企业文化。2006年3月,亚马逊推出弹性计算云(Elastic Computing Cloud,EC2),按用户使用的资源进行收费,开启了云计算商业化的元年。

紧随Amazon公司推出AWS之后,Google、IBM、Yahoo、Intel、HP、VMware、Microsoft和阿里巴巴等公司开始进入云计算领域,相继开展云计算业务,并将云计算作为它们业务转型的重点而大力发展。Google推出了Google Cloud Platform,IBM推出了IBM Cloud,Microsoft推出了Azure,阿里巴巴推出了阿里云,腾讯推出了腾讯云,中国电信推出了翼云等。

除了商业系统和软件,2010年7月,美国国家航空航天局(NASA)与Rackspace、Intel、AMD、戴尔等共同宣布OpenStack开放源码计划,由此开启属于OpenStack的时代。发展至今,OpenStack逐渐成为云计算基础架构即服务(IaaS)的事实标准。到目前为止,OpenStack基金会会员已达一万多名,覆盖世界近200个国家和近700个组织,成为仅次于Linux基金会的第二大基金会组织。如今,OpenStack的企业会员也超过了100家。

OpenStack号称是支持裸机、虚拟机和容器的综合管理平台,但还是以虚拟机和裸机为主,其对容器的支持是随着云原生的发展才逐步加进来的。容器可以帮我们把开发环境及应用整体打包带走,打包好的容器可以在任何环境下运行,从而解决了开发与运维环境不一致的问题。

容器技术成为对云计算领域具有深远影响的技术。作为容器的“重度玩家”,Google在其内部的成百上千台服务器上夜以继日地运行着数以十亿计的容器,并开发出了自己的容器管理工具集,用于管理巨量的基础设施——Borg,而就在几年前,Borg团队将多年积累的容器运行编排管理经验聚集到了一个名为Kubernetes的新项目中,并将其开源。2015年,Google将Kubernetes项目捐赠给了新成立的CNCF基金会。

Kubernetes诞生之初,便占尽天时地利人和。一方面,Kubernetes的创始人均为Google的天才工程师;另一方面,它源自Google的Borg,而Borg的能力已在Google内部得到了充分验证。因此可以说Kubernetes“天生”自带光环,自“出生之日”起,Kubernetes就受到了各大IT科技巨头的追捧,RedHat、华为、IBM、Microsoft、VMware等企业迅速加入社区贡献者行列。

Kubernetes项目的设计理念从一开始就避免和Docker Swarm、Apache Mesos同质化,由于设计理念超前且有众厂商推崇,Kubernetes很快在容器编排领域占据了上风。至此,Kubernetes凭借各厂商的全力支持及大比例的市场份额获得了全面胜利,成为容器编排领域的事实标准。

1.1.2 雾计算

雾计算首先由美国纽约的Columbia大学的Stolfo教授于2011年提出,随后在2012年,Cisco正式提出了雾计算的概念,并对其进行了详细阐述。雾计算认为数据、数据处理和应用程序都集中在网络边缘的设备中,而不是绝大部分位于集中式的数据中心里。雾计算模式源于“雾是更贴近地面的云”,是云计算的延伸。

云在天空飘浮,高高在上,遥不可及,刻意抽象;而雾是现实可及的,贴近地面,就在你我身边。雾计算并不是由大量性能强大的服务器构成的,而是由性能较弱、更为分散的各类功能计算机组成的,渗入工厂、汽车、电器、街灯及人们物质生活中的各类用品和场景中。

云计算和雾计算并没有本质上的区别。正如水蒸气在天上叫云,水蒸气靠近地面叫雾。同理,服务器计算机放在数据中心中就叫云计算,放在边缘就叫雾计算。那什么是边缘呢?边缘就是小型数据中心、小型机房,就是更靠近设备那一端的地方,也是更靠近用户的地方。这就是边缘计算要依赖且用到所谓的雾计算的原因。

2015年11月,Cisco、ARM、Dell、Intel、Microsoft和Princeton大学等机构联合发起成立开放雾计算联盟OpenFog,定义了雾计算架构,将计算、存储、网络资源分布到更靠近用户边缘的地方。该联盟旨在加速采用与物联网和人工智能相关的边缘计算,建立最佳实践和架构框架,并创建指南文档。到目前为止,其成员已经发展到了60多家。

1.1.3 边缘计算

早在1995年,麻省理工学院教授、互联网的发明者Tim Berners-Lee就预见了未来互联网使用者会遇到网络拥挤的难题,并向他的同事发起挑战,要发明一种全新的互联网内容分发方法。之后,在Tom Leighton的带领下,麻省理工学院一干研究人员先后加入难题攻坚队伍,发明了内容分发网络(CDN)技术架构。1998年,他们实施了商业计划,在麻省理工学院组建了Akamai公司。当时Akamai推出的CDN网络平台,就是边缘计算的雏形。与现代边缘计算不同的是,当时的边缘计算只负责存储和数据边缘化。

边缘计算的发展与云计算的发展有着千丝万缕的联系。云计算用户迟早会遇到网络拥挤、延迟高、实时性差和性能瓶颈等难题,从而逐渐无法满足业务需求,这时就需要扩展和延伸到所谓的边缘计算。简单地说,边缘计算是把计算移到了用户那一端,移到了靠近数据产生的地方,避免或减少数据在网络中从数据产生的地方到数据中心的传输。有的人甚至把云计算和边缘计算的区别形象地比喻为:云计算是把数据移到代码那一端,而边缘计算是把代码移到数据那一端。

举一个用监控判断交通违法信息的例子来具体说明:在马路监控端捕捉到了汽车的交通违法视频之后,可以将其传到边缘站点,对视频进行图像提取、车牌定位、字符分割及最终车牌识别。如果没有边缘计算,那么视频需要被传到远程数据中心做违法判断及车牌识别,而且随着时间的推移,需要传送的数据越来越多,对网络带宽和应用实时性而言是很大的挑战。如果数据能在本地边缘站点被处理,那么就节省了数据传输的时间,节约了网络带宽。

违法事件和违法车牌分别在本地被监测和识别到,只传送结果信息,这就是边缘计算;如果需要把视频传到远程数据中心进行处理计算,那么就是云计算。通过比较,边缘计算的优势一目了然。交通违法检测只是一方面,对于一些对实时性要求特别高的应用,诸如人脸识别、烟雾报警、人口密度指数预警防踩踏事件、动态监测、双摄像头测距、森林防火、天气监测、自动驾驶等,边缘计算的优势就大大地发挥出来了。

在边缘计算发展史里,为它画上浓重一笔的是欧洲电信标准化协会(ETSI)。2014年,ETSI成立了移动边缘计算标准化工作组,预先开始推动相关的标准化工作。ETSI提出了MEC这个概念,起初定义它为移动边缘计算(Mobile Edge Computing)的简称。到2016年,ETSI逐渐把MEC的概念扩展为多接入边缘计算(Multi-Access Edge Computing)的简称,目的是把边缘计算能力从电信蜂窝网络进一步延伸到其他接入网络,并逐步形成边缘计算标准和参考架构。

自从有了MEC,可以说边缘计算得到了众多厂商,特别是电信厂商的推崇,并开始蓬勃发展。