购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 边缘计算简史

边缘计算技术并不是突然出现的,而是计算机技术发展和演进的结果。本节首先回顾IT基础技术的演进,介绍信息系统架构的几个主要发展阶段,然后介绍边缘计算的发展过程、主要技术和发展趋势。

1.1.1 IT基础技术的演进历史

在短短的几十年里,IT技术的基础架构已经经历了好几轮天翻地覆的变化,从最早期的大型机到客户端/服务器,再到云计算,再到如今的边缘计算时代。可以看到,IT基础架构每隔20年左右就会有一次比较重大的转变。

1.20世纪60年代初至20世纪70年代末:大型机时代

这个时代是计算机技术发展的起步阶段,那时大型的主机系统是非常昂贵和精密的。通常,一台计算机就要占满整个机房,所有的计算任务基本上都在物理机房里完成。数据和程序通过极端难用的终端设备输入计算机,然后等待程序执行和处理。大型机不但操作起来十分烦琐,而且学习这些机器的使用方法也非常困难,因此大型机必须由专业人员操作、维护和保养。例如,早期的航空公司订票系统需要手工录入规定字体的数据,然后将这些录好的数据卡片输入计算机系统进行处理,效率极为低下。在美国的一些航空公司,至今还保留着这些古董级系统。

2.20世纪70年代末至2006年:客户端/服务器时代

时间到了1978年,Intel公司发布了微处理器芯片8086和8088,推动微型计算机逐渐成为计算机系统的主流。这个时期以苹果电脑和IBM兼容机为代表的PC(个人计算机)逐渐发展起来,PC的运算能力越来越强,很多办公和游戏软件可以单独运行在PC中。从20世纪80年代后期开始,互联网进入了高速发展阶段。伴随着网络时代的来临,大量的PC连接到了互联网上。客户端+服务器模式的网络应用开始成为主流,其中包括C/S模式和后来的B/S模式。互联网公司开始发展起来,它们的服务器技术一开始就采用了普通商用微型机硬件和架构。例如,谷歌公司最早的服务器就是自组装的Intel X86系统的集群。那时应用程序的用户访问量和IT系统的复杂程度还远远不能和现在相比。微软公司这样新崛起的科技巨头还只是专注于单机的操作系统和应用软件。传统企业IT系统的基础设施需求通常只需要几台IBM或HP的商用服务器,再加上少量的存储设备就可以满足。当时的互联网公司也是自己建立数据中心,维护从服务器到网络的所有IT基础设施。

3.2006年至2020年:云计算时代

这个时期,互联网应用从种类到用户数量都出现了爆发式的增长。紧接着,随着移动通信技术的发展,移动互联网应用也开始逐渐发展起来。移动互联网技术从2015年开始成为主流,如今互联网已经无处不在,成为整个现代社会的基础设施之一。不仅高科技企业,传统企业的经营和管理也在不同程度上完成了数字化。事实上,现代企业的一个重要特征就是管理和运营的全面信息化。而站在信息化浪潮尖端的互联网企业需要处理海量的数据,并向大量的用户提供服务;互联网企业需要维护成百上千台计算机组成的庞大集群。大规模分布式计算的理论和实践随着产业界的需求,逐渐发展和完善起来。

与此同时,传统企业对信息技术的需求也大大增加了,有一定规模的企业通常也需要维护大型的数据中心才能支撑各种企业信息系统。这些信息系统产生的大量数据又需要更大规模的存储系统。IT系统的支出已经成为每个企业运营费用的很大一部分。对基础设施,比如服务器、网络设备和存储设备的采购和日常运维会产生非常大的成本;此外,经验丰富的IT系统专家其实并不容易招聘到。企业或创业者自建并自己运维IT基础设施不但成本高昂,而且还不稳定。鉴于这种情况,出现了几种新的IT服务形态,被称为云计算,它们分别是SaaS(Software as a Service)、PaaS(Platform as a Service)和IaaS(Infrastructure as a Service)。

最早出现的云计算服务形态是SaaS,同时也是云计算服务最为常见的形式。其实质是互联网应用的扩展,使用Web程序提供原来需要桌面客户端或桌面软件才能完成的功能。例如,Google Apps、Salesforce、Cisco WebEx及各种在线存储服务等。

对大多数的互联网用户来说,PaaS可能是使用和了解最少的云服务形态了。它是把软件平台或框架作为服务提供给客户的云计算服务形态。不过,PaaS对于程序员来说,却是非常时髦的话题。比如各大云平台提供的容器集群服务,各种Serverless服务框架(如AWS的Lambda、阿里云的函数计算、Heroku、Google App Engine等)。这些服务使应用运行的底层服务器、网络等都不需要程序员来考虑和维护。他们需要做的只是专注于用代码实现需求,然后把代码部署到PaaS服务中。这样大大简化了应用的部署和维护工作,提高了开发效率。PaaS对于边缘计算的影响也非常大,像容器服务和Serverless框架也是边缘计算框架非常重要的有机组成部分。

IaaS的出现要特别归功于亚马逊AWS(Amazon Web Service)的EC2(Elastic Compute Cloud,弹性云计算)和S3(Simple Storage Service,简单存储服务)。简单来说,就是将其内部的虚拟化服务器平台和存储系统直接提供给第三方使用。由于其较强的伸缩性、弹性和按使用付费的方式,可以给企业和创业者节省大量IT基础服务开支。而且由于其易用性,大大简化了应用服务器的部署和维护。亚马逊能够率先推出这样的业务确实令人感到有些意外。首先,当时其主营业务是B2C电子商务,与IT服务毫不相干。其次,亚马逊不是一家传统意义的科技公司,其核心技术团队的创新能力和技术能力不如谷歌、苹果等硅谷巨头。此外,亚马逊公司长期亏损,直到2015年才实现首次盈利,不像其他的科技巨头有充足的资金保障。据说,其IT基础设施服务之所以能在2006年就正式对外开放,是因为乔治·贝索斯要求公司内部的项目在一开始就要考虑今后能够提供给外部用户使用。如今,各大IT巨头基本上都推出了自家的弹性云、弹性存储、弹性网关等服务。美国的主要云服务提供商是AWS、微软Azure和Google GCP;国内的第一大云服务提供商是阿里云,以及第二梯队腾讯、百度、华为等。

4.2020年至今:边缘计算时代

边缘计算、云计算和物联网的融合与发展将会是未来几年的趋势。一方面,随着通信技术、电子技术、人工智能、区块链技术的发展,对边缘计算能力的需求越来越大。另一方面,公共治理结构和公司内部组织架构的扁平化,要求现代组织内外部的协作方式能够打破空间和物理界限的限制。大量的数据和计算要求能够在终端、工厂、办公室、住宅和机器本地处理。所有的运算和数据都放到中心化的云端数据中心已经变得不太适合,在成本和技术上都不太现实。

比如智能驾驶,如果实时的数据都要传回云平台,处理后再传回车辆端,那将会对车辆和行人的安全造成危害。因为车辆到数据中心的网络连接是不可靠的,互联网的延迟和可靠性保证。将这些数据和计算下沉到边缘设备上,车辆间通过数据链互相通信,通过算法即时作出反应(在几十毫秒内)才能够保证对突发情况的快速响应。其实,从客户端/服务器架构发展到云计算架构,紧接着大量的服务和计算下沉到去中心化的边缘端,也是技术发展的一个自然演进过程。

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. f0g3VOzJg7gc9qq0RHhowhcm0Mfk5hpT/wFXNvqEWFmSQtv76TJQf4JDFU13QmZM

点击中间区域
呼出菜单
上一章
目录
下一章
×