边缘计算(三)——边缘计算的解决方案

2019-03-07 14:35:36 浏览数 (1)

目前,市场上存在的边缘计算相关概念包括雾计算、边缘计算、多接入边缘计算/移动边缘计算、移动云计算等概念。这是边缘计算的第三篇,主要讲的内容是边缘计算的解决方案。

Cloud Foundry平台

Cloud Foundry是一款使用Ruby开发的开源Paas平台,由VMware于2009年开发,并于2014年2月转交给Cloud Foundry基金会管理,正式成为开源软件。遍布全球的财富500强企业中有一半以上(包括金融服务,政府办公室,汽车公司等等)都依赖Cloud Foundry来提高速度,灵活性和效率。当然,相对于云计算、大数据等概念以及平台,Cloud Foundry就显得不那么声名显赫了。CloudFoundry是VMware主导一款开源PaaS云计算平台。遵从OpenStack云计算平台规范。

Cloud Foundry作为目前最有活力的开源Paas平台,有效降低了工业物联网平台的准入门槛和开发周期。目前,基于Cloud Foundry开发的工业IoT平台包括:

  1. GE Predix平台;
  2. 西门子MindSphere;
  3. 博世IoT Cloud;
  4. 霍尼韦尔Sentience。

除此之外,还包括如下物联网平台等:

  1. IBM Cloud(原IBM Bluemix);
  2. SAP云平台(原SAP HANA云平台);
  3. 华为FusionStage。

由此可见Cloud Foundry之于物联网的价值。下面,我们讲一下Cloud Foundry平台的整体架构。

Cloud Foundry由路由、鉴权、应用生命周期管理、应用存储和执行、服务、消息、度量和记录等组件组成。

路由组件定期查询Diego公告板系统(BBS)以确定每个应用程序当前运行的单元和容器。使用此信息,路由器将根据每个单元虚拟机(VM)的IP地址和单元容器的主机端口号重新计算新的路由表。

OAuth2服务器(UAA)和登录服务器协同工作以提供身份管理。

Cloud Controller云控制器通过CC-Bridge组件指示Diego Brain,以协调各个Diego单元以分阶段运行应用程序。nsync、Diego Brain、Cell Reps不断监视其状态并将其与预期状态进行协调,根据需要启动和停止进程。

Blob Store是大型二进制文件的存储库,App Execution(Diego Cell)将应用程序任务和登台任务都在Diego Cell VM上作为Garden容器运行。

Service Brokers依赖于第三方服务,数据库或第三方的SaaS服务提供商。当开发人员为服务提供服务并将其绑定到应用程序时,该服务的服务代理负责提供服务实例。

Cloud Foundry组件VM通过HTTP和HTTPS协议在内部相互通信,共享临时消息和存储在Diego的公告板系统(BBS)中的数据。

BBS存储更频繁的更新和一次性数据,例如单元和应用程序状态,未分配的工作和心跳消息。BBS使用Go MySQL Driver在MySQL中存储数据。

最后的Metrics Collector、APP log Aggregator等组件将应用程序日志传输给开发人员,监控Cloud Foundry部署。

Cloud Foundry采用开放架构,因此支持多种架构:

  • 支持各种框架,包括Spring for Java,.NET,Ruby on Rails,Node.js,Grails,Scala on Lift以及更多合作伙伴提供的框架(如Python,PHP等);
  • 支持各种应用服务,包括PostgreSQL,MySQL,SQL Server,MongoDB,Redis以及更多来自第三方和开源社区的应用服务;
  • 支持公有云、私有云或者混合云等多种部署方式,包括vSphere/vCloud,AWS,OpenStack,Rackspace等。

EdgeX Foundry平台

EdgeX Foundry是由Linux基金会发起的vendor中立的开源项目,为物联网边缘计算构建了一个通用的开放框架。该项目的核心是在完整的硬件和操作系统无关参考软件平台中托管的互操作性框架,以实现即插即用组件的生态系统,从而统一市场并加速物联网解决方案的部署。

EdgeX Foundry专注于工业物联网边缘设备,即嵌入式PC,集线器,网关,路由器和本地服务器等边缘节点。EdgeX Foundry利用云原生原理(例如松散耦合的微服务,平台无关),但其架构可满足物联网边缘的特定需求,包括适应基于IP和非IP的连接协议,广泛分布式计算的安全和系统管理节点,并缩小到高度受限的设备。

EdgeX Foundry专注于解决分布式物联网雾体系结构中“南,北,东,西”的关键互操作性挑战,可以完全在一个边缘节点上运行,也可以分布在多个节点上。

EdgeX Foundry项目的一个关键原则是保持平台独立性,以实现最大规模:

任何架构(如x86或ARM);

任何操作系统(例如Linux,Windows,Mac OS);

任何应用程序环境(允许用Java,Javascript,Python,Go,C / C 等编写的微服务通过通用API一起工作)。

EdgeX Foundry是一个开源微服务集合,包括核心服务层、支持服务层、导出服务层、设备服务层、安全和

系统管理等6类微服务,其中:

  • 设备服务层提供SDK,允许用户为不同种类的设备(包括运行EdgeX Foundry的其他设备)创建虚拟设备,从而实现数据收集、参数配置和设备控制等操作;
  • 核心服务层用于提供元数据(设备信息、数据格式、操作命令等)存储、核心数据存储和访问、设备操作、微服务注册和配置等功能;
  • 支撑服务层通过规则引擎来允许云端应用和其他内部微服务在条件触发时产生动作从而实现本地和云端智能控制;通过调度层实现核心数据调度;
  • 出口服务层是数据的唯一出口,允许云端应用和其他内部微服务注册为核心数据的接收者,然后通过分发服务将数据分发给云端应用;此外,出口服务层也提供Google Cloud IoT平台接口;
  • 系统管理层提供EdgeX Foundry微服务,BIOS固件,操作系统和其他网关相关软件的安装,升级,启动,停止和监控等功能;
  • 安全层用于为其他微服务提供安全保障。

Cord平台

CORD是开放网络基金会(ONF)使用SDN(软件定义网络)和NFV(网络功能虚拟化)、云计算(OpenStack)等技术,为运营商创建的一个云原生,开放,可编程,灵活的数据中心开源软件平台。

CORD在2017年取得了巨大的进步,有60多家公司和运营商参与到CORD项目中来,催生了CORD社区的发展壮大。同时,CORD 4.1还将发布重点转移到了边缘数据中心领域,致力于成为部署边缘云和边缘计算新服务的最佳开源平台。

CORD核心利用数据中心中的leaf-spine分布式核心网络架构和白盒设备来重构运营商的端局,其中leaf叶节点负责连接服务器和网络设备,spine针节点负责连接交换机,保证节点内的任意两个端口之间提供延迟非常低的无阻塞性能,从而实现从接入到云平台的敏捷服务。

ORD现在包括3个面向不同市场的解决方案:

  • 面向5G移动边缘基站的分布式解决方案M-CORD;
  • 面向有线接入家庭用户的R-CORD;
  • 面向城域网和广域网上企业用户的E-CORD。

CORD平台主要由XOS、ONOS和OpenStack/Docker等部分组成:

  • XOS:CORD的web管理控制台,调用ONOS和OpenStack来提供CORD相关服务;
  • OpenStack/Docker:用于管理运行VNF的虚拟机和容器;
  • ONOS:ONF社区主导开发的SDN控制器,作为OpenStack Neutron plugin管理OpenStack虚拟网络,提供服务链,同时管理数据中心的白盒硬件(白盒交换机,白盒vOLT等)。

Openstack

目前来看,OpenStack作为边缘计算云端平台特别具有吸引力,或者说在发展日渐面临一些困难的时候,边缘计算的浪潮,让OpenStack犹如又获得了一股新的推动力。

OpenStack提供了可以在任何地方部署的基础设施构建模块,包括网络边缘。OpenStack的灵活性和模块化特性意味着可以高效地运行边缘设备所需的最小服务,并同时为裸机,容器技术和虚拟机提供强大的支持。目前,OpenStack已经是分布式程度最高的基础设施软件,在全球数千个数据中心运行,并且许多电信和零售行业的用户都在努力通过OpenStack推进边缘计算用例。

Cloudlet(朵云)

Cloudlet,又称随我云(follow me cloud)、移动微云(mobile micro-cloud),派生于卡内基梅隆大学的Elijah项目,由OpenEdgeComputing.org组织推动,用于支持资源密集型和交互式的移动应用程序,满足增强现实应用、远程渲染的云游戏等低延迟、高带宽的需求。

为了满足本地开发和云端部署的跨平台需求并利用OpenStack开放的生态系统,Elijah项目产生了OpenStack 。OpenStack 基于修改后的QEMU的云端库,并集成到OpenStack平台中,提供边缘计算OpenStack 需求的基本功能,包括快速配置,实时VM切换和基于当前带宽的自适应功能等。

ARM Mbed

ARM mbed IoT设备平台是ARM物联网小组构建的包含公有云平台(Mbed Cloud)、物联网操作系统(Mbed OS)、Mbed TLS库以及其他相关软硬件支持,包括100多个支持Mbed的板卡,400多个组件,用于编写,构建和测试应用程序的工具以及服务器和客户端工具等等,是一个完整的技术和生态系统,能够实现真正的IP到边缘和可互操作的IoT应用,从而大规模创建和部署基于标准的商业IoT解决方案。

Mbed Cloud是ARM用以提供用于交互和管理连接设备的托管服务的公有物联网云平台:

  • 支持多种连接方式下的安全连接,包括6LoWPAN, Thread, Cellular, Wi-Fi, Low-powered Mesh, Mobile IoT (LPWA)等;
  • 支持CoAP和OMA LwM2M(轻量级M2M)通信和设备管理协议;
  • 支持使用多种Web应用程序开发接口,包括REST API,JavaScript和Python中的软件开发工具包(SDK)以及在线门户;
  • Mbed Cloud客户端适用于多种操作系统,且支持端到端的远程固件更新;
  • Mbed Cloud Provision SDK包含Mbed Cloud客户端中的工厂配置客户端(FCC)和工厂配置器实用程序(FCU),能够对设备凭证(私钥,证书,唯一ID等)和配置(参数、服务器URL等)进行验证并安全地存储在设备的受保护存储器中;
  • 通过Mbed Edge SDK提供协议翻译、网关管理,以及本地应用程序执行环境和计算资源。
  • 通过Mbed On Premises支持企业内部服务器部署和公有云、私有云等各种云部署等。

Mbed OS是一款免费的开源嵌入式操作系统,基于专为运行在ARM Cortex-M单片机和ARM CMSIS-RTOS接口标准的实时操作系统ARM Keil RTX内核,可以在非常小的设备上支持线程、TLS、信号量、互斥锁、线程等RTOS服务,以及蓝牙低功耗,Thread,6LoWPAN,Cellular, Wi-Fi, Low-powered Mesh, Mobile IoT (LPWA)和以太网等通信接口,专为物联网设备设计。

Mbed TLS是一款开源,便携,易用,可读和灵活的SSL库,提供了一组可单独使用和编译的加密组件,一个基于加密组件、抽象层、支持组件的SSL/TLS完整实现模块,以及一个精心制作的测试套件,用以向嵌入式设备提供加密和SSL/TLS功能。

0 人点赞