边缘计算会颠覆云计算吗?
摘要:
为何有人开始主张边缘计算将会吃掉云计算,也有人相信纯云计算时代正迈向终结,而且不只云端龙头、商用软件巨头都抢着要押宝,连全球最大开源社群也大力支持,原因是什么? 云端服务龙头Amazon每年冬天在美国拉斯韦加斯举行的re:Invent全球用户大会上,都会发表最新云端产品服务,去年却突然大转变,开始说要重视边缘计算(Edge Computing),甚至还罕见一口气推出三款非云端产品。
为何有人开始主张边缘计算将会吃掉云计算,也有人相信纯云计算时代正迈向终结,而且不只云端龙头、商用软件巨头都抢着要押宝,连全球最大开源社群也大力支持,原因是什么?
云端服务龙头Amazon每年冬天在美国拉斯韦加斯举行的re:Invent全球用户大会上,都会发表最新云端产品服务,去年却突然大转变,开始说要重视边缘计算(Edge Computing),甚至还罕见一口气推出三款非云端产品。还不到半年,另一家云服务竞争对手微软也在今年 Build 2017开发者大会开始大谈边缘计算的重要性,甚至连微软执行官Satya Nadella都直接喊出要做一个聪明边缘设备。
前不久才宣布5年要重砸20亿欧元投资物联网的云端ERP商用软件巨头SAP去年也重金买下了一家意大利企业级物联网平台供货商PLAT.ONE,就是为了要布局边缘计算。
即便是以前极力拥护云端的一些主要云端大厂,最近也都突然大转变,开始重视边缘计算,因为这些云端厂商突然发现了自己的局限,惊觉只做云端产品还不够,云端的手无法伸向地面的云,所以还要推出非云端产品,要把自己的云端技术,布建到更靠近使用者附近的设备上。
电信业最早嗅到边缘计算商机
不过,赶在云端厂商发觉前,电信营运及设备商早从3年前,就已经开始将边缘计算视为是未来发展新世代5G移动网络的关键技术之一,因为是在电信基地台连接回程网络的近端,放置一台服务器,以便将原来传回后端核心网络的数据拦截到服务器上运算处理,所以这样的网络架构又称为移动边缘计算(Mobile Edge Computing,MEC),甚至还由欧洲电信联盟(ETSI)专门成立工作小组制定产业共通标准,来加速推动建立MEC生态系,去年9月,ETSI也首度展示了MEC概念性验证的初步成果,可以运用在如企业服务、健康医疗及视讯分析等应用。
不只云端、电信业者纷纷押宝边缘计算的市场,连全球最大开源社群Linux基金会今年4月也决定成立新项目来大力推动边缘计算,要打造一套通用物联网边缘计算框架,超过50家软硬件厂商和新创加入,包括Dell、AMD、VMware等。在早之前,则有网通厂商思科为首在前2年成立的OpenFog联盟,不过,OpenFog联盟使用的是“雾运算”(Fog Computing)当名称,来与边缘计算做区别,代表更重视云端与雾运算之间垂直互操作性的发展,OpenFog联盟成立迄今已有包括ARM、Dell、Intel、微软、鸿海、通用公司、AT&T在内超过50家业者加入。
边缘计算是什么?为何连云端龙头都甘愿为它推出非云产品,而电信业者也将它视为发展5G不可缺少的重要关键技术,连全球最大开源社群都登高一呼成立项目来大力推动它,甚至连以前曾担任Citrix云端部门资深副总裁的美国知名创投A16z合伙人Peter Levine都斩钉截铁的说:“
边缘计算将会吃掉云计算。
”就连我们跨海远距采访到的Linux基金会物联网资深总监Philip DesAutels都亲口说出:“
纯云计算时代正在终结,边缘计算开始兴起”。
边缘计算说穿了就是一种就近运算的概念,将运算更靠近数据源所在的本地区网(Local Network)内运算,尽可能不用将数据回传云端,以减少数据往返云端的等待时间及网络带宽成本。边缘计算通常是在本地端和云端两边交界的附近做运算处理,也就是数据进出区网附近的位置,这么做的目的,在于既可以将运算环境放在本地,同时又可以靠近云端边界附近,借此跟云衔接。毕竟并不是全部的数据都能放在本地端运算,还是会有些需要更进一步分析及判断的数据,最后还是要传回云端来处理,或是做为长期存取的使用。
边缘计算架构也适合物联网应用
边缘计算也适合用来部署物联网应用,特别是在新兴物联网应用领域,例如自驾车、无人机、增强现实(AR)/虚拟现实(VR),以及机器人等,这些崭新应用特别强调
实时的影像分析及辨识处理能力
,对于网络的低延迟和高带宽要求极高,需要在数十毫秒甚至微秒时间内就要反应,然而透过因特网传输往返云端,至少需要上百毫秒才能反应过来,所以这类型的应用,就很适合采用边缘计算架构。
边缘计算因为是在靠近数据源所在的局域网络环境内运算,所以可以是
在一台大型运算设备,或者是很多台中、小型运算设备或设备组成的本地端网络内运算
,这些运算设备可以是个人所有的移动设备(如智能手机、穿戴式设备),也可以是终端设备(如网关、监视摄影机、银行ATM),或是其他物联网设备。因为运算设备和设备之间彼此靠得很近,网络传输更直接,如透过Wi-Fi、蓝牙等,所以传递数据变很快。
网关(Gateway)是常见的一种边缘计算设备,不过跟传统只用来搜集和转发资料的物联网网关相比,新一代边缘网关变得聪明,开始具有运算分析能力,能将靠近传感器和其他物联网设备周围搜集的数据先运算处理,让数据变少以后再回传云端,即使没有网络,边缘网关也能透过和其他运算设备组成一个具有分布式计算架构的本地端区网,自行就可以接手运算,等待网络恢复后,才将处理后的资料传回云端,若是边缘设备运算能力足够,甚至有时可以直接在本地端处理完,不必再送回云端接续处理。
这也直接点出了边缘计算和集中式的传统云计算架构最大不同之处,因为采用分布式计算架构,可以将运算分散靠近地面数据源的近端设备处理,以分摊原本在云计算的工作量,而不需要大老远将资料传回云端才能处理,因此速度变更快,甚至没有网络,靠近地面的运算设备也能接手自己处理,无云也没关系。
边缘计算因为是设计一个本地端运算网络环境,以便于能就近处理数据,而不需要像云端离数据源太远,所以有人说,边缘计算是一朵地面的云,但是不像雾运算比较是整个特定区域的地上云,遍布范围较广,边缘计算则可以是靠近数据源产生的一个小型区域的运算丛集,可以进到雾进不去的地方。所以边缘计算其实就是一个本地端的云,甚至是一个在室内的云。从前天上的那朵云到了地面变成雾,现在还缩小进到工厂、办公室、汽车甚至变成你家中的一朵云。
边缘计算的兴起,其实和近几年企业IT架构发展逐渐改采混合云架构来部署,也有些许相似之处,因为从应用角度来看,混合云的出现也是为了解决公有云的网络传输及延迟的问题,毕竟和企业内部网络相比,终究因特网的传输速度还是过慢,若企业要将关键应用整套搬上公有云用时,就会被拖累,例如数据库数据不同步等问题,以致于不少采用公有云的企业,也同时会结合私有云方式来部署,只不过
以前这些私有云是由许多台企业级服务器、储存和网络设备所布建而成,现在,可以是由许多不同大小的运算设备或设备组成。
云端大厂相继押宝边缘计算
当然,边缘计算之所以变得越来越重要,不只是解决了云端与本地端联机的瓶颈,对云端来说,这也是一个将天上的云延伸到本地端的作法,
只要透过边缘计算设备就能进到本地端,能让地面的云,也成为天上云的边界一部分。
在边缘计算起飞之际,即便是以前极力拥护云端的一些主要云端大厂,最近也都突然大转变,开始说要重视边缘计算,连云端服务龙头Amazon都惊觉只做云端产品还不够,还要推出非云端的产品。Amazon去年一口气就发布的非云端产品有三款,分别是能
让自家云端Lambda程序开始能在AWS环境外的边缘设备执行的Lambda@Edge,还有将无服务器运算能力也带到IoT设备内的AWS Greengrass,甚至 Amazon后来还推出一个具备储存和运算的数据储存设备 AWS Snowball Edge,内建Lambda执行环境,可做为脱机使用,以便于在云端不能服务时,程序还可以转移到本地端的这台设备接手继续执行。
另一家云端大厂微软也在今年押宝边缘计算,甚至微软执行官Satya Nadella在今年Build 2017开发者大会开场时更直接喊出:“ Intelligent Cloud and an Intelligent Edge(智能云与一个聪明边缘设备)”的口号,以取代原先“移动优先、云端优先”的云端战略。微软今年上半也推出两大主攻边缘计算的非云端产品, Azure串流分析工具是其中之一,这是原本Azure云端才有的串流分析服务,现在也能用于本地端,可以直接就近分析串流数据,以便于加快异常事件的预警反应。
云端业者以外,思科也与商用分析软件业者SAS连手,准备把
商用分析技术带进设备内,让边缘设备也具备商业分析能力。
而台湾也有厂商嗅到边缘计算商机,例如老牌嵌入式系统厂商研华科技今年就发表了一系列
边缘智能服务器软硬整合解决方案(Edge Intelligence Servers),可以先应用在工厂、零售、车队物流、医疗,以及环境与能源等行业。
比起云端业者早抢先一步布局边缘计算的电信业,近年来也有取得不错的新进展。开始有大型电信商将电信网络服务与边缘计算来结合,例如,美国电信巨头Verizon就在今年OpenStack年度大会上,展示利用OpenStack打造的一台虚拟客户端设备(Virtual Customer Premises Equipment)。这是利用白牌服务器打造的一台虚拟网络设备,外型就像一个白色小方盒,可以提供虚拟化网络功能(VNF),如网络优化、安全等。这个小盒子因为具备LTE功能,可以直接放置在靠近办公室最近的位置,以便于企业能随时依需求来增减网络服务。Verizon 甚至用Cloud in Box来形容,这就像是把一朵云缩小放进盒子,你走到哪,云就跟到哪,还可以带进到企业办公室,就像是在办公室的一朵电信云,这其实就是一种利用网络功能虚拟化技术,实现移动边缘计算的应用例子。
云端大厂微软也在今年押宝边缘计算,微软执行官Satya Nadella在今年Build 2017开发者大会开场时更直接喊出要做聪明边缘设备,要把自己的云端技术布建到更靠近使用者附近的设备上。(图片来源/Build 2017)
连全球最大开源社群也大力支持
边缘计算虽然才刚窜起,但也逐渐有越来越多的科技、网通、芯片及物联网各家业者纷纷抢进,也让边缘计算发展的生态系,开始变得越来越热闹了。甚至连身为全球最大开源社群的Linux基金会,最近也决定成立EdgeX Foundry这个新项目,专门要为边缘计算来推动建立一套可互相沟通和协作的通用标准,让身处在地面云环境的运算设备不用上到云就可以自己来沟通。(详见本文末尾延展阅读:
Edgex Foundry项目简介
)
为何Linux基金会非得需要出面推动这件事?最近才刚新接任EdgeX 项目执行董事的Philip DesAutels话讲得很直接,“因为边缘计算市场和技术已经准备就绪,而社群也正大声嚷嚷吵着要呢!”他也指出,
EdgeX提供的是一个可以用来建立物联网边缘生态系的共通框架。 过去基于运算发展有了开源Linux,而在数据中心则有开源云端应用平台Cloud Foundry出现, 到了网通则有网络功能虚拟化(NFV),“现在,该是换我们挺身为物联网边缘做这件事的时候了。
”他说。
Linux基金会以外,还有去年底以中国电信设备商(华为)为首的少数几家业者成立的边缘计算产业联盟(Edge Computing Consortium),则是致力于发展产业物联网边缘计算的解决方案。
除了有云端、开源社群力拱,近年来AI技术的成熟,也变成推动边缘计算的另一股力量。当这些边缘设备的运算分析能力越来越强,现在开始也有更多厂商
将机器学习、甚至是深度学习的能力带进设备内,使得现在的边缘设备也能做到云端能做的事,应用也越来越广了
。例如微软今年就抢先发行一套预览版Azure IoT Edge,不只能串流分析数据,还开始将Azure机器学习及AI认知服务带进设备端,让设备想要就近结合机器学习变得更容易多了。SAP年初也另外推出了一套SAP Leonardo边缘计算解决方案,开始把SAP云端原有的机器学习和预测分析服务,带进到物联网边缘设备内。除了AI技术外,也开始有包括芯片、GPU、网络及大数据管理商,专为边缘设备释出新的AI开发工具、框架及分析平台。
云端正在迈向终结了吗?
当更多的边缘设备开始具备AI能力,而且可以执行较复杂的AI应用时,设备将变得更聪明。这也意味着,
未来将有更多的云计算工作,可以在本地端就先处理完,不必再上云,而云端将来更像扮演一个中央的管理者或协调者,或是做为一座数据训练中心。
而当有越多的边缘设备接手以前云端的大部分工作,也有人主张,云计算最后可能只剩下储存用途而已,甚至去年Peter Levine就因此提出了“云计算正迈向终结”的说法,甚至他认为,边缘计算最终会反过来吃掉云端。
虽然云端会不会终结,目前各界也持有不同的看法。像Philip DesAutels自己就相当认同云计算迈向终结的说法,甚至他更认为,这件事早已经再发生了。“
但这并不是指云端会就此消失,而是代表一个纯云计算年代的终结。
”Philip DesAutels强调,当更多运算可以交付边缘设备处理时,云端也会因为这些设备变聪明而跟着越来越有智慧,“将来,云端更像是扮演一个集中式协调管理的角色,成为一个具有分布式集体智慧的云端大脑。”
不过多数学术圈及产业界人士的看法,则倾向支持这两者是互补的关系,而非对立。林盈达就认为,
边缘计算的角色,最终目的并不是取代云端,而是要透过边缘计算采用的分布式架构,“让原本集中式的云可以去中心化,将云端的边际向外围更进一步延伸,可以更靠近用户所在的网络”,以便于满足对于网络等待时间、带宽更高需求的新兴应用,所以两者目的并不冲突。
工研院资通所先进通讯系统与标准发展技术部经理杨人顺也有相似的看法,甚至他认为,将来云端非但不会消失,还会改变云计算现有的数据存取模式,以后的云端服务模式将渐趋于担任一个后援的管理团队,来负责支持前线的边缘设备正常的运作,而比较不会直接和使用者接触,只有在少数的情况下,才会由云接手,例如需开启网页的网络服务等。
目前也是OpenFog联盟成员的台湾大学代表人之一的台大电机系教授魏宏宇也直言,
云计算要消失很难,因为云计算架构的好处并没有不见,像是可以提供IaaS、PaaS、SaaS的云端服务型式,让规模不大的中小型企业,可以租用方式,来取得运算资源,而不需要前期投入大笔建置成本,而且云端架构是以弹性扩充为设计考虑,可以更有效集中资源,来满足不同企业IT架构扩充的需求。
研华科技技术官杨瑞祥则从应用面来解释,边缘计算和云计算各自是分层负责的关系。他表示,
将来数据上不上云端完全看解决应用的需求是什么,以及对应的边缘计算设备有没有能力现场处理,例如需要利用巨量数据来训练机器学习模型时,这时,边缘计算就应付不来,还是得走云端这条路。杨瑞祥也强调,“云端这门生意,不会像传统大型主机一样,逐渐式微甚至消失,反而会因边缘计算更加发展而持续壮大。
”
云端终结说虽然是有点夸张的说法,但从运算架构的演进来看,这其实也正反映出了未来边缘计算扮演的角色,将变得更加重要,甚至不输给现在的云端。根据IDC的报告,从明年开始,全球设备将有高达4成产生的数据量会就近在边缘设备来处理、分析及储存,以降低网络传输的成本。另一份不同的IDC调查也显示,去年开始导入边缘计算架构的企业比例有高达4成,预计今年的采用比例也将持续攀升。
尽管,云计算将会继续发展并不会停歇,但边缘计算也正逐渐从现有的IT运算架构中,开始占有一席之地。云计算和边缘计算有各自不同的优势,也各自有拥护的阵营,但不论是天上的云,还是地面上的云,或是想进到你家里的云,只要可以帮助企业解决问题,就是好用的云。过去几年,企业不是专注于上云端,就是想着拥抱更多的云,现在,企业也得开始低头注意身旁的这朵本地云,如何善用不同的云的优势,来做更好的发挥,未来也将考验着企业的智慧。
本文转自d1net(转载)
Edgex Foundry项目简介
EdgeX Foundry 是由Linux基金会主持的供应商中立的一个开源项目,为物联网边缘计算构建一个通用的开放框架。该项目的核心是一个可互操作性框架,该框架托管在完全与硬件和操作系统无关的参考软件平台中,以实现即插即用组件生态系统,从而统一市场并加速物联网解决方案的部署。
EdgeX是感兴趣的各方可以自由协作开放和可互操作的物联网解决方案的重要推动者,这些解决方案使用现有的连接标准与他们自己的专有创新相结合。
EdgeX Foundry的目标包括:
-
构建并推广EdgeX作为统一物联网(IoT)边缘计算的通用开放平台
-
启用并鼓励快速增长的物联网解决方案提供商社区围绕EdgeX平台架构创建可互操作的即插即用组件生态系统
-
认证EdgeX组件以确保互操作性和兼容性
-
提供工具以快速创建基于EdgeX的物联网边缘解决方案,从而轻松适应不断变化的业务需求
-
与相关的开源项目,标准组和行业联盟协作,以确保整个物联网的一致性和互操作性
EdgeX Foundry与众多其他物联网计划并列在一起?
EdgeX Foundry专注于工业物联网边缘。EdgeX Foundry利用云原生原则(例如松散耦合的微服务,平台无关),但其架构可满足物联网边缘的特定需求,包括基于IP和非IP的连接协议,广泛分布式计算的安全性和系统管理节点,并缩小到高度受限的设备。
-
该项目的最佳点是边缘节点,如嵌入式PC,集线器,网关,路由器和本地服务器,以解决分布式物联网雾结构中“南北,东,西”的关键互操作性挑战
-
如下所示的松散耦合平台可以完全在一个边缘节点上运行,或者分布在多个节点上
-
设备服务还可以在智能传感器上独立运行,并直接与上述层中的核心服务进行通信
EdgeX Foundry将受益于特定行业的互操作性工作,并致力于成为一股统一的力量,创建一个生态系统生态系统,为统一异构成分提供最大的灵活性。
EdgeX Foundry项目的一个关键原则是保持平台独立性以实现最大规模:
松耦合微服务平台架构
建议的架构(单击图片可放大观看)
EdgeX Foundry允许客户部署插件的混合松散耦合的分层物联网的体系结构。作为一个开源的,社区驱动的项目,当前的架构方案将随着时间的推移而发展。
必要的互操作性基础(上图以紫色突出显示)
可选参考服务(上图灰色部分)
该架构在物联网“雾”中根据需要支持“北,南,东和西”通信,并且可以部署在分层计算架构中的各种边缘节点上。插件和微服务组合的部署依赖于主机设备的能力。
(单击图片可放大观看)
如何从参与该项目中受益?
-
最终客户:快速,轻松地部署物联网边缘解决方案,灵活地动态适应不断变化的业务需求。
-
硬件OEM:通过可互操作的合作伙伴生态系统以及更强大的安全性和系统管理,扩展速度更快 您的硬件变得更容易部署,并且EXF支持更广泛。
-
ISV: 与第三方应用程序和硬件互操作,无需重新连接。为经过认证和可互操作的组件组装复杂的解决方案
-
传感器/设备制造商:使用SDK编写一个带有所选协议的设备驱动程序,并从所有解决方案提供商处获取。
-
系统集成商:通过即插即用的成分与您自己的创新相结合,更快地进入市场
怎么参加?
边缘计算框架EdgeX迎来第二次大版本更新,强化安全性并减少资源占用
雷锋网消息,Linux基金会旗下的EdgeX Foundry近日公布其用于边缘计算的EdgeX IoT中间件将迎来代号为California的第二次重要版本更新。新版本主打安全性与弹性,安全功能新增了反向代理(Reverse Proxy)与安全凭证储存(Secure Credentials Storage)。EdgeX也使用Go语言重新改写,使其占用资源更少、效能更高,以能够在树莓派3上运行。
EdgeX Foundry于2017年7月底宣布,其目标是为物联网边缘计算开发标准化的开源互操作性框架。该框架促进了跨边缘分析,安全性,系统管理和服务的互操作性代码,并简化了物联网网关和智能边缘设备的预认证软件的集成。EdgeX Foundry正在创建一套开源EdgeX堆栈,将在多个传感器网络消息传递协议以及云和分析平台之间进行协调。
安全性和灵活性
“我们的目标是将连接标准和设备接口与应用程序分离,”戴尔开发人员和主要EdgeX撰稿人Jason A. Shepherd称,“EdgeX将通过平台独立性、松散耦合的微服务以及通过公共API将不同语言编写的服务整合在一起,实现灵活性和可扩展性。这些云原生的原则在边缘是绝对必需的,可以在一个固有的碎片化,多边缘和多云世界中扩展。“
EdgeX基于戴尔开创性的FUSE IoT中间件框架,其输入来自类似AllJoyn的兼容项目IoTX。戴尔是ADI公司和三星公司的三大白金会员之一。EdgeX Foundry目前共有61个成员,包括AMD,Canonical,Cloud Foundry,Linaro,Mocana,NetFoundry,Opto 22,RFMicron和VMware。
California是去年10月Barcelona的后续版本,Barcelona版本提供了参考设备服务,支持BACNet、Modbus、低功耗蓝牙(BLE)、MQTT、SNMP和Fischertechnik,另外也支持Azure IoT套件和Google IoT Core连接器。
EdgeX California的主要新功能旨在提高安全性,基于Kong的新反向代理要求任何EdgeX微服务的外部客户端,在载入EdgeX API前先进行身分认证,这将有助于保护REST API通信并保护存储。
新的机密存储设施基于HashiCorp的开源Vault,它允许您在EdgeX中安全地存储敏感数据(如用户名/密码凭据、证书和令牌)以执行加密,向企业发出HTTPS调用或将EdgeX安全地连接到云提供商等任务。
Jason A. Shepherd提到,反向代理与机密存储是EdgeX构建其他功能的基础,不过在Barcelona版本的EdgeX并没有这些安全性功能,因为希望所有的安全层都由RSA、ADI、Thales,ForgeRock和Mocana等行业专家社区定义,并与California版本一起推出。
转向Go语言
California版本的另一个重大变化是将开发平台从原本的Java语言转移至Go语言。虽然这项改变让California版本的发布延迟了几个月,但EdgeX的容量、启动时间、CPU和内存使用率都有了大幅度的下降。
用Java语言开发的EdgeX容量高达267MB,如果加上启动容器则为519MB,而改用Go语言重写后只有42MB,即便加上启动容器也只有68MB。内存占用率也从原本的1302MB缩减到了27MB,启动时间从35秒缩短到了一秒以內。
这样的效能提升,让官方可以指定树莓派3作为官方平台。Jason A. Shepherd表示,Go语言的并发模型比其他开发语言更优秀,除了得到Google的支持外,也与其他诸如Docker和Kubernetes等许多其他大型软件开发工作兼容良好。不过他也提到,EdgeX从Java语言转向Go语言不仅是为了减少资源占用,也是为了避免向Java支付授权费用。
Jason A. Shepherd指出,Go语言只是一种基准参考语言,开发人员可以将相同的API与其他语言一起使用,除了Go for the Device Service SDK之外,该项目还将支持C语言。EdgeX Foundry之所以选择Go,是因为它在硬件和操作系统方面更加独立,而由于C语言可以比Go语言更进一步减少占用空间,因此对于那些低阶的边缘运算应用,C语言可能是更好的选择。
当被问及与其他云驱动的物联网平台(如AWS Greengrass或Google的新Cloud IoT Edge平台)集成的可能性时,Jason A. Shepherd表示,EdgeX一直在探索与其他私有云栈合作的机遇,但能否达成合作取决于它们的开放性和体系结构。
展望未来版本,EdgeX计划将占用空间减少到128MB或更低,官方称今年10月还会放出更新的Delhi版本,将新增可管理性服务、设备服务SDK、改进的单元和性能测试,以及演示的基本EdgeX UI等组件,同时还会持续改进Kong和Vault的安全功能。
EdgeX Foundry理论篇
摘要:
总体架构 核心服务层 核心数据微服务 搜集持久化设备和传感器等边缘设备数据,支持导出到云。目前,数据本地存储交互通过REST APIs,未来会支持更多协议:MQTT, AMQP等。数据导出到Export Service layer,通过ZeroMQ、MQTT。
总体架构
核心服务层
核心数据微服务
搜集持久化设备和传感器等边缘设备数据,支持导出到云。目前,数据本地存储交互通过REST APIs,未来会支持更多协议:MQTT, AMQP等。数据导出到Export Service layer,通过ZeroMQ、MQTT。persist.data=false,数据不存核心数据,直接通过消息队列到达Export Service layer。本服务是唯一能获得设备数据的服务。
查询数据流程图
添加属性流程图
命令微服务
负责把命令从北端传到南端,不允许非法命令与设备交互。命令主要来自一下:其他微服务命令(本地边缘数据分析、规则引擎微服务)、其他应用命令(系统管理agent关闭一个设备)和外部系统命令(修改一系列设备设置文件)。命令微服务提供统一规范方式与设备通信,GET命令获取设备数据;PUT命令下发action或下发配置数据。命令微服务通过设备服务同设备交互,不直接交互设备。
查询命令流程图
发送命令流程图
元数据微服务
元数据微服务主要包括管理设备配置文件,包括设备信息、设备数据结构类型和设备命令。每个被EdgeX 管理的设备,都在元数据有关联ID,设备关联设备配置文件和设备服务。元数据微服务管理设备服务信息,其他微服务通过设备服务同设备交互。设备服务,对应一特定设备协议,比如Modbus设备服务,负责管理所有Modbus设备。本服务是唯一能获得设备、设备配置和设备服务的微服务。数据本地存储交互通过REST API,未来会支持更多协议:MQTT, AMQP等
架构图
启动设备流程图
添加设备流程图
配置注册微服务
管理EdgeX Foundry微服务配置、执行参数和状态。提供微服务启动所需配置,如端口号等。各微服务启动,注册自身信息到本服务。对于注册服务,采用ping各微服务方式来探活, 频率每10 seconds一次。配置发生变更,本服务会及时通知对应微服务,配置信息会覆盖微服务内置配置信息,可支持动态切换环境,满足微服务架构动态扩展需求。在配置注册微服务不可用时,微服务可脱离本服务,使用自身内嵌配置启动。交互方式:RESTful APIs。
配置注册服务交互图
支撑服务层
通知告警微服务
告警通知微服务负责在设备发生故障,生成告警,发生告警到目的应端目前支持e-mail 和 REST 回调。通知分两种,NORMAL和CRITICAL,CRITICAL立刻发送通知到分发协调组,NORMAL等待消息调度器统一处理。可扩展,按需起调度器处理通知作业。
架构图
左边:API提供给其他微服务和应用调用,能通过 REST, AMQP, MQTT,或者其他标准应用协议,目前支持REST。
右边:消息订阅者通过订阅RESTful,订阅特定类型通知。消息接收者,在事件发生时,可通过SMS、, e-mail, REST callback, AMQP, MQTT等。
发现告警流程图
响应告警流程图
日志微服务
通过RESTful APIs提交日志请求、查询历史日志、移除历史日志,用LOGBack做日志框架,可以通过文件或MongoDB持久化日志。
架构图
日志请求流程图
调度微服务
EdgeX 的调度服务及其轻量,只负责定时清理设备数据。默认每30分钟执行一次,调用Core Data API执行清理任务
规则引擎微服务
规则引擎提供了一种边缘事件触发机制,监控边缘设备数据。符合条件,触发行为,通过命令服务下发指令。内核引擎采用Drools,由JBoss社区提供的开源规则引擎。规则引擎启动会自动注册到输出客户端注册服务,检测设备数据对于重要敏感案例,规则引擎可以直接对接核心数据微服务,需要设置配置文件,export.client=true。通过RESTful API动态添加规则。
架构图
添加规则流程图
输出服务
客户端注册微服务
输出客户端注册微服务让客户端注册为数据接收者,按需过滤流转数据。Clients on-gateway:包括本地分析服务,事件处理器,规则引擎等。Clients off-gateway:经典企业云系统或网关聚合系统,提供历史数据和更深层次数据分析能力。通过REST API创建新请求,更新存在请求,删除请求。
架构图