在最近拉斯维加斯举行的 re:Invent 开发者大会上,亚马逊宣布了他们新的物联网(IOT:Internet of Things)平台 AWS IOT。这个平台目前还处于 Beta 状态,不过 AWS 的用户已经可以使用。
Matt Wood 博士是 AWS 产品策略部门的总经理,他用下面这段话来描述 AWS IoT 平台,“它是一种连接设备到AWS 云平台的方法,通过它可以使那些连接的设备所产生的大量数据被你的公司收集、存储、分析并采取行动。”
支撑这个IoT 平台的是一组SDK 和AWS 服务,包括:
Device SDKs:它可以使你的设备同 AWS IoT 平台进行通信,SDK 支持的语言包括 C、JavaScript 和 Arduino。
Authentication和 Authorization:认证和授权是通过双向认证的方法完成的,你可以使用自签名(self-signed)证书或者 AWS 提供的签名过程。除了会使用 TLS(Transport Layer Security)1.2 协议保证传输的安全性,证书和角色的映射也会应用于授权策略中,这些策略基于提供的证书来确定设备执行操作的能力。证书和策略都可以通过控制台或者使用 API 来进行管理。你也可以通过 AWS Identity and Access Management (IAM)服务来取消证书,这样可以立即拒绝设备接入到 IoT 平台。
IoT 设备并不知晓后端服务对其要发送的哪些消息感兴趣,所以 ** 设备网关(Device Gateway)** 就应运而生了,你可以通过 MQTT 和 HTTP 协议和设备网关通信,设备网关使用发布 / 订阅模型(publish/subscribe model),并通过 AWS 的消息主题(Topic)或者规则引擎(Rules Engine)来将消息分布式或者广播式发送给那些感兴趣的订阅者。
规则引擎用于消息上下文和内容的分析评价,从而可以对消息进行过滤和路由。写作规则时需要使用类 SQL 的语法。下面举一个处理设备所读取温度数据的规则的例子,假设当读取的温度超过了特定的门限,就要在 Dynamo Db 实例中插入一个事件。这个规则的语法描述如下图所示:
对于 IoT 平台来说,Dynomo Db 并不是唯一可以订阅到发布消息的服务,消息还可以路由到其它很多 AWS 服务,包括:
- Kinesis/Kinesis Firehose (数据流)
- 简单存储 (S3)
- Lambda (代码执行)
- Simple Notification Services (推送通知)
通信的方向并不是只从设备流向 AWS IoT 平台,命令和控制场景也是有可能发生的,这时事件需要向下流向设备。亚马逊把这个功能称之为设备之影(Device Shadows), 即它可以在 IoT 平台上维护设备的一个虚拟版本。这个虚拟版本将有设备上次报告的状态,同时也会维护未来所期望的设备状态。因为一些设备仍会受限于电池供电,所以设备可能并不是时时在线的。所以有了最后一次的报告状态,客户就能知道设备在下线前的健康情况。使用设备之影功能,还可以让你的组织在设备重新上线时改变其状态,即设备上线后,新的状态将会通过发布 / 订阅消息向下推送到设备中,而设备在收到消息后将会执行从 IoT 平台发过来的相关指令。
亚马逊在 IoT 领域的竞争对手来自诸如 IBM、Microsoft 和 Salesforce 这样的厂家。在微软最近的 AzureCon 大会上,他们 发布 自己的Azure IoT 套件;在Dreamforce 年度大会上,Salesforce 同样宣布了他们在这个领域的意向。这些云平台一致的地方在于,它们对整个IoT 处理都感兴趣,因为这样就可以使设备接入并使用下行数据流(downstream)的那些云服务。
Lydia Leong 是 Gartner 公司负责杰出分析师部门的副总裁,他在近期的 推特 上将亚马逊和微软作为IoT 平台的标杆。“值得一提的是微软在近期的AzureCon 大会上也密集地发布了相关的产品和服务。其它竞争者必须将亚马逊和微软作为竞争目标。”
评论