设计实践:AWS物联网解决方案

物联网

767人已加入

描述

物联网 (IoT) 为每个行业提供了无与伦比的机会来应对其业务挑战。随着设备的激增,人们需要一种解决方案来连接、收集、存储和分析设备数据。亚马逊云科技提供各种服务,帮助连接的设备轻松安全地与云应用程序和其他设备进行交互,以满足各种用户场景。话虽如此,该领域的每位解决方案架构师都知道 AWS 云的功能和可靠性。将物联网 (IoT) 解决方案迁移或设计到 AWS 平台,使人们能够专注于核心业务,而无需进行基础设施管理和监控。这将确保客户的高可用性。无论设计哪种解决方案,都应该选择最佳平台来保持解决方案的稳定性。AWS就是这样一个平台。

在使用 AWS 设计 IoT 解决方案时,需要考虑的做法很少。如果使用正确的 AWS 服务来满足客户需求,那么 IoT 解决方案将能够以更安全、可靠和可扩展的方式交付结果。

设计可靠大规模运行

物联网系统必须处理设备和网关捕获的高速和大量数据。由于业务的突然增长,或者有时是由于恶意攻击,传入数据的溢出是可以预期的。在这种情况下,云系统架构应该是可扩展的,以处理此类数据。

最好的方法是将数据发送到队列、缓冲区或实时内存数据库,然后再将其存储在存储中。这有助于实现实时事件并减慢数据插入速率,以防止数据库崩溃或防止响应速度变慢。

该设备可以将数据发布到 AWS Kinesis,或者 AWS IoT 规则可用于将数据转发到 AWS SQS 和 Kinesis,以将其存储在 AWS S3、Redshift、DataLake 或 Elasticsearch 等时间序列存储中以进行数据存储。这些数据存储可用于生成自定义控制面板或 AWS QuickSight 控制面板。

通过数据管道路由大型数据卷

将来自设备主题的传入数据直接使用到单个服务会阻止系统实现完全可伸缩性。有时,这种方法会限制系统在故障和数据泛洪事件上的可用性。

AWS IoT 规则引擎旨在以可扩展的方式将终端节点连接到 AWS IoT Core。但所有 AWS 服务都有不同的数据流属性及其各自的优缺点。所有服务都不能用作系统的单一入口点。有时,它可能会导致无法恢复的后续故障。例如,对于大量数据,请考虑在调用其他服务之前缓冲 (ElastiCache) 或排队 (SQS) 传入数据,这样就可以从后续故障中恢复。

AWS IoT 规则引擎允许并行触发多个 AWS 服务,如 Lambda、S3、Kinesis、SQS、SNS。一旦数据被物联网系统捕获,它就会使 AWS 终端节点(其他 AWS 服务)能够处理和转换数据。这样就可以同时将数据存储到多个数据存储中。

确保所有数据得到处理和存储的最安全和最佳方法是将所有设备主题数据重定向到SNS,该SNS旨在处理数据泛滥处理,确保传入数据得到可靠的维护,处理并传递到适当的渠道。为了使其更具可扩展性,可以使用多个 SNS 主题、SQS 队列、不同/一组 AWS 设备主题的 Lambda。在处理之前,应考虑将数据存储在安全存储中,例如 Queue、Amazon Kinesis、Amazon S3 和 Amazon Redshift。这种做法可确保不会因消息泛滥、不需要的异常代码或部署问题而丢失数据。

自动执行设备配置和升级

随着业务的增长和众多设备连接到物联网生态系统,设备配置、引导软件、安全配置、规则操作设置、设备 OTA 升级等手动流程是不可行的。在初始化过程和升级过程中尽量减少人工交互对于节省时间和成本非常重要。

在设备中设计内置功能以实现自动预置,并利用 AWS 提供的适当工具来处理设备预置和管理,使系统能够以最少的人为干预实现所需的运营效率。

AWS IoT 提供了一组功能,这些功能可用于批量导入,其中包含一组策略,这些策略可与控制面板或制造流程集成,其中设备可以预注册到 AWS IoT,并且可以在设备中安装证书。稍后,设备预配流可以声明设备并与用户或任何其他实体附加。AWS 提供了触发和跟踪设备 OTA 升级的工具。

对自定义组件采用可扩展的架构

当物联网系统连接到外部世界设备时,范围不会以连接、控制和报告设备而结束。考虑采用数据科学和机器学习等最新技术,或在IFTTT,Alexa或Google Home等物联网系统中集成第三方组件。物联网架构应确保外部组件可以轻松集成到解决方案中,而不会出现任何性能瓶颈。

检查脱机访问和处理

有时没有必要在云中处理所有机器数据。在许多情况下,没有连续的互联网连接可用。对于此类方案,请在边缘添加 AWS Greengrass。Greengrass 在边缘本地处理和过滤数据,并减少将所有设备数据发送到上游的需要。可以捕获所有数据,将其保留有限的时间,并在错误事件或按需/请求时将其发送到云。如果需要时间序列数据,则可以安排一个定期过程,将设备数据发送到云,该过程可用于未来的增强功能,如AWS机器学习模型和云分析工具。

选择合适的数据存储

物联网系统生成高速、大容量和多样化的数据。每个 IoT 设备或设备主题可以具有不同的格式,这些格式可能无法通过单个数据库或类似类型的数据存储进行管理。架构师在选择数据库格式和数据存储时应小心。有时,单个数据存储工作正常,或者用于不同目的的混合数据存储有助于实现高吞吐量。常用的静态数据可以存储在 ElastiCache 中,这有助于提高性能。这种做法有助于实现系统的可伸缩性和可维护性。

在处理之前筛选和转换数据

所有传入到物联网系统的数据可能需要处理或转换, 之后可以按原样重定向到存储.AWS IoT 规则提供将消息重定向到不同 AWS 服务的操作。架构师应该以不同的形式潜伏所有数据,即需要处理、忽略/静态数据(如 Config)和直接存储。

AWS IoT 服务架构

AWS IoT 有助于实现快速设备连接、安全数据摄取、轻松的设备管理、多协议支持等等。VOLANSYS使用上述最佳实践在物流,医疗保健,家庭自动化,安全和监控等多个领域提供物联网解决方案。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分