第1章 边缘计算:5G商业时代的核心应用平台
1.1 边缘计算:引领新一轮信息革命浪潮
1.1.1 边缘计算的起源、发展与特点
欧洲电信标准化协会(European Telecommunications Standards Institute, ETSI)给边缘计算下的定义是:边缘计算是一种在靠近物或数据源的一端,打造集成网络、计算、存储和应用等核心能力的综合性开放平台,提供近端服务,满足实时业务、应用智能、敏捷连接、数据优化和安全保护等行业数字化需求的计算模式。
边缘计算涉及区块链、点对点、网格计算、雾计算和内容分发网络(Content Delivery Network,CDN)等多种技术,在工业、交通和互联网等多个领域拥有广阔的应用前景。
发生边缘计算的位置被称为边缘节点,数据源和云中心之间所有拥有计算资源和网络资源的节点都可以作为边缘节点。例如,智能手机是人和云中心的边缘节点,网关是智能家居和云中心的边缘节点。边缘节点越靠近用户端,数据处理速度越快,传输效率越高。
边缘计算实现了对云中心大型服务的有效分解。它将大型服务分解为多个小型的、易处理的任务,并将其交由多个边缘节点进行处理。
◆ 边缘计算的起源与发展
边缘计算并非新生事物,相关研究最早可以追溯到20世纪90年代。当时,阿卡迈(Akamai)推出了CDN,CDN的一大特征就是在接近终端用户的一端设置传输节点,这些节点可以缓存静态内容(如图像和视频),而边缘计算赋予了这些节点执行基本计算任务的能力。
1997年,计算机科学家布莱恩·诺布尔演示了如何将边缘计算和移动技术结合起来支持语音识别的过程,即游牧服务(Cyber Foraging)。苹果手机的Siri和谷歌地图的Assistant的语音识别功能都是基于这一原理开发出来的。
点对点计算是指在一个由中央协调的分布式体系结构中,资源提供者和消费者同时存在的计算模式。
时任谷歌CEO的埃里克·施密特在2006年8月9日举办的搜索引擎大会上首次提出了“云计算”这一概念。对于云计算的定义,业界至今尚未达成一致。不过,美国国家标准与技术研究院指出,云计算采用按量付费模式,可以提供可用的、便捷的、按需的网络访问服务,需求方只需要投入很少的精力,就可以在拥有网络、存储、服务和应用软件等多种资源的计算资源共享池中低成本地获取资源支持。
2009年,“移动计算中的基于VM的Cloudlets案例”发布,详细阐述了延迟和云计算之间的端到端关系,并提出了“两级架构”这一概念,第一级为云计算基础设施,第二级为基于分布式云元素的微云计算。这为现代边缘计算奠定了理论基础。
2011年,思科正式提出了“雾计算”这一概念,并于2012年给出了雾计算的具体定义。如果说云计算是一种抽象化的、由中心化的运营商控制的计算模式,那么雾计算就是一种更具象化的、发生在用户身边的计算模式。雾计算是云中心和物联网(Internet of Things,IoT)设备的中间层,具备带宽、计算和存储等能力,更需要本地设备的支持,迎合了互联网去中心化的特征。雾计算的某些要素和边缘计算一致,如分布式系统和点对点。
◆ 边缘计算的三大特点
边缘计算的三大特点如图1-1所示。
图1-1 边缘计算的三大特点
(1)数据处理实时性。边缘计算兼具数据采集、分析和执行三种功能,可以降低数据传输时延,提高本地IoT设备的工作性能和需求响应速度。
(2)业务数据可靠性。只有保障数据安全,才能为用户提供更可靠的业务。边缘计算可以在靠近数据源的一端处理数据,不必将数据传输到云中心处理,即便广域网因意外事故无法工作,也能保障本地业务稳定、可靠地运行。
(3)应用开发多样化。未来,在工业制造、智能家居和智能驾驶等场景中,绝大部分数据将在靠近数据源的一端进行处理,不必传输到云中心处理。在这种情况下,用户可以结合自身的实际需求来定义IoT应用。
鉴于边缘计算在提高服务质量和传输效率方面的优势,一旦相关技术成熟,边缘计算将迎来爆发式增长。边缘计算可以加速数据流生成,实现数据的实时处理。在创建数据时,智能设备和应用程序可以即时响应。边缘计算在靠近数据源的一端对数据进行就近处理,这可以有效降低对网络带宽资源的占用,降低成本,让远程应用程序实现高效运行。此外,用户可以将个人隐私等关键数据保留在边缘计算的数据源一端,不必将这些数据传输到公有云,这为公共互联网带来的信息安全问题提供了有效的解决方案。
边缘计算降低了IoT应用传输、存储数据的门槛,有助于IoT设备实现自动化、智能化,加快IoT的落地应用。在用户需求、政策扶持和资本驱动等多种因素的驱动下,边缘计算将很快进入高速发展阶段。
1.1.2 从云计算到边缘计算的演变过程
云计算实现了计算服务的集中化,它通过搭建共享数据中心所产生的规模效应来降低计算成本。在云计算的具体应用场景中,路由器跳数较多,运用虚拟化等技术会造成数据包延时或数据中心服务器延时,这些问题降低了云计算的计算效率。
边缘计算针对上述问题提供了有效的解决方案。在大多数应用场景中,云计算和边缘计算是协同合作的关系。近年来,IoT、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)和人工智能(Artificial Intelligence,AI)等技术在各个行业的持续渗透使数据规模呈指数级增长。仅利用云中心处理数据不仅会引发网络拥堵问题,而且会降低服务的响应速度,增加服务成本。如果将边缘计算和云计算结合起来,那么很多数据处理和应用任务就可以由边缘节点来完成。
◆ 云计算赋能互联网世界
可穿戴设备、智能家居、自动驾驶汽车和导购机器人等IoT设备已经进入了我们的日常生活。麦肯锡发布的数据显示,预计到2025年,全球IoT市场规模将达到7.4万亿美元。随着越来越多的智能设备接入IoT,云计算产业将进入快速发展阶段。到那时,云计算使个体和组织可以租用大型云服务商提供的远程服务器网络来进行数据存储与处理。
以苹果公司的iCloud为例,用户可以使用iCloud对苹果手机数据进行备份,然后在PC端登录苹果账户,在iCloud上获取备份数据,这突破了智能手机物理存储空间容量的限制。
对游戏开发商来说,他们在开发一款游戏作品时要考虑主流用户的硬件设备性能,很多时候他们要在游戏画质等方面做出让步,这种做法在一定程度上降低了游戏作品对用户的吸引力。如果云计算能够实现大范围的推广普及,那么用户可以租用云服务商提供的云服务来畅玩游戏,就不用每隔几年升级一次硬件了。
目前,亚马逊、谷歌、微软、IBM、腾讯、阿里巴巴和百度等科技巨头都在积极布局云计算。需要指出的是,很多应用场景并不适合采用云计算,更适合采用分布式的边缘计算。
◆ 向边缘计算的转变
在IoT时代,数十亿甚至数百亿台设备将会接入网络。对企业来说,提高数据处理效率、降低数据应用成本非常关键。
最初,业界对应用云计算技术解决这一问题普遍持积极的态度,大部分人认为将计算功能完全放在云端是主流趋势。然而,随着物联网设备数量的快速增加,有限的带宽资源极大地限制了数据传输与处理的效率,仅靠云计算技术已经无法满足快速增长的IoT设备对计算的需求。
为了解决上述问题,必须将边缘计算和云计算相结合。边缘计算采用分布式架构,利用智能路由器等设备和技术进行数据交互,减少了对网络带宽资源的占用,减轻了云中心的负担。互联网数据中心(Internet Data Center, IDC)的统计数据显示,预计到2020年,超过50%的数据将在网络边缘端进行分析、处理与存储。
边缘计算将数据在靠近数据源的一端就近处理,避免了海量数据同时向云端传输造成的网络拥堵问题。从某种程度上来说,边缘计算可以看作一个微型数据中心的网状网络,关键数据直接在本地存储并处理,相关数据被快速传输至中央数据中心和云存储库等。
举例来说,在为公交车的发动机配备边缘计算系统后,发动机上的传感器可以将公交车的实时运行状态与周边环境信息传输给边缘计算系统,在本地完成车辆故障检测和维修等业务。这样做不仅能减轻云中心的负担,而且能让云中心将更多的资源用于附加值更高的领域。当然,这也对边缘计算相关设备的性能提出了更高的要求。传感器、中央处理器(Central Processing Unit, CPU)和图形处理器(Graphics Processing Unit,GPU)是边缘计算的核心设备,前者的主要任务是收集数据,后两者的主要任务是处理数据。
在产业应用实践中,要想更好地发挥边缘计算的价值,还要了解与其密切相关的一种技术,即雾计算。边缘计算是发生在网络边缘或边缘附近的计算过程,而雾计算则介于云计算和边缘计算之间,采用半虚拟化的计算架构模型。雾计算以个人云、私有云和企业云等小型云为主。雾计算的应用必然会涉及边缘计算,但边缘计算的应用却不一定会涉及雾计算。
1.1.3 边缘计算崛起的逻辑与优势
◆ 边缘计算的重要性
IoT技术在各个行业持续渗透,驱动着人类社会迈向万物互联的新时代。IoT设备数量与业务的快速增长催生了很多新的需求,仅凭云计算是很难满足这些需求的,具体表现包括以下几个方面。
(1)海量数据给网络带宽造成了巨大的负担。云中心确实可以对海量数据进行高效处理。但迅猛增长的IoT设备产生了大量的数据,将这些数据传输到云中心处理会给网络带宽带来巨大的负担。
(2)IoT设备对于低时延、协同工作的需求急剧增加。网络带宽资源相对有限,将海量数据传输到云中心处理,不仅要花费很长的时间,而且难以及时响应用户需求,这降低了用户体验。显然,仅凭云计算很难完成对所有数据的快速处理。
(3)IoT设备涉及个人隐私与安全。终端设备记录了用户的各种行为数据,如果将这些数据传输到云中心处理,那么很容易引发数据安全问题,威胁用户的财产与人身安全。边缘计算可以很好地解决这一问题,它可以对海量数据进行就近处理,并实现IoT设备的高效协同。
◆ 边缘计算的三大优势
边缘计算的三大优势如图1-2所示。
图1-2 边缘计算的三大优势
(1)数据可实时处理。数据在靠近数据源的一端就近处理,不必传输到云中心,这极大地降低了数据传输时延,提高了数据处理效率。
(2)成本低。与云中心设备相比,由本地设备进行数据存储与处理的成本更低。一方面,边缘计算减少了对带宽资源和云中心计算资源的占用;另一方面,边缘计算可以提高应用程序的运行效率,降低能耗。
(3)对云端的依赖性低。边缘计算对云端的依赖性低,这可以有效降低单点故障率。
当一家中小型企业租用云服务商提供的云服务进行数据处理时,一旦云发生故障,该企业就很难获取所需数据,这会影响企业的正常运营,甚至会给企业带来一定的经济损失。Salesforce网站的北美14站点曾发生过一次严重的宕机事件,其客户在超过24小时的时间里不能访问用户的电话号码、电子邮件等数据,导致网站的经营业绩受到了严重的影响。另外,此次事件也给Salesforce网站的口碑造成了严重的负面影响。
边缘计算赋予了IoT设备在缺少云中心支持的情况下高效稳定运行的能力。也就是说,在边缘计算的支持下,那些网络服务未能覆盖的偏远区域或环境较为特殊的区域,也能通过IoT设备提高生产力。
边缘计算在安全性和合规性方面也具有优势。随着社会的发展,人们的法律意识不断增强,如何让企业安全、合法地使用用户数据成了社会各界广泛关注的问题。为此,各国政府都在积极出台相关政策,目的是为企业合理使用用户数据提供指导。
2018年5月25日,欧盟的《通用数据保护条例》正式生效,违反该条例的企业将面临高额罚款,以2000万欧元(约合1.5亿元人民币)或者是该企业上一财年全球营业总额的4%中的较高者为准。
边缘计算设备可以自主收集、存储并使用数据,有效地避免用户个人隐私等敏感数据被上传到云中心而引发的数据安全问题。更关键的是,边缘计算可以使现有设备和新兴IoT设备互联互通,对现有设备的通信协议进行转换,与新兴IoT设备进行高效交互。在这种方式下,很多企业无需对现有设备进行更新升级,也能接入IoT平台,并以较低的成本实现生产力的大幅度提升。
1.1.4 边缘计算面临的机遇和挑战
IoT的快速发展为边缘计算的研究与应用提供了巨大的推动力。边缘计算目前仍处于初级发展阶段,面临着很多机遇和挑战,具体如图1-3所示。
图1-3 边缘计算面临的机遇和挑战
◆ 边缘计算面临的机遇
我们可以从以下几个方面来探讨边缘计算面临的机遇。
(1)标准、基准和市场。实现数据连接和聚合的标准化是发展智能业务的前提。目前,工业领域的技术和标准尚未统一,要想解决这一问题,就要开展跨厂商、跨领域的数据集成与交互操作。
(2)架构和语言。具备通用计算能力的边缘节点的快速增加使开发框架和工具包需求集中爆发。
(3)轻量级算法。边缘节点的硬件性能相对有限,大型软件并不适用于边缘节点,必须为边缘节点开发轻量级算法,以便其快速完成数据处理任务。
(4)微型操作系统和虚拟化。微型操作系统或微型内核的更新迭代,以及Docker等容器技术的发展为破解异构边缘节点部署难题提供了有效的解决方案。
(5)产学研合作。目前,很多移动运营商、软件供应商、云服务商和科研机构等积极协作,共同推动边缘计算在各个行业的落地应用。
◆ 边缘计算面临的挑战
目前,边缘计算面临的挑战主要体现在以下几个方面。
(1)边缘节点的通用计算能力。边缘计算可以发生在边缘设备和云平台之间的多个节点中,如路由器、交换机、网关、基站、接入点和业务节点。考虑到不同平台的异构性,不同网络的边缘节点往往存在一定的差异。此时,将计算任务合理地分配给不同平台的边缘节点并不是一件容易的事情。同时,不同边缘节点的运行时间有所差异,这给程序开发工作带来了极大的挑战。为了满足通用计算需求,程序开发者需要开发跨越各种环境的可移植解决方案。
(2)寻找边缘节点并分配任务。IDC发布的数据显示,预计到2020年,将有超过500亿台终端和IoT设备。边缘计算设备和终端联网的复杂程度不断提高、用户需求愈发个性化、产品更新迭代愈发频繁、产品服务化与全生命周期管理成为主流趋势,这些都给边缘计算的发展带来了巨大的挑战。
在分布式计算环境中,对资源与服务进行深度发掘并实现任务的合理分配是一项关键任务。要想充分利用网络中的边缘设备,就要建立成熟的命名机制和网络协议等发现机制,以便为分布式部署找到合适的边缘节点,使边缘端具备动态、大规模运算和存储的能力,使之可以与云端进行实时交互、高效协同作业。同时,这个发现机制要在充分保证用户体验的基础上,对不同层次和等级的计算工作流进行快速集成。显然,边缘计算不能照搬云计算的发现机制,必须从理念、算法等维度进行创新。
(3)数据存储和管理。对IoT环境中的海量数据进行存储和管理,是发展IoT应用的一项重要工作。为了提高服务响应的及时性,应用程序需要对数据进行快速读写。但是,IoT设备和系统类型比较复杂,与之相关的数据格式有很多,对这些数据进行标准化处理也是应用边缘计算的一个难点。
边缘节点的硬件性能相对有限,要想让其对海量数据进行有效存储和管理,还需要解决很多问题。我们可以利用过滤、筛选掉部分原始数据的方式减轻边缘节点的负担,但这样做难以保障数据的可靠性。
(4)服务质量和服务体验。建立高效可靠的系统是开展边缘节点服务管理的重要基础。边缘节点要具备较高的吞吐量,以适应高峰时段的任务需要;系统要对有风险的节点进行自动检测,避免因节点故障造成用户需求无法响应等问题;节点之间要实现互联互通,使数据传输和通信得到充分保障。
边缘节点应该能够对用户服务设置合理的优先级别。例如,故障报警、关键信息反馈服务的级别应高于普通服务的级别;用户身体状况检测报告服务的级别应高于娱乐服务的级别。
接入IoT的设备之间存在直接或间接的关联,所以,在IoT系统中增加或删除一个设备需要经过一系列复杂的操作。为此,开发人员要灵活设计边缘计算操作系统,提高边缘计算操作系统的可扩展性。
(5)开放、安全地使用边缘节点。由于边缘节点位于靠近IoT设备的一端,所以边缘计算对安全防护提出了更高的要求。边缘节点安全包括设备安全、数据安全、网络安全和应用安全,我们必须做好核心数据的保密工作,还要保证核心数据的完整性。
在将路由器、基站和交换机等终端设备作为可接入的边缘节点时,为了提高边缘节点的安全性,必须做好以下几个方面的工作。
① 定义并明确边缘计算设备持有者和使用者的相关风险。
② 保证设备原有功能的可用性。
③ 提高边缘节点用户的安全意识。
④ 明确边缘节点可以为用户提供的最低服务标准,注意对用户隐私数据访问进行限制。
⑤ 将工作负载、计算能力、数据迁移和维护成本等多种指标纳入定价模型。