可以通过组装如本文所述的 Azure 平台即服务 (PaaS) 组件来创建自定义 IoT 解决方案。 本文和此图介绍了 IoT 解决方案常用的 Azure 组件和服务,但没有一个解决方案可使用所有这些组件。
体系结构
下载此体系结构的 Visio 文件。
工作流
以下工作流与上图相对应:
- 物,通常为生成数据的设备。
- 根据数据形成的见解。
- 基于见解执行的操作。
例如,电机发送温度数据。 可以使用此数据来评估电机是否按预期运行。 使用有关电机性能的见解来确定其维护计划的优先级。
设备
Azure IoT 支持各种设备,从运行 Azure Sphere 的微控制器,到 MXCHIP 和 Raspberry Pi 等开发板。 Azure IoT 还支持能够运行自定义代码的智能服务器网关。 设备可能通过 Azure IoT Edge 等服务执行一些本地处理,也可能直接连接到 Azure,以便可以与 IoT 解决方案相互发送和接收数据。
当设备连接到云时,有多个服务可以帮助引入数据。 Azure IoT 中心是一个云网关服务,它可以安全连接和管理设备。 Azure IoT 中心设备预配服务可以实现零接触即时预配,可帮助以安全且可缩放的方式注册大量设备。 Azure 数字孪生支持现实世界系统的虚拟模型。
Insights
设备连接到云后,你可以处理和浏览其数据,以获取有关其环境的自定义见解。 概括而言,处理遥测数据的方式有三种:热路径、暖路径和冷路径。 这些路径对延迟和数据访问的要求有所不同。
- 热路径在数据到达时以准实时方式分析数据。 必须以较低的延迟处理热路径遥测数据。 热路径通常使用流处理引擎。 请考虑使用 Azure 流分析或 Azure HDInsight 等服务。 输出可能会触发一个警报,或写入为可以使用分析工具查询的结构化格式。
- 暖路径分析可以适应较长的延迟以完成更详细处理的数据。 请考虑使用 Azure 数据资源管理器来存储和分析大量数据。
- 冷路径以较长的时间间隔(例如每小时或每天一次)执行批处理。 冷路径通常处理大量数据,这些数据可以存储在 Azure Data Lake Storage 中。 结果不需要与在热或暖路径中那样及时。 考虑使用 Azure 机器学习或 Azure Databricks 来分析冷数据。
操作
可以使用收集到的有关数据的见解来管理和控制环境。 业务集成操作可能包括:
- 存储信息性消息
- 发出警报
- 发送电子邮件或短信
- 与客户关系管理 (CRM) 和企业资源规划 (ERP) 软件解决方案等业务应用程序集成
可以使用以下服务进行管理和业务集成:
- Power BI 连接到数据、为数据建模和可视化数据。 您可使用 Power BI 就数据进行协作并使用人工智能做出数据驱动的决策。
- Azure Maps,通过使用地理空间 API、SDK 以及搜索、地图、路由、跟踪和交通等服务来创建位置感知 Web 和移动应用程序。
- Azure AI 搜索在传统和生成式 AI 搜索应用程序中对用户拥有的内容提供大规模的安全信息检索。 AI 搜索包括索引、AI 扩充和查询功能。
- Azure API 管理提供单一位置来管理所有 API。
- Azure 应用程序服务,用于部署可随组织缩放的 Web 应用程序。
- Azure 移动应用,用于为 iOS、Android、Windows 或 macOS 构建跨平台应用和本机应用。
- Dynamics 365,在云中结合了 CRM 和 ERP 软件解决方案。
- Microsoft Power Automate 是一种软件即服务 (SaaS),用于跨应用程序和其他 SaaS 服务自动化工作流。
- Azure 逻辑应用,用于创建并自动化集成应用、数据、服务和系统的工作流。
Azure 还提供多种服务来帮助监视整个 IoT 解决方案并确保其安全。 诊断服务包括 Azure Monitor。 Microsoft Entra ID 和 Microsoft Defender for IoT 等安全服务可帮助控制、查看和管理安全设置以及威胁检测和响应。
组件
- API 管理
- Azure AI 搜索
- Azure 应用服务
- Azure 数据资源管理器
- Azure 数据湖
- Azure Databricks
- Azure 数字孪生
- Azure 事件中心
- Azure Functions
- Azure HDInsight
- Azure IoT Edge
- Azure IoT 中心设备预配服务
- Azure IoT 中心
- Azure 逻辑应用
- Azure 机器学习
- Azure Maps
- Azure 移动应用
- Azure Monitor
- Azure Sphere
- Azure 流分析
- Dynamics 365
- Microsoft Defender for IoT
- Microsoft Entra ID
- Microsoft Power Automate
- Power BI
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
可管理性
可以使用 Azure 数字孪生来控制和监视互联环境。 数字孪生是现实世界环境的虚拟模型,由来自业务系统和 IoT 设备的数据驱动。 企业和组织使用数字孪生来启用见解和操作。 开发人员和架构师使用数字孪生解决方案来帮助实现智能互联环境,例如:
- 制造业的预测性维护。
- 供应链可见性。
- 实时库存的智能货架。
- 互联家庭和智能建筑。
可靠性
可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性设计评审核对清单。
可复原 IoT 解决方案的一个重要考量因素是业务连续性和灾难恢复。 高可用性 (HA) 和灾难恢复 (DR) 设计可帮助你为解决方案定义和实现所需的运行时间目标。
不同的 Azure 服务提供不同的冗余和故障转移选项,以帮助你实现最适合业务目标的运行时间目标。 将其中的任何 HA/DR 备选方案整合到 IoT 解决方案需要仔细权衡以下方面的利弊:
- 所需的复原能力级别。
- 实现和维护的复杂性。
- 所售货物成本 (COGS) 影响。
可以在每个 Azure IoT 服务的文档中找到特定于服务的性能信息。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表。
零信任安全模型
零信任是一种安全模型,它假定会发生违规,并将每次访问尝试视为源自开放网络。 零信任假定已实施诸如保护标识和限制访问权限之类的基本措施。
基本的安全实施包括显式验证用户、查看其设备以及能够使用实时风险检测做出动态访问决策。 满足基本要求后,可以将重点转移到 IoT 解决方案的以下零信任要求:
- 使用强标识对设备进行身份验证。
- 使用最低访问特权来减小冲击范围。
- 监视设备运行状况,以限制访问或标记要修正的设备。
- 执行更新,使设备保持正常运行状态。
- 通过监视检测新出现的威胁并对其做出响应。
可信和安全通信
从设备接收的所有信息和发送到设备的所有信息都必须都是可信的。 除非设备可以支持以下加密功能,否则它都应限制到本地网络,并且所有网间通信都应经过现场网关:
- 采用已证实安全、经过公开分析并且已广泛实现的对称密钥加密算法的数据加密和数字签名。
- 支持用于 TCP 或其他基于流的通信路径的 TLS 1.2,或者支持用于基于数据报的通信路径的 DTLS 1.2。 对 X.509 证书处理的支持是可选的。 可以将 X.509 证书处理替换为计算效率更高且线路效率更高的 TLS 预共享密钥模式,只要支持 AES 和 SHA-2 算法,就可实现该模式。
- 可更新的密钥存储和每个设备的密钥。 每个设备必须具有唯一的密钥材料或向系统标识其身份的令牌。 设备应在设备上安全存储密钥(例如使用安全的密钥存储)。 设备应能够定期更新密钥或令牌,或在紧急情况(例如系统入侵)下响应性地更新密钥或令牌。
- 设备上的固件和应用程序软件必须允许更新,以实现修复已发现的安全漏洞。
许多设备受到过多的限制,无法支持这些要求。 在这种情况下,应使用现场网关。 设备通过局域网安全地连接到现场网关,并且网关实现与云的安全通信。
防止物理篡改
建议设备设计包含防御物理操作尝试的功能,以帮助确保整个系统的安全完整性和可信度。
例如:
- 选择可提供安全存储并支持使用加密密钥材料的微控制器/微处理器或辅助硬件,例如受信任的平台模块 (TPM) 集成。
- 保护启动加载程序并保护软件加载(在 TPM 中定位)。
- 使用传感器检测入侵尝试以及对操纵设备环境的尝试,并在检测到这些尝试时发出警报或可能执行设备的“数字式自破坏”。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化设计评审核对清单。
通常,使用 Azure 定价计算器来估算成本。 Microsoft Azure 架构良好的框架的“成本”部分描述了其他注意事项。
性能效率
性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率设计评审核对清单。
生成解决方案以在全球部署。 为获得最佳可伸缩性,请将 IoT 应用程序生成为可独立缩放的离散服务。 本部分介绍了几个 Azure 服务的可伸缩性注意事项。
IoT 中心
将在特定的定价层和缩放层中为每个 IoT 中心预配特定的单位数。 层和单位数决定了设备可以发送到中心的消息的最大每日配额。 有关详细信息,请参阅 IoT 中心配额和限制。 可以纵向扩展中心而无需中断现有操作。
对于 IoT 中心,请考虑以下缩放因素:
- 发送到 IoT 中心的消息的最大每日配额。
- IoT 中心实例中连接的设备的配额。
- 引入吞吐量:IoT 中心能够以多快的速度引入消息。
- 处理吞吐量:能够以多快的速度处理传入的消息。
IoT 中心自动基于设备 ID 对设备消息进行分区。 所有来自某一特定设备的消息将始终到达同一分区,但单个分区将具有来自多个设备的消息。 因此,并行化的单元是分区 ID。
Azure Functions
当 Azure Functions 从 Azure 事件中心 终结点读取数据时,每个事件中心分区存在最大数量的函数实例。 该最大处理速率取决于一个函数实例可以采用多快的速度处理来自单个分区的事件。 此函数应成批处理消息。
流分析
如果流分析作业在流分析管道中的所有方面(从输入到查询到输出)都是并行的,那么它们的缩放效果最佳。 完全并行的作业使流分析可以将工作拆分到多个计算节点上。 有关详细信息,请参阅利用 Azure 流分析中的查询并行化。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- 马修·科斯纳 | 首席软件工程经理
其他参与者:
- Armando Blanco Garcia | 高级项目经理
若要查看非公开领英个人资料,请登录领英。