戴国超:边缘计算云平台服务设计与实践

2019-07-31 18:41:52 浏览数 (2)

7月27日,腾讯云开发者社区技术沙龙第24期“物联网技术与应用”圆满落幕。本期沙龙特邀请腾讯云技术专家对腾讯云全栈物联网产品进行了深度揭秘,针对腾讯云IoT全栈产品中的IoT平台、边缘计算、物联网安全、物联网操作系统、AIoT这五个产品进行全面的技术剖析和满满干货分享。下面是戴国超老师关于边缘计算到底是一个什么样的产品形态或者是什么样的服务模式的分享。

讲师介绍:戴国超,腾讯云物联网边缘计算产品负责人,负责腾讯云边缘计算平台的产品规划、架构和产品落地。有超过6年的互联网研发和架构经验,以及超过2年的云计算产品经验,先后在sina、乐视云、腾讯负责云计算基础架构、运维、安全等技术和产品的工作。

本次分享分为五个部分:边缘计算的起源,让大家知道边缘计算为什么会出现,尤其是在物联网和5G的时代,还有边缘计算现在整个的现状,边缘计算平台架构设计,边缘计算应用发展,最后一个简单的实战让大家感受一下边缘计算。

边缘计算的起源有很多的原因。为什么会出现边缘计算?其实IT架构的演变对边缘计算的产生有着很大的影响。在最早的时代,我们所有的程序到一台服务器里面,比如说当年IBM的大型机,类似于这种CS的架构。再往后看我们整个的软件架构其实又变了,变成了BS的MVC前后端做分离。我的软件和整个控制程序他们其实是分到不同的机器上。再往下看一个2.0的时代,大家对这个可能比较熟悉,我们整个的这种SOA服务总线的模式,他更多的把我们整个的的计算服务更加聚焦于分布式的,他可能分在多台机器上面,每个机器都是为我们提供一个服务,最后通过一个服务总线让我们使用所有的服务。这个时候其实证明了我们的计算服务越来越分散,能力越来越内聚,但这种分散和聚合依然很重、不够灵活和弹性。因此后面出现的微服务架构很受欢迎,它的设计思想是让大家把每个核心的能力设计的更加内聚力、更加独立、可以很小的依赖系统环境,可以分散在各个机器上,现在主流的实现方式就是把服务放到容器里,用微服务框架去灵活的编排和管理。正因为这些IT技术的演进,才支撑了边缘计算技术落地和应用的可能性,才会有现在边缘计算的诞生。

还有一个边缘计算的起因,物联网和人工智能的爆发,2017之前我们的物联网也不能说不够火,至少物联网是比较初级的形态。现在随着物联网和人工智能逐渐的发展,其实我们的物不单纯是一个单纯的物,他可以联网,并且联网之后,他的数据是可以流动的。我之前的数据其实都是固化都是静态的,现在我的数据流动,流动到我的物、我的人包括我的数据分析,我会用我的数据分析的结果更好的服务反馈于物、服务于人、反馈于环境,也因此需要边缘计算来提供低延时的智能分析服务。

还有一个最关键的原因是我们通信技术的发展。正因为近一年多5G迅速崛起才出现了边缘计算,就好比浪潮之巅所说的一样,其实每个时代都有每个时代的应用,每个时代的一个浪潮,每个时代很好的一个产品。我们在想5G时代是什么样的一个场景,大家可以看到5G时代是万物互联、人、环境虚拟和现实之间,大家可以想人就是一个在真实环境,在一个虚拟环境中其实有跟我们一模一样的存在或者是一模一样产品的应用。

讲这么多的起因,但是这些起因其实都会使用我们现在这种中心计算,都会遇到挑战,这些挑战大家可以简单看一下这几个数字。首先这个数字是500亿,500亿这个概念是什么?2020年我们有500亿个智能终端连到我们的物联网。这个会产生什么问题,其实会产生我们的数据爆炸,所谓的数据爆炸是我们将来有大量的数据都会连接到我们的云终端,这么多的数据其实我在云中心是没有办法存储计算的。就算我在云中心可以存储计算,但是我这么大的一个数据产生量,我是通过我们现在的技术网络架构,比如说我们通过这种核心网是没有办法承载这么大的网络传输。

举个简单的例子,一台波音787每分钟要产生5GB的数据,不是完全智能化,如果他足够智能化的情况下,这个数据量还要更大,你是没有办法放到中心去做计算去做分析。包括我们的能耗问题,我们现在数据中心的能耗过大,其实也是有问题的。还有最核心的中心是我们的延时,因为我们要做边缘计算,我们要让物更好的为我们做服务,要低延时。这种低延时,需要通过什么手段解。包括IoT设备的数据隐私安全、包括整体的IT成本,这些核心问题。

我们怎么去解决这个问题?这个时候其实边缘计算就诞生了,边缘计算靠近物和数据的源头,提供网络计算、存储、应用分布式的平台和计算服务。这个大家可以看到边缘计算其实是云计算的一种变形,也可以说是下沉,计算的下沉。我把云中心的计算快速的去交付到离用户或者是离数据离物最近的源头,让我们的人、物、环境应用,可以快速方便使用边缘计算的计算能力。让IoT设备数据在边缘进行处理分析,降低延时、减少公网带宽消耗、分散能耗、降低整体的成本。

这个是边缘计算的起源,给大家简单说完了。我们其实可以再简单说一下边缘计算。讲了这么多边缘计算到底现在是什么样的一个状态。其实大家可以看到边缘计算领域的各大玩家,其实为边缘计算不是单纯的AI硬件,它有很多的层次。比如说我们的硬件层、通信硬件、运营商、云计算平台、服务商、组织联盟,他们每个解决的一个问题,在我们的左侧可以看到定制硬件、通信组网、5G网络、计算能力的延伸、专有的服务、行业的标准。因为一个新技术的兴起没有行业支持,没有整个行业生态是没有办法推进下去的。

我们再往下看,其实整个边缘计算在我们的应用领域的一个主要分布,大家可以看一下,现在智慧出行、安防、工业制造、视频、游戏娱乐、其他。整个方案大家可以看到硬件边缘计算平台、边缘计算的一些功能组件可以理解为PAAS的一些组建,包括行业的解决方案。这是我们现在边缘计算主服务大概的现状。

边缘计算是云计算能力的一种延伸。可以看到在硬件层我们提供的是物理机,硬件的网关包括刚才的AI盒子,他可能只是一个很小的部分,他需要组网也需要通信的模组,包括智能硬件。再往上层其实他是这种通用的计算、GPU,包括简单的PAAS,上面其实有一些目前我们本地计算需要的,比如说我们的边缘引擎、边缘网关、调用中台,这个我们定位叫边缘计算平台。这也是我后面要分享的边缘计算平台的一个功能架构。

再往上在这个平台上要承载为我们整个边缘计算提供的服务,这个服务有组建还有SAAS服务,再往上是整个智能运用的场景。

再说一下,刚才那个是通用架构,目前各大厂商包括云厂商边缘计算的一个整体的产品架构,产品架构大家可以看到在下层主要是我们的各种设备硬件,其实这个硬件通过之前说的组网包括这种快速的开发,可以连接到我们边缘这个节点。这个节点其实就很简单,比如说我的家里是一个节点,可能我的学校、我的工厂或者说云的某一个节点也是一个节点。往上提供这种简单的,为什么说边缘计算他会提供一些快速分析的能力,比如说在我们家里可以做一些(ML)计算、流失的分析、函数的计算等等。

为什么说边缘计算跟我们的传统私有化不同,他并没有跟云计算、云中心脱离,他其实还是跟我们的云中心连接,包括我们的数据也可以。因为边缘节点很不稳定的节点,我们的核心数据,我们核心的这种应用其实还要放到云端,这样才能保证我们应用的稳定性,包括数据的安全性。通过云端可以管理我的整个边缘节点,这个是非常分布式的架构。大家想一下我们每个家庭都是一个边缘节点,这个节点都要连接我们的云端,这个分布式架构比我们之前遇到所有的网布式都更加的分散更加的挑战。后面是我们整个云的一些服务,包括还可以通过我们的边缘平台开放API,让我们可以自己管理整个边缘计算的节点。目前边缘计算整个通用产品的大概架构情况。

讲了这么多,我们边缘计算平台大概是什么样的。首先我们边缘计算平台建设过程中遇到了什么样的问题。因为他是一个平台,他的设计和落地会遇到很多问题的挑战,我们的IoT硬件种类非常多,而且不同领域的设备这种数据协议格式相差很大。比如说这种Modbus、OP CUA包括DL645,在边端,我们刚才说的边缘计算整个的边端,边缘计算我们说了硬件规格不同,我们有很多的硬件各种各样的,ARM的、X86的包括各种各样的AI盒子。他体系结构也不同,他整个的操作系统其实也不一样,他的软件基础环境更不同。因为大家每个装系统的时候软件都不一样,还有这种物理环境,有的可能在家,有的可能在工厂,有的可能随随便便在一个课堂上。网络环境也会有很大的不同,基本上我们边缘计算现在运行的环境都是弱网环境,网络不稳定,会出现丢包,我们怎么去兼容这个弱网的环境。然后公有云的能力怎么样可以快速跟我们的边端去打通,能保证我们边端使用非常容易,可能说一键式的使用我公有云的能力,这个对架构是一个很大的挑战。还有是最关键的管,我们物联网的通信协议非常多,我们怎么适配这些协议。

说了这些问题之后,我们怎么去设计呢?其实这是我们边缘计算整体大概的架构。我们会分两个大层面。一个是我们边缘核心套件,也是我们边缘引擎。第一层是叫物联网通信协议插件,他其实是可以适配各种各样的协议,中间层是我们的标准协议。标准协议大家可以理解MQTT、COAP包括通用的标准协议。再往上是我的路由,路面层上面其实有我的协议差插件,这个协议插件其实就为了解析协议。再往上是我们的计算组建,计算组建可以是我们的消息函数、路由存储等等的能力。

再往上是我们的云平台。云平台其实是我们的服务接入,还有我们的资源、编排、抽象,再往上是我们的服务资源和云组建的资源。这只是我们整个的层次架构,我们怎么去管理整个边缘计算的分布式。我们其实也选用了目前微服务也是现在比较通用的,而且更弹性的灵活方式。我们用了docker容器化去安装边缘计算环境,用类似于K8S的框架去做边缘微服务管理框架。

我们的边缘计算容器管理框架主要为了兼容弱算力、网络不稳定和强算力、网络环境不稳定的管理需求,分为两种形态:一个是云端管控,一个是边缘自治。云端管控的架构其实是我的所有master征信在云端,我会把我各个任务分布到每个边缘节点。这种情况其实我们做了一些弱网的兼容,但是他适用的场景,比如说我们叫智能零售的货柜,这种货柜可能是一个货柜是一个节点,计算能力有限,他会用我们云端管控的模式。

另一种比如我们的工厂或者说我们的智慧园区他有一定的计算能力,我可以让他在边缘做自治,他是一个小型的计算集群,他可以保证我的边缘一旦出了问题,他可以自动去恢复和管理。再往上我们有所谓的异构融合这么一个平台,他可以把这两种场景通过我们的异构融合的平台让你去统一管理,你在一个控制台可以管理两种模式。这边有简单的介绍,是我们大概的能力。包括我们的边缘自治的环境是插件化的,你可以理解为你想要什么能力你可以通过插件去扩展,非常轻松去使用。这个是我们整个的管理框架。

这个是我们边缘引擎的架构。其实大家也看到IOT设备连接协议MQTT、COAP,以及网络协议连接TCP、UDP、TLS等,还有跟我们内部整个安全的认证TID,接下来是我们整个的MQTT的交互部分,还有我们的SCF,我们的规则引擎、缓存队列,还有我们上面的一些管理的程序。下面我们进行各种组件功能的演示,这套东西会运行到整个边缘节点,大家也使用他可以快速的搭建自己的边缘节点,至于有多快大家可以看到。

平台整体的架构。为什么说边缘计算他的一个整体的服务,大家可以看到边缘计算有云的边缘节点,还有本地的边缘节点。云的边缘节点大家可以怎么理解,可能在我们滨海在我们在座的现场就有一个云的边缘节点,这个本地的边缘节点可能在我们的家里,这个云的边缘节点他是跟公有云还是很好理解的。本地节点不一样,本地可能你的网络时断时续,也可能没有网络。在这两个边缘节点上,其实我们整个有我们边缘阶段的管理中心,他其实有几个核心层,接入、资源层、控制中心包括我们的平台。

整个的边缘计算其实是跟腾讯物联网产品是打通的,他们服务是可以联动的,大家可以看到跟我们的物联网通信,可以帮助我们做通信协议的接入、数据的路由、协议的解析。跟我们的开发者平台,其实我们老胡讲的可以通过开发平台快速的开发,开发整个物联网的应用。这个应用开发完之后,你要怎么办,你肯定得有地方去运行,有地方去帮你执行,你可以通过边缘计算的中心快速的放到边缘节点,并且在这个边缘节点提供服务。你可以使用我们的边缘计算平台非常方便去创建、部署、管理。在往最右侧,这个会和我们的云端产品打通,云端的产品其实我们云端的中间件、SCF、AI、数据分析等等还有我们云端的服务,比如说在我们边缘计算节点非常方便调云端的视频、图片、语音还有一些行业垂直的能力和服务。

再说一下我们边缘计算的应用和发展。说这个之前我稍微多说两句,因为边缘计算确实比较新,大家听得可能是今年刚兴起,应用的场景大家可以想象一下,我们的交通各个站点。比如说我的交通过道放行的收费站,我们的停车场、隧道,我们的信号灯包括我们的无人机。这些其实他本身如果连接我们的公网是非常麻烦的,而且你想做中心计算也非常麻烦的。但是有了我们的边缘计算,这些地方都属于我们的边缘节点,你可以用这些的设备连接到我们的边缘节点,它可以做什么,可以做数据的清洗分发,包括数据建模、机器学习,在上面边缘节点你就可以实现你的应用。这个过程是非常短,而且延时很低,直接是网络相连的。比如说收费、停车这种监控等等的情况。

再往上跟我们的物联网、云端跟我们的通信平台去相连,我们的开发者平台、我们的边缘计算平台、我们的大数据,还有这种应用系统。举一个简单的例子,比如说我们现在可能需要一个人工智能的一个最新的算法,是一个可能车辆预测的。在我可能有1000个车辆预测的节点布了我们的边缘节点,现在我只要在云端把这个算法训练之后,我只要一键说你同步到所有的边缘计算节点,你可以立马更新你的算法,可以在最近的边缘节点为你做计算的更新,这种多数据源的融合、实时的分析、集中管理包括数据打通。这个是边缘计算在交通的应用场景。

边缘计算的泛娱乐,这个有点类似于现在的CDN,但他可能还不完全一样,CDN可能只是存储,这个是离我们最近的地方去做计算。比如说我们的VR/AR、云游戏、高清视频这些应用,其实通过的管,包括5G等,来连接我们的滨海边缘节点。比如说现在滨海的节点,南山的节点或者是深圳的节点。举个简单的例子,我开车一直在走,我连接边缘计算的节点是不断在变化。在哪个节点,我的游戏这种高清的游戏都是推到节点上,在这个节点上可以快速去体验。最终通过我们的云开放API包括我们的调用中心、资源中心,你可以很灵活的管理我这些节点的资源,这些边缘计算节点的资源为哪些端的应用和业务做服务。

再说一个场景,智慧工厂,这个跟刚才很类似的。比如说我工厂的一些智能设备、录像、更改、状态通过边缘的计算做一些实施分析建模。现在还有虚拟设备包括我的虚拟工厂,云端这边我就不多说了,其实都是很类似的。

再多说一点,影响边缘计发展的关键技术。边缘计算现在说了这么多,算力其实还是有限的,如果将来有一天我们的量子计算和人工智能都已经发展到一定的程度,比如说我们在滨海一个量子计算机可以为深圳为所有人大家去玩游戏做计算,可能边缘计算有一天或许真的可以代替云的中心计算。没有中心计算这个场景,因为你在边缘就可以使用超强的计算,包括网络切片的技术,根据不同的应用我会给你提供更好的QoS。比如说你对网络要求不高的云,那你的QoS服务质量就低,如果你对网络要求非常高,我通过网络切片为你提供非常高质量的网络服务。包括我们的SDN,还有我们现在比较火的MEC,就是这种边缘的多变接入,这种移动端、IP网络端包括电视网络的端。还有现在5G通信技术。还有最核心的是智能芯片,为什么做边缘计算包括我们的物联网,目前其实智能芯片还是不够多。比如说我们现在在座的座位所有的都是智能芯片,那这个智能芯片其实和我们的神经元是一样的,如果够多我们可以构建一个虚拟的环境。

其实最后再说一点边缘计算未来的形态,边缘计算服务应用市场。我觉得可能像应用市场一样去使用边缘计算,比如说我们的视觉分析、语音识别、智能分析的算法、游戏、VR、视频、直播、虚拟工厂、虚拟公路、虚拟城市,包括我们的存储、数据中间件这些能力。通过我们的云中心连接并且安装到你的家、你行驶的路上,你的影院,你的工厂包括世界各地的边缘节点,你只需要选择你把能力放到哪里,可能一键会放到那个地方,在那个地方为你提供计算的服务。你的loT设备就可以不需要连接云中心,在边缘节点就可以完成你所有后台,包括计算的能力。边缘计算是把云计算更靠近生活,服务生活,让计算更有温度。

最后跟大家简单说一下,也算打一个小广告,让大家体验一下我刚才说的你想搭建一个边缘计算的节点,比如说在家里的电脑上搭建一个边缘计算节点有多快。主要是分6个部分。第一步是云端控制台的创建边缘节点,这块我不多讲,因为我们有控制台,到时候大家可以体验。使用边缘计算核心套件初始化的环境,这块我会给大家演示一下,因为这个是我们边缘节点搭建块的核心,包括通过我们的创建设备,SDK的开发,这更不用说,因为刚才我们整个开发平台其实已经演示了,通过我们的开发平台可以快速的开发。通过我们的规则引擎,在我们边缘计算节点完成一次计算的应用或者是数据分析小的Demo,大家可以看一下。

Q:老师好,假设我在我家的电脑上搭建了一个边缘节点,因为是个人PC,所以他的存储和算力都是有限的。如果说需要计算的数据和需要存储的数据超过了边缘节点的一个承受值的阀值,我们平台是不是有一个机制会去怎么保存这些数据?还有一个问题作为用户,我会担心我的数据是不是在边缘节点和在云平台一样得到安全的保证。

A:首先回答你第一个问题,在本地怎么存储数据。我也提到了云边协同,虽然你使用了边缘计算,但是你要对自己的数据去做分类、负责。你实际的数据是不是高风险的或者是核心的数据,你自己要清楚。因为大部分现在边缘计算应用场景对于小的算力的场景,其实都是做数据过滤、数据清洗。比如说我可能有每秒100M的数据,有80M的数据其实是没有任何意义的。你在边端用SCF自己写一个很小的数据过滤系统放到这里面,把核心的数据放到云端。因为你的边端你的其它有可能损坏,你的磁盘有可能损坏,这个是没有办法保障的。为什么说要云边协同服务。

第二个安全的问题。我们的边缘计算平台系统是有安全架构的,他会对在边缘计算节点中处理的数据进行一定的保护。另外我们的数据是单向,所谓的单向是只有你可以选择往云去传,如果你觉得不需要往云去传你就不用传了。还有一些原因是没有办法的,如果在自己的本地电脑丢了,这个谁也保障不了你的数据安全。但是我们本身安全架构是有一些HIDS做一些检测也会做一些告警,也会于云端的威胁情报系统相结合,但是说这些告警只有连云端的时候才可以显示,在本地是不提供控制台帮你显示。所以说如果你使用了边缘计算并且连接了云端,你的机器和数据反而更加安全了。大概就是这样。

Q:您好,我想问一下作为一个开发者,我有自己原身的系统和软件,我想接入这个边缘计算的数据,除了云平台给我们提供的这种展示以及统计的功能,我们自己的系统也想利用边缘计算得到的数据,作为开发者用什么方式可以接入?

A:我们马上要推出一个功能是要让用户定义自己的边缘组建,你的应用你可以去自己定义,定义之后通过容器的方式下发到边缘计算的节点。其实你可以利用我们的边缘计算平台更多是为你提供资源管理,跟你节点打通的调动能力,具体的应用资源也可以是你自己定义的也可以使用云的,也可以使用第三方,帮你做很好的调配能力,就是这样的一个场景。

0 人点赞