AWS的边缘计算平台GreenGrass和IoT

为什么需要有边缘计算?

如今公有云和私有云平台提供的服务已经连接上了绝大多数的桌面设备和移动设备。但是更多的设备比如,车辆,工程机械,医疗设备,无人机,生产机械等等在运行的时候都会产生大量的数据,但这些数据往往不会连接到云端;

  1. 有些时候其实是很难连接到云端,比如在极端条件下工作的机械或者不允许直接连接外网的工业设备往往不可能一直保持互联网连接,并实时上传数据,获得云平台的计算和存储能力。
  2. 很多设备需要对数据有实时的响应,比如医疗器械和精密工业设备等,云平台的数据中心是集中式的。云平台连接到终端设备的延迟是不可控的,虽然我们能够通过技术手段确保数据中心服务的高可用性,但是互联网是没有办法确保连接的高可用性和高性能的,通过公网提供服务的云平台“心有余而力不足”。
  3. 所有数据都进入云数据中心是不经济的,海量的数据需要几何增长的数据处理能力。其实终端设备本身就有一定的数据处理和存储能力。应该通过边缘设备整合并提供这些能力。以减轻云平台的压力和成本。

传统的IoT架构如下图所示,其实很难满足实际的需要。如上面介绍的,云平台的储存和计算能力并不能及时和有效地发挥作用,很多时候IoT设备并不会和云端一直保持稳定的连接。

AWS IoT Core

AWS在收购了2lemetry后,以这家公司的产品为原型发展出了AWS IoT Core,作为其最初的物联网服务的核心平台。

IoT Core平台有一个设备的注册机制,注册过的设备才能够作为安全的设备连接到物联网中和云端以及其他设备通讯。AWS IoT Core支持各种主流物联网平台的语言和系统。IoT Core也支持安全和可扩展的MQTT broker,进行端到云和云到端的消息通信连接。IoT Core还有拥有一套规则引擎机制,可以定义和过滤数据传输,并且能够和AWS的各种服务进行集成,包括Lambda。

GreenGrass简单介绍

GreenGrass则弥补上了AWS云和IoT设备之间的中间段,主要处理的就是边缘计算这一部分,尤其在和AWS云服务中断同时也能够继续运行,甚至可以在边缘设别上继续执行Lambda应用。通过GreenGrasss,开发者们把一些实时处理和响应的能力下沉到边缘计算设备。亚马逊在2016年就启动了GreenGrass项目,当时是作为AWS IoT的线下网关存在的。随着最近几年边缘计算的理论和实践的发展,事件驱动编程和机器学习接口成为了边缘计算的发展和变革的新动力,GreenGrass在AWS的IoT体系中也变得更加重要。

Greengrass由两个部分组成:Greengrass Core和IoT Device SDK,

  • Greengrass Core是Greengrass的Runtime,核心系统功能。可以执行AMS Lambda,进行消息传输,设备遮蔽(device shadows),安全性保护已经和云端通讯。
  • IoT Device SDK, 用于和Core通讯,发布和接受Greengrass的消息。
  • 通常IoT设备都不是独立工作,各个设备之间能够通讯和协作,同时不同的Greengrass Core之间也可以协作。

Lambda是AWS的一个serverless应用框架,支持在AMS云服务中直接运行代码的方式工作;在Greengrass上,AWS实现本地Lambda机制,即在设备无法连接外部网络的时候仍然能够进行数据处理和运算。提供了sandbox和本地设备直接执行两种模式。

Shadow机制,使用JSON文档定义设备的状态和Lambda功能,同时能够和云端同步,或者只在本地保留和处理数据。

IoT设备和Greengrass的通讯方式采用的是MQTT消息机制,发布和订阅的机制,这样其实简化了通讯和同步的过程。

最后要提到是:在最近的版本中,AWS IoT Greengrass加入了机器学习执行功能,可以下载Amazon S3 bucket上储存的训练好的机器学习模型,在边缘设备上执行人工智能识别等任务。

AWS的边缘计算平台GreenGrass和IoT的更多相关文章

  1. Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台

    2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...

  2. KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码

    KubeEdge开源背景 KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章. KubeEdge即Kube+ ...

  3. 边缘计算在物联网(IoT)当中的运用「物联网架构探索系列」

    这里记录的是我对物联网架构的学习.探索和思考,希望对你有所启发…… 边缘计算是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起 ...

  4. 北美KubeCon新风,正把K8S魔力带向边缘计算

    作者:DJ 审校:Kevin·Wang 1. 容器生态圈新的创新方向 2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕.这次北美KubeCon总共吸引了8000多观众参会,创下历 ...

  5. 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施

    作者 | 黄玉奇(徙远)  阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...

  6. KubeEdge,一个Kubernetes原生边缘计算框架

    ​KubeEdge成为第一个Kubernetes原生边缘计算平台,Edge和云组件现已开源! 开源边缘计算正在经历其业界最具活力的发展阶段.如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示 ...

  7. 5G 与 MEC 边缘计算

    目录 文章目录 目录 前言 参考文献 通信网络 核心网演进之路 早古时期 2G 网络架构 3G 网络架构 4G 网络架构 5G 5G 网络的需求 5G 网络架构的设计原则 5G 网络的逻辑架构 5G ...

  8. 阿里云物联网边缘计算加载MQTT驱动

    写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据. 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[ ...

  9. 阿里云杨敬宇:边缘计算行业通识与阿里云ENS的技术演进之路

    近日,阿里云杨敬宇在CSDN阿里云核心技术竞争力在线峰会上进行了<5G基础设施-阿里云边缘计算的技术演进之路>主题演讲,针对5G时代下,行业和技术的趋势.边缘计算产业通识以及阿里云边缘计算 ...

随机推荐

  1. vue入门,vue指令,vue组件,vue模板

    vue 使用虚拟dom操作减少真实dom操作 提高页面的渲染效率 虚拟dom的本质就是内存中的一个对象,该对象和dom结构相互对应 将开发者经历从dom中释放出来,转移到数据的操作 开发者不需要关注页 ...

  2. CSS常见的继承属性

    时间过得很快参加工作半个月了,利用属性的继承性可以有效提高代码的阅读性. 这里是我个人总结的,虽然不全,但是常见: 1.字体系列属性 font-family:字体系列 font-weight:字体的粗 ...

  3. 傅立叶变换—DFT

    背景:最近看到实验室其他同学在用傅立叶变换解决问题,我也想通过并行来解决这个问题,所以看了一下傅立叶变换的东西,感觉涵盖的东西还能多,我只是初步做了一下了解(一定很片面,但是我主要是为了应用它,主要了 ...

  4. Theia APIs——事件

    上一篇:Theia APIs——Preferences 事件 Theia中的事件或许会让你感到困惑,希望本节能阐述清楚. 来看下面的代码: (来自logger-watcher.ts) @injecta ...

  5. 【转】面向GC的Java编程

    Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题.以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象, ...

  6. .NET 在云原生时代的蜕变,让我在云时代脱颖而出

    .NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开源和跨平台这两个关键优先事项,我们就可以放心了.云原生对应用运行时的不同需求,说明一个.NET Core 在云原生时 ...

  7. 唬人的Java泛型并不难

    泛型 public interface Foo<E> {}public interface Bar<T> {}public interface Zar<?> {} ...

  8. python判断是否是质数

    质数:只能被1和它自身整除 # 获取用户输入的数,判断是否是质数 num = int(input('输入一个任意的大于1的整数:')) i=2 # 创建一个变量,记录是否是质数,默认num是质数 fl ...

  9. 小程序中组件公用属性和data-的使用

    属性名                类型                   描述                              注解 hidden                Boo ...

  10. cogs 1298. 通讯问题 Tarjan

    1298. 通讯问题 ★★   输入文件:jdltt.in   输出文件:jdltt.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 一个篮球队有n个篮球队员,每个队员 ...