前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我们是否应该在物联网上使用无服务器体系结构?

我们是否应该在物联网上使用无服务器体系结构?

作者头像
zona
发布2018-04-24 15:03:24
4K0
发布2018-04-24 15:03:24

我们正处于前所未有的行业混乱的时代,这是由技术发展过快导致的,特别是在物联网领域。物联网有助于将行业转变为数据驱动的范例,开辟了巨大的机遇。一些公司正通过技术革命转换业务,而物联网的快速应用正是收到他们的支持; 制造商正在提供低成本的高端设备和物联网平台,以实现设备集成和管理。

有很多物联网工具和框架在市场上存在不同的利弊,而且这是一个艰难的选择。我们相信,数字物联网的采用应该转向灵活,可靠且具有成本效益的平台,同时将基础设施,软件,知识和员工的投资降到最低。

实验验证

为了验证这一理念,我们决定从零开始构建物联网解决方案,无需基础设施和维护成本,而且运营成本很低。这种方法完全符合云计算概念,例如为您使用的付费,按时付费以及平台即服务(PaaS),软件即服务(SaaS)以及无服务器方式等提供支付。

程序安装

为实现这一概念,我们采用了亚马逊网络服务(AWS)云功能,因为它是市场上最具有现代化和创新性的云。我们的项目是创建设备模拟器,报告实时遥测,并通过API实时访问这些信息。

我们认为AWS Lot平台是一个强大的物联网框架。它支持MQTT--使用最广泛的通信协议之一。基于其价格和维护成本的考量,我们选择支持的服务来保存和处理数据。

在研究了几种不同的架构和各种服务方案后,我们最早找到了以下组件列表:

  • AWS IoT用于数据获取和设备管理,
  • DynamoDB - 文件存储以保存读取的数据,
  • AWS Lambda - 无服务器数据处理,
  • S3 - 用作静态网站托管的块存储,
  • 网关API - 对数据的REST访问。

数据流
数据流

我们概念项目的总体数据流程如下:

  1. 设备正在向AWS IoT发送少量数据(每次5秒)。
  2. AWS IoT将数据存储到DynamoDB表中。
  3. 每分钟和每小时都会触发Lambda函数,以执行数据分析并将结果存储回DynamoDB。
  4. API网关通过REST API将DynamoDB的数据公开到世界各地。
  5. 静态HTML网站托管在S3上,并且正在使用REST API来显示实时数据图表和分析。

第2点可能乍看起来有点傻,因为您可能认为DynamoDB不是存储原始时间序列数据的最佳选择。但是,它在使用少量设备进行演示方面做得很好。

我们还考虑使用Firehose来处理数据,Firehose是作为物联网到S3/Reshift和EMR集群的传输流,但对于这个微型项目来说,这是矫枉过正的。

我们为这个架构设置了以下关键参数:

  1. 如果您没有设备来报告任何数据的话则是免费的。此外也可以通过亚马逊免费的套餐来获得少量设备。
  2. 由于每个选定组件的本身具有高度可扩展且箱即用的特性。
  3. 您只需编写代码即可,因为您只需要定义规则并使用一种流行的语言编写逻辑:JavaScript,Python或Java。

分析/计算

假设您的后端操作只需要每分钟处理几个请求 - 这意味着大部分时间您的CPU处于空闲状态,假设你不想为闲置时间付费,我们选择无服务器架构。

假设您有10,000台设备每15分钟报告少量数据,这将导致每月平均有730小时工作,请求数大约为2,920万次。

AWS IoT每1M请求的成本为5美元,DynamoDB每秒10个上传请求的成本为0.0065美元,与每秒获得50个下载请求的成本相同。

如果要使用AWS lot,我们每月要付146美元,并且还要花费14美元将其存储在DynamoDB中,并且还是最小的读取容量。我们共要花费160美元,相当于每台设备每月0.02美元或每次请求0.000005美元。另外它没有考虑到lambda,storage,API网关的使用情况,实际上这只是这些花费的一小部分,我们可以忽略它。

或许数以千计的连接设备使用IoT解决方案令您印象深刻,每个月成本不会超过200美元。但是,让我们想象一下,设备每秒都在报告关键数据的业务,并且您有成千上万个设备,无服务器操作需要多少钱?

我来您节省一些时间,假设现在有10k台设备每秒发送一条消息:每月支付将超过13.6万美元,而10万台设备呢? 13.6亿美元!每台设备的每月成本增加到13.61美元。你还会考虑构建无服务器的物联网解决方案吗?所以我们要视情况而定。

优点,缺点和注意事项

所有这些数字意味着:如果优化您的请求费率将会大幅度降低费用,这给我们带来了第二个重要结论,这是我们必须要考虑的,即:所有者的总成本。有一个虚拟阈值,超过这个阈值,无服务器方法将变得非常昂贵,甚至可能无效。

例如,传统的架构实施成本可能不会严重依赖于设备数量或每秒请求数量,但这种折衷是额外的运营支出。使用开源解决方案也可以降低成本。

毫无疑问,无服务器体系结构具有许多优点:

  • 将资本支出转化为运营支出并通常降低运营成本。
  • 不必考虑内部系统管理流程。
  • 减少了开发和部署成本和时间表(加快上市时间)。
  • 设计具有可扩展性和容错性。

要考虑的第一个因素是为您的项目要求选择正确的方法。如果您不关心云锁定,则无服务器将是最合适的方案,例如:

  1. 您正在运营一家创业公司,且需要快速验证您的创意,或者您的上市时间很短。
  2. 您的解决方案不需要频繁地将数据从设备传输到云端,因此可以将每台设备的成本保持在相对较低的水平。

另一方面,如果您正在构建与云无关且可高度自定义的解决方案并使用实时数据运行,则可以考虑定制或开源IoT解决方案。

您可以在这里下载报告的副本。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验验证
  • 分析/计算
  • 优点,缺点和注意事项
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档