1.1.2 挺进边缘计算

边缘计算其实和最近流行的去中心化的概念有一定的关联性和相似性,不过涉及的领域更广泛。边缘计算理论和应用的发展也经历了一个比较漫长的过程。

边缘计算的起源可以追溯到20世纪90年代,Akamai建立了世界上第一个内容分发网络(Content Delivery Network,CDN)系统。当时,这项技术的提出和实施是为了提高访问互联网网页的速度。20世纪90年代的互联网传输速度普遍还比较慢。受到硬件设备和基础设施的影响,跨越比较长的地理距离的数据传输延迟和丢包非常严重。当时互联网用户打开一个网页经常要等待很长时间,甚至直接超时和报错。以Tom Leighton为首的一群麻省理工学院的学者为了解决这个问题,提出了把网页的静态(图片、脚本等)内容放在距离用户地理位置接近的节点上,并通过算法提供分布式资源访问的CDN系统。其本质是一种本地的静态资源缓存服务,以提高浏览Web页面的速度。同时,CDN也有效地分流了主服务器的压力,这使网站的并发性得到很大提高。直到现在,CDN依然是提高互联网应用访问速度,提高Web服务器并发能力的重要技术手段。

1997年,Brian D. Noble发表了论文Agile Application-Aware Adaptation for Mobility 。这篇论文实际上奠定了分布式网络应用的基础。文章中介绍了如何将不同的应用(网页浏览、视频播放、语音识别等)分散运行在资源非常有限的移动设备上,以降低对服务器处理一些特定功能的要求。

2001年,可扩展和去中心化的应用开始出现。这些应用有一个大家非常熟悉的名字,叫P2P (Peer-to-Peer)应用,也称为P2P覆盖网络(Peer-to-Peer Overlay Networks)。这种应用是将网络中存储的对象通过分布式哈希算法进行分块和传输,每个计算机节点以平等的方式连接在网络上,可以同时接收和传输分块的存储内容。这种新的网络技术迅速被互联网文件下载和视频播放软件采用。P2P技术提高了整个网络的利用率,不但降低了连接数据中心的主干网的压力,而且对降低媒体类应用的延迟有非常大的帮助。

云计算技术,尤其是IaaS和Paas的出现和应用,对边缘计算技术的发展也有着巨大的促进作用。很多云计算应用中涌现出来的新技术,比如容器服务、Serverless应用等也是边缘计算的重要技术基础。2006年,亚马逊公司正式推出了其弹性云计算服务,事实上开创了一块崭新的领域。尽管云计算是IT基础服务领域中的一个巨大成就,但也有着自身的局限性。随着智能移动设备、自动驾驶、智能家居和工业物联网的发展,中心化的云计算服务开始显得力不从心。这些新的应用场景需要有大量廉价的边缘计算和存储能力,用于满足低延迟的响应和数据传输。而且很多应用并不需要一个中心化的处理系统,完全可以通过边缘设备处理,这样可以大大减轻云计算数据中心的计算压力。

微云和雾计算是边缘计算的前身,再往前迈一步其实就是边缘计算了。早在2009年, Satyanarayanan等人就提出了微云(Cloudlets)的概念。当时他们关注的问题主要是终端应用在调用云服务时的延迟性。由于互联网本身的局限性,通过互联网提供服务的云计算平台在应对网络延迟和可用性这些不确定因素时,并没有什么好的策略。Cloudlets其实就是把一些小型的低成本数据中心部署在距离实际的客户或终端设备地理位置比较近的地方,以弥补中心化的云服务系统的不足。

Cloudlets的设计思路其实和CDN非常相似,但是其主要提供的是数据存储和计算能力。2012年,思科(Cisco)公司在Cloudlets的基础上提出了雾计算(Fog Computing)的概念,其基本想法还是把云计算的能力分散到不同的地理位置,更加靠近实际使用云服务的终端设备和终端用户。解决方案是,在大量不同的地理位置建立小型的云计算中心。其最终目的是要提供更加可靠和可伸缩的物联网服务,以应对数量越来越庞大的物联网设备和它们产生的海量数据。图1-1所示是边缘计算技术的发展历程。

图1-1 边缘计算技术的发展历程

为了应对大规模的物联网应用,云计算+边缘计算的概念终于出现了,这也是本书要介绍的重点内容。如今,物联网解决方案涵盖了非常广泛的领域和技术。我们看到,今天大多数最新的物联网方案都是结合了云计算和边缘计算的综合方案。云计算和边缘计算是互相补充和互为依靠的关系。目前,当企业需要执行计算资源密集型任务或需要大量的存储资源时,采用云计算技术应是首选方案。

很多应用必须依靠强大的云平台实现,比如大数据分析、大规模样本的人工智能学习、数据可视化、流数据处理,以及传统的基于关系型数据库的企业应用软件。而那些需要本地自动执行、低延迟、能够应对低可用性网络连接、实现快速响应的应用,则需要采用边缘计算的软硬件解决方案。由于终端设备、网络技术和传感器技术的发展,连入互联网的设备数量将呈爆发式增长,如图1-2所示,边缘计算领域将会是未来发展最快的IT领域之一。2019年10月,Gartner公司在2020年十大战略性技术研究趋势报告Gartner Identifies the Top 10 Strategic Technology Trends for 2020中提到,The Empowered Edge(增强的边缘计算)和Distributed Cloud(分布式云计算)是其中的两个方向。

文章中指出,“当前对边缘计算的大部分关注主要来自物联网系统的需求。这些物联网系统需要工作在网络不稳定和分布式的环境中。边缘设备为制造、零售等特定行业的嵌入式设备提供服务。但是,不久的将来,边缘计算会成为几乎所有工业领域应用的主导因素之一。未来,会有更加先进和专业的计算设备和存储系统助力边缘计算。各种复杂边缘硬件和软件,比如机器人、无人机、自动驾驶汽车和分布式操作系统,将加速这一进程。”

图1-2 连入互联网设备的增长情况和预测

来源:Capra M, Peloso R, Masera G, et al. Edge computing: A survey on the hardware requirements in the internet of things world[J].

Future Internet, 2019, 11(4): 100.