背景介绍

在进行物联网设备连接时,每个设备都需要通过消息的形式与 Amazon IoT Core 进行数据交互。随着消息交互数量的增加,如果不对整体架构进行优化,很容易造成消息成本的指数增长,甚至是不必要的浪费。本文结合 Amazon IoT Core 的相关计费方式,探讨潜在的成本优化模型,从而更好的帮助在有限预算下提升产业性能及使用体验。

Amazon IoT Core 物联网服务计费模型

Amazon IoT Core 服务的计费模型主要包括四个部分,每个部分独立计费,使得成本优化的颗粒度更细。以下计费报价参考亚马逊云科技美国东部区域的报价。

1. 连接性

设备网关负责维护 Amazon IoT 解决方案中的所有互联设备的会话。Amazon IoT 设备网关支持通过 MQTT、MQTT Over WebSockets 和 HTTP 实现的互联设备与亚马逊云科技平台之间的安全、双向通信。MQTT 和 HTTP 等通信协议使公司能够利用行业标准协议,而不必使用会限制将来的互操作性的专属协议。其中连接费用与描述如下:

  • $0.08每1百万个设备/每分钟

每个设备以全年每时每刻连接计算共525,600分钟(60分钟*24小时*365天)计算,每个设备的连接一年的总费用为$0.042

  • PING 消息包括 MQTT PINGREQ,MQTT PING RSP 消息没有费用。

2. 收发消息

物联网设备连接时,设备的状态需要通过消息的形式与 Amazon IoT 平台进行数据交互。Amazon IoT 消息代理就是这么一项发布/订阅消息的代理服务,可是与 IoT 设备相互发送和接收消息。在与 Amazon IoT 通信时,客户端(设备)将经过编址的消息发送到 Sensor/temp/room1 之类的主题。进而,消息代理将消息发送到已注册接收该主题消息的所有客户端。发送消息的操作被称为发布。已注册接收该主题筛选消息的操作被称为订阅。其中消息类型包含:

  • 设备发到 Amazon IoT 服务的消息数量

  • Amazon IoT 发到设备的消息数量

每条消息以5KB长度计费,多于5KB,等价到多个5KB进行费用收取,例如8KB的消息,按照2条5KB消息收取费用。每条消息长度最大128KB。

3. 设备影子与设备注册

Device Shadow 服务可以为您连接到 Amazon IoT 的每台设备在云中保留一个“影子”。无论该设备是否连接到 Internet,您都可以使用该影子通过 MQTT 或 HTTP 获取和设置设备的状态(调用 Amazon IOT API 中的 GetThingShadow 或者 UpdateThingShadow)。每台设备的影子都由相应事物的名称唯一标识。

设备注册的过程请参考“在 Registry 中注册设备”,注册过程使用的 API 收费详情,请参考“注册过程 API 与收费(REGISTRY一节)”

设备影子与设备注册费用如下:

  • $1.25每1百万个设备影子操作

  • $1.25每1百万个设备注册操作

  • 数据大小以1KB 为单位进行收费

4. 规则引擎

收到 Amazon IoT 设备的消息之后,亚马逊云科技将对消息进行数据存储,分析等操作。这个操作由规则引擎来触发。

Amazon IoT 规则由 SQL SELECT 语句、主题筛选条件和规则操作组成。设备通过将消息发布到 MQTT 主题来向 Amazon IoT 发送信息。利用 SQL SELECT 语句,您可以从传入的 MQTT 消息提取数据。Amazon IoT 规则的主题筛选条件用于指定一个或多个 MQTT 主题。当与主题筛选条件匹配的主题收到 MQTT 消息时,规则将被触发。借助规则操作,您可以获取从 MQTT 消息提取的信息并将其发送到其他亚马逊云科技服务做存储与分析等。规则操作是针对 Amazon DynamoDB、Amazon Lambda、Amazon SNS 和 Amazon S3 等亚马逊云科技服务定义的。使用 Amazon Lambda 规则,您可以调用其他亚马逊云科技服务或第三方 Web 服务。有关规则操作的完整列表,请参阅 Amazon IoT 规则操作。规则引擎的触发与执行费用如下:

  • $0.15 每1百万次规划引擎触发$0.15 每1百万次规划引擎执行每条触发的消息以5KB为单位收取费用,多于5KB,以多条5KB进行计费

费用计算案例

1.  如下以10,000台设备为例,来计算 Amazon IoT 服务收费,例子中每台设备操作包括:

  • 每5分钟 Ping 主服务一次,全年保持活跃

  • 约每30分钟发送1条消息,每天共发送50条消息,每条消息1KB

  • 约每30分钟收到1条消息,每天共收到50条消息,每条消息1KB

  • 每天设备影子100次更新,消息容量1KB

  • 每天触发规则引擎100次,执行100次

a. 每个设备计算过程如下:

  • 连接时长:

    全年保持活跃,连接时间共525,600分钟(60分钟*24小时*365天)

  • 消息数:

    发50条,收50条,共100条,每条1KB,按5KB计算

  • 设备影子与设备注册消息:

    每条消息都更新设备影子,共100条,每条1KB

  • 消息引擎触发数:

    共触发100次,执行100次

b. 10,000(1万)台设备,每台设备每月费用,每年费用,设备总年费用按表格统计如下:

由下图可以看出连接方面的费用比较固定,消息,设备影子,引擎在收费项目中所占比例比较大。那么在使用当中,如何调整这3个项目,来优化费用比较?

费用优化

下面只是给出一个优化思路,真正优化方案的前提,还是以用户实际需求出发。

思路1:调整消息数据与内容

  1. 假设设备状态在30分钟内改变非常少,如夜间的家用 Amazon IoT 设备如净水器、扫地机器人等。可以调整(减少)信息发送间隔,聚合信息长度,比如上例中,可以每隔60分钟发送一次信息,或者转为终端触发式(启动或者关闭前发送)。减少发送次数。如在设备启动后与关闭前发送消息。

  2. 丰富发送内容,对于例行消息,可以在触发式,一起发送到平台,比如过去3条聚合在一起,成为1条3KB 信息,发送总数减少,每条容量5KB 内不额外收费。如 Amazon IoT 设备净水器在开启时连接3条消息发送开水时间,滤芯状态,是否漏水等,可以合并为一条一起发送。

  3. 由于 Amazon IoT 消息多与设备相关,有一些与设备应用相关的信息数据,如设备采集的图像与视频等,可以由设备其它通道传入到云端存储进行保存,如文件保存到 Amazon  S3,流式数据可以通过 Amazon Kinesis 客户端保存。

思路2:关于设备影子

  • 设备影子的主要目的是方便云端在设备离线时进行管理。所以有关此类状态信息会发给设备影子,相应的,不需要此功能的,可以不发送给影子消息主题。以节省费用。比如家用电器接入 WIFI 之后网络畅通场景。可以减少设备影子使用。

  • 举例而言,对100条消息进行分类,以其中50条不需要设备影子为例

思路3:细化规则引擎逻辑,消除消息引发的规则引擎的重复判断与执行

合并规则引擎执行,比如具有 Amazon IoT 功能的家用电器发消息到 Amazon IoT 规则引擎后,对某个符合条件消息的规则进行以下动作

  • 本条消息保存到 Amazon S3 对象级存储中

  • 本条消息保存到 Amazon DynamoDB 方便展现

  • 本条消息触 Amazon SNS 进行通知或者报警

  • 本条消息激活 Amazon Lambda 进行复杂逻辑判断,比如是否触发购买提醒等

对于上述动作,可以由最后一条 Amazon Lambda 执行逻辑代码中写入前4条逻  辑,由 Amazon Lambda 来完成消息保存到 Amazon S3,写到 Amazon DynamoDB,判断是否 Amazon SNS 通知报警等。这样触发由过去5条转为1条,节约成本。

以此思路优化之后,费用减少近54%(用户请以实际使用为准)如下:

参考文档

  1. Amazon IoT 费用列表

  2. Amazon IoT 相关文档

  3. Amazon IoT 核心原则

本篇作者

张洋

亚马逊云科技中国团队的解决方案架构师

负责基于亚马逊云科技的云计算方案架构咨询和设计。同时致力于亚马逊云科技云服务在国内的应用和推广。现专注于 HPC 超算与物联网相关领域的研究。在加入亚马逊云科技之前,他曾服务于 EMC, Oracle, Flextronics 等跨国 IT 公司。张洋乐于分享,并且是一名业余游泳教练,热爱游泳和跑步,已经完成6次马拉松比赛。

扫描上方二维码即刻报名

Amazon IoT Core 服务成本优化相关推荐

  1. 使用模版自动化 Amazon IoT 设备创建及证书注册过程

    背景介绍 利用即时注册(JITR)功能,可以快速的进行设备证书注册及设备上线.但是配置相关 Amazon Lambda 函数的方式相对复杂.使用本文介绍的即时部署(JITP)功能,可以简化 Amazo ...

  2. 利用 Amazon IoT Greengrass 在边缘 DIY 自动浇花系统

    曾经有这样一则新闻,一男子智能养鱼遇断网,4万余斤鱼或因缺氧死亡.这个塘主通过手机App监控鱼塘情况并利用智能插座控制增氧机进行增氧:但因遇到网络故障,无法及时为鱼塘启动增氧设备而造成重大经济损失.这 ...

  3. 利用Amazon Lambda实现Amazon IoT设备证书的即时注册

    背景介绍 为了保证通信的安全性,Amazon IoT设备与Amazon IoT Core的MQTT通信使用基于证书的TLS 1.2双向认证体系.所谓的双向认证,即意味着Amazon IoT设备端需安装 ...

  4. 英特尔携手谷歌云加速最新虚拟机;谷歌云平台下调抽成比例;Hitachi Vantara推出全新云成本优化服务...

    NEWS 新闻回顾 GitLab 将上市 随着收入持续增长和亏损扩大,DevOps 宠儿 GitLab 终于申请了首次公开募股 (IPO). GitLab 一直致力于成为开发人员的一站式商店,与 Gi ...

  5. aws iot 连接时间_AWS IoT Core 定价

    定价一览 连接 连接用于在您的设备与 AWS IoT Core 之间提供经验证的安全连接.连接按 1 分钟的增量进行计量,基于您的设备连接到 AWS IoT Core 的总时间. 例如,在美国东部(弗 ...

  6. win10 iot core java_微软物联网版Win10 IoT Core开始商用:支持更多硬件 - IT之家

    IT之家讯 微软物联网版操作系统Win10 IoT Core团队今天在官方博客中通过一篇文章详细介绍了Windows10 IoT Core近期的一些改进内容,并宣布开始为商业开发者提供该版本操作系统. ...

  7. aws 成本优化_AWS故事或其他任何云成本优化

    aws 成本优化 Let me tell you how most, if not all the uneducated cost optimisations start, hit a wall an ...

  8. Amazon AWS云计算服务平台概述

    Amazon AWS云计算服务平台概述 1 AWS云计算概述 2 创建AWS账户 3 创建IAM用户并设置预算告警 3.1 创建IAM用户 3.2 设置预算报警 1 AWS云计算概述 概念:云计算是指 ...

  9. 研发团队资源成本优化实践

    背景 工程师主要面对的是技术挑战,更关注技术层面的目标.研发团队的管理者则会把实现项目成果和业务需求作为核心目标.实际项目中,研发团队所需资源(比如物理机器.内存.硬盘.网络带宽等)的成本,很容易被忽 ...

  10. IoT 云服务加速产业创新,推进规模商用

    中国,上海,2016年9月5日] 在9月5日 - 9月7日举办的2017华为全联接大会上,华为展示了IoT规模商用过程中的技术及行业应用最新成果,并联合业界人士共同探讨IoT规模商用过程中的问题及解决 ...

最新文章

  1. [MySQL Reference Manual] 7 备份和恢复
  2. bzoj 1061: [Noi2008]志愿者招募【最小费用最大流】
  3. 汉字内码UNICODE转换表
  4. SAP采购中形成的差异
  5. 分析各种排序算法的优劣
  6. nodejs 代替python_Python/NodeJS坑记
  7. android 自己定义标签的使用,实现扁平化UI设计
  8. 基于springboot的家政服务网站
  9. HOOK(钩子,挂钩)
  10. sdX和hdX含义及其他安装Linux OS的总结
  11. SQLServer 2012下载及安装教程
  12. ACDSee将捆绑雅虎助手,广大ACDSee用户有难了
  13. C++ 使用replace()方法替换字符串中的反斜杠:左斜杠(\)和右斜杠(/)
  14. 转载[UGUI]深入理解Canvas Scaler
  15. 四、网络层(四)IPv6
  16. 汇编语言,and、or指令
  17. 四种常用聚类及代码(三):birch(一种层次聚类)
  18. 怎样用计算机算屋面的坡度,坡屋顶的坡度怎么计算
  19. 务实了,才能点亮生活
  20. Android仿QQ圆形头像

热门文章

  1. 在ROS使用usb深度相机跑ORBSLAM3
  2. 已知函数ex可以展开为幂级数。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。
  3. 局域网文件传输方式分析
  4. TTU智能配电终端_【TMT投资】智能配电网简析(上)
  5. 使用java Graphics 绘图工具生成顺丰快递电子面单
  6. 推荐系统的常用算法原理和实现
  7. Ubuntu安装无线网卡驱动
  8. pa100k数据集_Spark 处理MovieLens 100k数据集案例
  9. Layout state should be one of 100 but it is 10起因和解决
  10. 虚拟机磁盘映射报错,无法向虚拟机导入文件