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

1.5 云计算平台提供的边缘计算服务

事实上,各大云平台早就在布局边缘技术相关的业务和服务了。这些云平台提供的服务本身通过原有的Serverless技术下沉到边缘端,提供了边缘计算能力。这些会在后面的章节中做详细的介绍,本章只做一些简单的介绍。

1.5.1 AWS IoT Greengrass

亚马逊的AWS IoT Greengrass可以将AWS的功能无缝扩展到边缘设备,然后在本地操作其生成的数据,同时可以把数据传输到云端进行分析、处理和存储。AWS IoT Greengrass还原生地支持AWS Lambda函数、Docker容器这样的功能,并和云端同步。在互联网连接中断的情况下,也能够继续完成这些功能。

如图1-12所示,可以通过Greengrass Connectors来连接终端的设备和各种程序及应用。通过AWS IoT Greengrass这样的边缘服务,我们可以实现近乎实时地响应本地事件,在没有网络连接的情况下脱机运行边缘处理程序,加强云设备和边缘设备的通信安全,通过容器技术和Lambda函数简化边缘端程序的开发和实现,从而降低IoT应用程序的成本。

图1-12 AWS IoT Greengrass架构

AWS Lambda是AWS推出的一个无服务器计算平台。开发人员可以通过AWS Lambda功能快速部署和构建应用程序,而不需要考虑部署服务器或数据库。现阶段,AWS Lambda支持使用C#、Python、NodeJS、Java和Go语言开发,支持部署和运行Web网页、数据处理、微服务等各种应用程序,非常灵活和方便,是AWS主推的Serverless实现方案。不过,根据行业内人士推测,AWS Lambda功能的内部实现应该也是要依托于高效率和可靠性的容器技术来完成的。

AWS IoT Greengrass ML Inference是AWS IoT Greengrass的另外一项重要功能,它可以使用在云上训练好的模型,在边缘端设备上执行机器学习推理,并过滤和保留本地数据,传输回云端作为数据样本。

1.5.2 阿里云Link Edge IoT

阿里云作为国内最大的一家云服务提供商,也推出了自己的边缘计算服务,这是整个阿里云IoT体系的一部分。阿里云提供了类似AWS Iot Greengrass的边缘计算功能和边缘容器应用部署的功能。

不同的是,阿里是一家更加注重生态的公司,因此提供了第三方的市场,可以提供和购买第三方的硬件、通信协议驱动及边缘IoT应用。这使得阿里的IoT更加面向第三方的合作者,对于国内的集成服务商也更加友好。

阿里云作为国内云计算平台的领导者,对于边缘计算和IoT的支持是比较全面的,基本上覆盖了物联网技术和边缘计算技术的最主要的应用方向和工具。阿里云的物联网平台称为IoT Hub,提供了物联网设备接入、设备管理、安全管理和数据规则引擎等功能。

如图1-13所示,我们可以看到阿里云的整个生态架构是非常广泛的,包括了万物互联的各个方面,根据不同的协议和环境采用不同的方式连接物联网设备,并通过其云端的消息处理、数据分析和存储能力提供各种服务。尤其要注意的是边缘网关这一块,这是阿里云边缘计算的核心部分,起到了设备(物)和平台(云)的中间环节作用。物联网边缘计算继承了阿里云安全、存储、计算、人工智能的能力,可部署在不同量级的智能设备和计算节点中,通过定义物模型连接不同协议、不同数据格式的设备,提供安全可靠、低时延、低成本、易扩展、弱依赖的本地计算服务。同时,物联网边缘计算可以结合阿里云的大数据、AI学习、语音、视频等能力,打造出云边端三位一体的计算体系。其核心功能包括边缘实例、设备接入、场景联动、边缘应用、流数据分析、消息路由和断网续传等。

图1-13 阿里云物联网平台架构(截取自阿里云介绍文档)

(1)边缘实例。边缘实例用于在平台端集中管理边缘端的网关、系统、传感器等,是对各种边缘设备的抽象化管理。通过层级目录的方式,配置这些边缘实例的场景联动、函数计算、流数据分析和消息路由等功能。

(2)设备接入。通过边缘实例内置的协议,以及第三方开发的协议模块,可以连接各种不同的终端设备,如工业控制系统、机器人、各类传感器等。

(3)场景联动。对于物联网应用来说,每个场景下的设备都不是孤立的,而是多个设备和传感器相互交互,从而完成某些功能的系统。例如,酒店场景下,当客人开门并入住房间后,能够通过客人原来的入住习惯,获得顾客喜好的室内温度、光照强度等,自动调节空调和灯光系统,让客人获得更好的体验。那在这种情况下,开门信号作为输入,然后系统验证顾客身份并查询云服务的记录,匹配合适的温度和光照强度,将控制指令下发到房间中的空调和灯具。这就完成了一个简单的场景联动。阿里云提供了简单的图形界面来联系不同的设备之间的关系,形成联动闭环。

(4)边缘应用。这个指的是对于一些数据处理和应用可以从云端下沉的边缘端,以提供更加快速的响应,或者是减轻云端服务程序的压力。目前阿里云的函数计算和容器服务可以无缝下放到边缘服务器处理。函数计算是阿里云提供的一种PaaS服务,无须部署云服务器,直接通过一段代码就可以运行并提供服务;容器服务主要是支持了Docker和私有的Docker Hub,并且通过设置可以在云端或边缘设备上运行容器应用。

(5)流数据分析。边缘计算的流数据分析其实是对阿里云流数据处理能力的扩展,用于应对物联网应用场景中本地数据分析和处理的情况。一方面,通过流处理程序,可以过滤、加工、清理和聚合原始采集的数据。另一方面,某些需要实时性和离线分析的数据,可以在边缘服务器上进行处理并快速响应。

(6)消息路由。提供消息路由的能力。可以设置消息路由路径,控制本地数据在边缘节点之间、边缘节点到云端、云端到边缘端的流转,从而实现数据的安全可控。

提供的路由路径如下。

①设备至IoT Hub。

②设备至函数计算。

③设备至流数据分析。

④函数计算至函数计算。

⑤函数计算至IoT Hub。

⑥流数据分析至IoT Hub。

⑦流数据分析至函数计算。

⑧IoT Hub至函数计算。

(7)断网续传。边缘节点在断网或弱网情况下提供数据恢复能力。可以在配置消息路由时设置服务质量(QoS),从而在断网情况下将设备数据保存在本地存储区,网络恢复后,再将缓存数据同步至云端。这是确保在网络连接不稳定的场景下,物联网终端数据仍然能够被保存和处理。

1.5.3 百度智能边缘

智能边缘将云计算能力拓展至用户现场,可以提供临时离线、低时延的计算服务,包括消息规则、函数计算、AI推断。智能边缘配合百度智能云,形成“云管理,端计算”的端云一体解决方案。百度边缘计算服务特别强调了智能这个词,其实也是百度结合了其自身的优势——在国内人工智能领域中有比较强的竞争力,其集成的智能推断功能可以说是百度边缘计算的亮点也是卖点。如果需要在边缘端应用机器视觉、语音识别等与人工智能相关的边缘应用,通常可以考虑百度的边缘计算产品。

百度智能边缘的核心软件包叫作Baetyl,如图1-14所示,提供边缘网关的核心功能,兼容ARM核心的单片机及X86的普通服务器。同时,Baetyl可以本地化运行,支持边缘节点K3s+Docker和K3s+Containerd两种配置方式,大大增强了其灵活性。如前面提到的,百度云和边缘计算提供了一般的边缘应用和设备通信功能,支持数据采集、时序数据库、流数据处理等。另外,Baetyl深度结合了百度在人工智能方面的优势,这主要体现在和百度的另一款边缘端机器学习产品EasyEdge的整合上,其在边缘服务器上可以支持各种主流的深度学习框架和模型的应用。

图1-14 百度物联网智能边缘计算

EasyEdge是百度基于轻量化推理框架Paddle Lite研发的端和边缘深度计算模型平台,能够将原始深度学习模型快速生成适配于边缘节点和智能终端的端侧模型。

目前EasyEdge支持Caffe、PyTorch、TensorFlow、PaddlePaddle、MXNet和DarkNet,共6种框架;内置支持Mobile系列、ResNet系列、DenseNet系列、Inception/Xception系列、SSD系列和YOLOv3系列等50多种网络模型;适配ARM、X86、NVIDIA CUDA、百度EdgeBoard等十多种AI计算芯片。

使用EasyEdge,开发人员可以非常容易地在边缘设备上部署和使用各种深度学习模型,在边缘端进行语音、文字、图片和视频信息的实时识别和处理。百度智能云的文档提供了一些实际使用的案例,用户可以参考这些案例来开发自己的应用。

尽管百度智能边缘有自己的优势,但是相较AWS和阿里云来说,在平台的成熟度和性能方面还是有一定的差距。但是,对于人工智能识别有特别需求的边缘计算应用来说,百度平台还是有独特的优势的。

另外,Baetyl这个边缘计算平台已经开源了,并且成为Linux Foundation Edge(LF Edge)旗下的孵化项目之一。LF Edge这个开源软件组织是Linux基金会的边缘计算分会,比较著名的边缘计算开源项目EdgeX Foundry也是这个Linux基金会旗下的软件,第10章介绍边缘计算开源框架时会详细介绍这个项目。 f0g3VOzJg7gc9qq0RHhowhcm0Mfk5hpT/wFXNvqEWFmSQtv76TJQf4JDFU13QmZM

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