AWS的边缘计算平台GreenGrass和IoT
AWS的边缘计算平台GreenGrass和IoT
为什么需要有边缘计算?
如今公有云和私有云平台提供的服务已经连接上了绝大多数的桌面设备和移动设备。但是更多的设备比如,车辆,工程机械,医疗设备,无人机,生产机械等等在运行的时候都会产生大量的数据,但这些数据往往不会连接到云端;
- 有些时候其实是很难连接到云端,比如在极端条件下工作的机械或者不允许直接连接外网的工业设备往往不可能一直保持互联网连接,并实时上传数据,获得云平台的计算和存储能力。
- 很多设备需要对数据有实时的响应,比如医疗器械和精密工业设备等,云平台的数据中心是集中式的。云平台连接到终端设备的延迟是不可控的,虽然我们能够通过技术手段确保数据中心服务的高可用性,但是互联网是没有办法确保连接的高可用性和高性能的,通过公网提供服务的云平台“心有余而力不足”。
- 所有数据都进入云数据中心是不经济的,海量的数据需要几何增长的数据处理能力。其实终端设备本身就有一定的数据处理和存储能力。应该通过边缘设备整合并提供这些能力。以减轻云平台的压力和成本。
传统的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的更多相关文章
- Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...
- KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码
KubeEdge开源背景 KubeEdge在18年11月24日的上海KubeCon上宣布开源,技术圈曾掀起一阵讨论边缘计算的风潮,从此翻开了边缘计算和云计算联动的新篇章. KubeEdge即Kube+ ...
- 边缘计算在物联网(IoT)当中的运用「物联网架构探索系列」
这里记录的是我对物联网架构的学习.探索和思考,希望对你有所启发…… 边缘计算是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起 ...
- 北美KubeCon新风,正把K8S魔力带向边缘计算
作者:DJ 审校:Kevin·Wang 1. 容器生态圈新的创新方向 2018年容器技术圈的年终盛典北美KubeCon终于在西雅图落下了帷幕.这次北美KubeCon总共吸引了8000多观众参会,创下历 ...
- 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施
作者 | 黄玉奇(徙远) 阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...
- KubeEdge,一个Kubernetes原生边缘计算框架
KubeEdge成为第一个Kubernetes原生边缘计算平台,Edge和云组件现已开源! 开源边缘计算正在经历其业界最具活力的发展阶段.如此多的开源平台,如此多的整合以及如此多的标准化举措!这显示 ...
- 5G 与 MEC 边缘计算
目录 文章目录 目录 前言 参考文献 通信网络 核心网演进之路 早古时期 2G 网络架构 3G 网络架构 4G 网络架构 5G 5G 网络的需求 5G 网络架构的设计原则 5G 网络的逻辑架构 5G ...
- 阿里云物联网边缘计算加载MQTT驱动
写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据. 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[ ...
- 阿里云杨敬宇:边缘计算行业通识与阿里云ENS的技术演进之路
近日,阿里云杨敬宇在CSDN阿里云核心技术竞争力在线峰会上进行了<5G基础设施-阿里云边缘计算的技术演进之路>主题演讲,针对5G时代下,行业和技术的趋势.边缘计算产业通识以及阿里云边缘计算 ...
随机推荐
- 「BZOJ1722」「Usaco2006 Mar」Milk Team Select产奶比赛 解题报告
Milk Team Select 产奶比赛 Description Farmer John's N (\(1 \le N \le 500\)) cows are trying to select th ...
- structs2的048漏洞复现 2.3.32版本
S2-048 远程代码执行漏洞 影响版本: 2.0.0 - 2.3.32 之前在网上说只要时2.3.*的版本都有这个漏洞,自己装了个2.3.34的试了几次都没有执行 然后下载了找到了这篇文章才知道影响 ...
- xshell连接kali linux虚拟机
这次测试一波三折 刚开始在百度经验看的先修改ssh参数,蓝色的字是百度的,重点都在图片上 1.修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 将#Passwo ...
- js删除数组的某个元素
最近在刷算法题,我是用js语言去写的,其中一题需要删除数组的某个元素,查了一下资料,总结一下 使用splice()方法 array.splice(start[, deleteCount[, item1 ...
- pair 数组
当有两个元素需要绑定在一起的时候可以用结构体 , 此时也可以用 pair 数组去替代结构体 . 定义 : pair<int, double> p1; //使用默认构造函数 pair< ...
- CSS中设置元素的圆角矩形
圆角矩形介绍 在CSS中通过border-radius属性可以实现元素的圆角矩形. border-radius属性值一共有4个,左上.右上.左下.右下. border-radius属性值规则如下:第一 ...
- spring boot的日常配置
配置篇 #数据库连接配置msql spring.datasource.url:jdbc:mysql://127.0.0.1:3306/test spring.datasource.username: ...
- [bzoj4872] [洛谷P3750] [六省联考2017] 分手是祝愿
Description Zeit und Raum trennen dich und mich. 时空将你我分开. \(B\) 君在玩一个游戏,这个游戏由 \(n\) 个灯和 \(n\) 个开关组成, ...
- 【JQ】 validate验证表单时多个name相同的元素的解决办法
使用jQuery.validate插件http://jqueryvalidation.org/,当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上. ...
- typescript step by step two