您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure IoT 参考体系结构

Blob 存储
函数
IoT 中心
IoT 设备预配服务
逻辑应用
流分析

本文介绍使用 Azure PaaS (平台即服务) 组件的 IoT 应用程序的建议体系结构。 下图反映了可用于构建 IoT 解决方案的不同 Azure 组件。 该图显示了文章重点介绍了大部分常用服务,但没有解决方案需要所有这些服务。 如果只是开始 Azure IoT 或希望构建第一概念证明解决方案,请从此处开始:

体系结构 示意图

此参考体系结构使用 Azure PaaS(平台即服务)组件。 Microsoft 建议Azure IoT Central入门,这是一个 aPaaS (应用程序平台即服务) IoT 解决方案平台。 它旨在通过 preassembling、缩放和管理此参考体系结构中所述的许多相同 PaaS 服务,来简化和加速 IoT 解决方案程序集和操作。 这是一个现成的功能,可以使用 UX 和 API 外围应用程序完成,并以大规模方式连接、管理和操作群设备所需的功能。 详细 了解如何根据解决方案需求,将 IoT Central (aPaaS) 与 PaaS 解决方案方法进行比较。

Azure IoT 解决方案涉及到 (生成数据的 设备) ,以及你为数据生成的 见解,以及你基于见解所采取的 操作。 考虑发送温度数据的电动机。 此数据用于评估电动机是否按预期执行。 它的性能见解用于确定汽车的维护计划。

设备

Azure IoT 支持大范围的设备,从运行 Azure Azure Sphere rto 的微控制器到Raspberry Pi 等开发人员板。 Azure IoT 还支持能够运行自定义代码的智能服务器网关。 设备可以通过服务(如 Azure IoT 边缘)执行某些本地处理,也可以直接连接到 Azure,以便将数据发送到 IoT 解决方案并从中接收数据。

当设备连接到云时,可以通过多种服务来帮助引入数据。 Azure IoT 中心 是一种云网关服务,可以安全地连接和管理设备。 IoT 中心设备预配服务 (DPS) 实现了零接触实时预配,可帮助以安全且可缩放的方式注册大量设备。 Azure 数字孪生 实现了真实世界系统的虚拟模型。

洞察力

一旦将设备连接到云中,就可以对其数据进行处理和浏览,以获取有关其环境的自定义见解。 在较高级别,可以通过三种方式处理数据 — 热路径、热路径和冷路径。 它们之间的区别与延迟和数据访问要求有关。

  • 热路径 会在数据到达时以近乎实时的方式分析数据。 在热路径中,必须以非常低的延迟处理遥测数据。 热路径通常是使用流处理引擎实现的。 请考虑使用 Azure 流分析HDInsight 等服务。 输出可能会触发一个警报,或写入为可以使用分析工具查询的结构化格式。
  • " 热路径 " 分析可以容纳更长延迟以便进行更详细处理的数据。 请考虑 azure 数据资源管理器azure 时序 Insights 来存储和分析大量数据。
  • 冷路径 以较长的时间间隔(每小时或每天)执行批处理。 冷路径通常用于处理大量数据,这些数据可以存储在 Azure Data Lake 中,结果不需要与热路径或热路径一样及时。 请考虑使用 Azure 机器学习Azure Databricks 来分析冷数据。

操作

您可以使用收集的有关数据的见解来管理和控制您的环境。 业务集成操作可能包括存储信息性消息、发出警报、发送电子邮件或短信,或与 CRM 和 ERP 等业务应用程序集成。 以下服务可用于管理和业务集成:

  • Power BI 连接到、建模和可视化数据。 Power BI 使你能够对数据进行协作,并使用人工智能来做出数据驱动的决策。
  • Azure Maps 允许你使用地理空间服务创建可感知位置的 web 和移动应用程序, (搜索、映射、路由、跟踪和流量) 、api 和 sdk。
  • Azure 认知搜索 通过各种类型的内容提供搜索服务。 这包括索引、AI 扩充和查询功能。
  • AZURE API 管理 提供一个单一位置来管理所有 api。
  • 利用 Azure Web 应用,你可以部署随你的组织一起缩放的 Web 应用程序。
  • 移动应用 允许你构建适用于 iOs、Android、Windows 或 Mac 的跨平台应用和本机应用。
  • Dynamics 365 将 CRM (客户关系管理) 与 (云中的 ERP 企业资源规划) 组合在一起。
  • Microsoft Flow 是一种 SaaS 服务,用于跨应用程序和其他 SaaS 服务自动执行工作流。
  • Azure 逻辑应用 是一种基于云的 PaaS 产品/服务,用于创建和自动执行集成应用、数据、服务和系统的工作流。

还有多个 Azure 提供的服务,可帮助你监视整个 IoT 解决方案并使其安全。 诊断服务包括 Azure MonitorAzure Active Directory 的安全服务和 用于 IoT 的 Azure Defender 可帮助你控制、查看和管理安全设置、威胁检测和响应。

数字孪生

客户正在探索 数字孪生 作为一种机制来控制和监视连接的环境。 数字克隆是真实环境的虚拟模型,该环境是由业务系统和 IoT 设备的数据驱动的。 它用于为企业或组织启用 insights 和操作。 开发人员和架构师正在寻找数字孪生作为可实现智能和连接环境的解决方案,如下所示:

  • 制造业预测性维护
  • 供应链可见性
  • 用于实时清点的智能架
  • 连接的家庭和智能建筑

大规模部署

构建解决方案以便在全球范围内进行部署。 为了获得最佳的可伸缩性,可将 IoT 应用程序构建为可独立扩展的离散服务。 本部分包含各种 Azure 服务的可伸缩性注意事项。

函数。 从事件中心终结点进行读取时,每个事件中心分区都有函数实例的上限。 该最大处理速率取决于一个函数实例可以采用多快的速度处理来自单个分区的事件。 此函数应成批处理消息。

IoT 中心。 对于 IoT 中心,请考虑以下缩放因素:

  • 发送到 IoT 中心的消息的最大每日配额
  • IoT 中心实例中连接的设备的配额。
  • 引入吞吐量 — IoT 中心可以采用多快的速度引入消息。
  • 处理吞吐量 — 可以采用多快的速度处理传入消息。

每个 IoT 中心都预配了特定定价和缩放层中的特定数量的单位。 层和单位数决定了设备可以发送到中心的消息的最大每日配额。 有关详细信息,请参阅 IoT 中心配额和限制。 可以纵向扩展中心而无需中断现有操作。

流分析。 如果流分析作业在流分析管道中的所有方面(从输入到查询到输出)都是并行的,那么它们的扩展效果最佳。 完全并行的作业使流分析可以将工作拆分到多个计算节点上。 有关详细信息,请参阅利用 Azure 流分析中的查询并行化

IoT 中心自动基于设备 ID 对设备消息进行分区。 所有来自某一特定设备的消息将始终到达同一分区,但单个分区将具有来自多个设备的消息。 因此,并行化的单元是分区 ID。

安全性

本部分包含用于构建安全解决方案的注意事项。

零信任安全模型

"零信任" 是一种安全模型,该模型假定发生了违规,并处理每次访问尝试,就好像它来自开放网络一样。 如果为零,则假定您已经实现了一些基础知识,例如保护标识和限制访问。 这包括显式验证用户、查看其设备,并能够使用实时风险检测来做出动态访问决策。 在满足基础知识后,你可以将重点转移到 IoT 解决方案的以下零信任要求:

  • 使用强标识对设备进行身份验证。
  • 使用最低特权访问以缓解冲击半径。
  • 监视设备运行状况到入口访问或标记设备以便进行修正。
  • 执行更新以使设备保持正常运行。
  • 监视以检测和应对新兴威胁。

有关 完整零信任, 请阅读物联网网络安全白皮书。

可信和安全通信

从设备接收的所有信息和发送到设备的所有信息都必须都是可信的。 除非设备可以支持以下加密功能,否则它都应限制到本地网络,并且所有网间通信都应经过现场网关:

  • 数据加密和数字签名,具有一种安全、公开分析且广泛实现的对称密钥加密算法。
  • 支持用于 TCP 或其他基于流的通信路径的 TLS 1.2,或者支持用于基于数据报的通信路径的 DTLS 1.2。 支持 X.509 证书处理是可选的,可由在计算方面和传输方面更高效的 TLS 预共享密钥模式替换,该模式可以在具有对 AES 和 SHA-2 算法的支持时实现。
  • 可更新的密钥存储和每个设备的密钥。 每个设备必须具有唯一的密钥材料或令牌,用于向系统标识该设备。 设备应在设备上安全存储密钥(例如,使用安全的密钥存储)。 设备应能够定期更新密钥或令牌,或在紧急情况(例如系统入侵)下响应性地更新密钥或令牌。
  • 设备上的固件和应用程序软件必须允许更新,以实现修复已发现的安全漏洞。

许多设备受到过多约束,不支持这些要求。 在这种情况下,应使用现场网关。 设备通过局域网安全地连接到现场网关,并且网关实现与云的安全通信。

防止物理篡改

强烈建议设备设计包含防御物理操作尝试的功能,以帮助确保整个系统的安全完整性和可信度。

例如:

  • 选择提供安全存储和使用加密密钥材料的微控制器/微处理器或辅助硬件,例如受信任平台模块 (TPM) 集成。
  • 保护 TPM 中定位的启动加载程序和安全软件加载。
  • 使用传感器检测入侵尝试,并尝试通过设备的警报和潜在的"数字自破坏"操作设备环境。

有关其他安全注意事项,请参阅物联网 (IoT) 安全体系结构

可靠性和性能

可复原 IoT 解决方案的一个重要考量因素是业务连续性和灾难恢复。 针对高可用性设计 (高可用性) 灾难恢复 (DR) 可帮助定义和实现解决方案所需的运行时间目标。

不同的 Azure 服务提供了不同的冗余和故障转移选项,可帮助你实现最适合业务目标的运行时间目标。 将其中的任何 HA/DR 备选方案整合到 IoT 解决方案需要仔细权衡以下方面的利弊:

  • 所需的复原能力级别
  • 实施和维护的复杂性
  • COGS 销售 (成本) 影响

Azure 业务连续性技术指南一文介绍了一个通用   框架,可帮助你考虑业务连续性和灾难恢复。 Azure 应用程序的灾难恢复和高可用性一文提供了有关 Azure 应用程序实现高可用性 (HA) 和灾难恢复 (DR) 的策略的体系结构设计   指南。

还可以在每个服务文档中找到特定于服务的性能Azure IoT信息。

成本注意事项

通常,使用 Azure 定价计算器 估算成本。 其他注意事项在 Microsoft Azure Well-Architected Framework 的"成本"部分中介绍

后续步骤

有关解决方案体系结构各个部分的信息,请参阅以下主题: