AWS的边缘计算平台GreenGrass和IoT

时间:2022-11-13 08:28:29

AWS的边缘计算平台GreenGrass和IoT

为什么需要有边缘计算?

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

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

AWS的边缘计算平台GreenGrass和IoT

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

AWS的边缘计算平台GreenGrass和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体系中也变得更加重要。

AWS的边缘计算平台GreenGrass和IoT

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

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

AWS的边缘计算平台GreenGrass和IoT

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

AWS的边缘计算平台GreenGrass和IoT

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

AWS的边缘计算平台GreenGrass和IoT

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&period;2发布,全球首个K8S原生的边缘计算平台开放云端代码

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

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

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

  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. 让Ajax更简单

    之前写了一篇 ASP.NET中一种超简单的Ajax解决方案 最近把他拿出来更新了下,把demo也搞的更详细了一点 加入了blqw.Json,所以支持更多类型参数和返回值 优化了对exception的处 ...

  2. pyzmq简单的在线聊天室

    #encoding=utf-8#客户端 import zmq c = zmq.Context() s = c.socket(zmq.REQ) s.connect('tcp://127.0.0.1:10 ...

  3. IISExpress配置文件

    ASP.NET MVC IISExpress配置文件的一个坑 现象: 昨天在处理PBS系统问题的时候意外发现两个js错误(而同样的代码在同事机器上都没有问题),如下图. 图1 图2 图3 原因分析: ...

  4. Blinn-Phong模型

    最近在看基础光照模型,比较感兴趣的是高光反射模型,有下列两种: 1.Phong模型 R = 2*N(dot(N, L)) - L specular = lightColor * SpecularCol ...

  5. 使用tomcat&comma;不能连接localhost&sol;8080的解决办法

    首先,java的一些环境变量要解决. 其次,tomcat也应该各种环境变量设置好. 最后,把下图的那个地址重新选择一遍. 记住以上每一步弄好了之后都重启一下机器. 我也不知道为什么,但是有些就是从起之 ...

  6. SpringBoot日记——SpringMvc自动配置与扩展篇

    为了让SpringBoot保持对SpringMVC的全面支持和扩展,而且还要维持SpringBoot不写xml配置的优势,我们需要添加一些简单的配置类即可实现: 通常我们使用的最多的注解是: @Bea ...

  7. linux运维基础之跟我一起学正则表达式(一)

    正则表达式 ### 二, 1) 什么是正则表达式 正则表达式又称为规则表达式 正则表达式是一个计算机的一个概念 正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合 ...

  8. Camera2与TextureView使用

    package com.intsig.bcrsdk.demo.Activity; import android.annotation.TargetApi; import android.app.Act ...

  9. 入口文件-npm run dev

    如果你是用vue.js官网提供的脚手架工具并沿用默认配置的话,你执行npm run dev的时候会出来页面,是因为你根目录下的package.json文件里script配置了"dev&quo ...

  10. 智联招聘的python岗位数据结巴分词(二)

    上次获取第一次分词之后的内容了 但是数据数据量太大了 ,这时候有个模块就派上用场了collections模块的Counter类 Counter类:为hashable对象计数,是字典的子类. 然后使用m ...