你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IoT 工作负荷中的成本优化
成本效益是 IoT 项目的主要成功因素之一。 在典型的 IoT 解决方案中,设备会生成大量遥测数据,这些遥测数据会发送到云,以便云技术进行处理和存储。 如何开发设备和应用程序、处理大量数据以及设计体系结构会影响总体成本。
由于 IoT 解决方案是多层技术堆栈,因此需要考虑许多节约成本的因素,以及许多优化成本的机会。 成本优化是一个封闭式成本控制过程,需要在整个解决方案生命周期内持续监视、分析和改进成本控制。
解决方案要求是 IoT 体系结构决策的关键标准。 可以将要求分为功能要求和操作要求。 将每种要求的成本注意事项分开,因为功能要求决定了系统设计,而操作要求会影响系统体系结构。 根据要求开发多个用例,并在完成设计之前对其进行比较。
本文介绍各种 Azure IoT 服务和技术组合的成本注意事项。 有关特定行业的成本优化或连接工厂、预测性维护或远程监视等用例,请参阅 行业特定的 Azure IoT 参考体系结构。
评估 IoT 工作负荷中的成本优化
若要通过精心构建的框架成本优化支柱的镜头评估 IoT 工作负荷,请在 Azure 良好架构评审中完成 IoT 工作负荷的成本优化问题。 评估确定 IoT 解决方案的关键成本优化建议后,请使用以下内容来帮助实施建议。
设计原则
体系结构卓越 五大支柱支撑了 IoT 工作负荷设计方法。 这些支柱充当跨关键 IoT 设计领域的后续设计决策的指南针。 以下设计原则扩展了 Azure 良好架构框架的质量支柱 - 成本优化。
设计原则 | 注意事项 |
---|---|
制定成本管理规则 | 规划时,通过考虑直接和间接成本来了解总拥有成本(TCO )。 |
使用行业标准策略和方法 | 对于 具有自身生态系统(例如制造、能源和环境或汽车和运输)的 IoT 特定行业 ,请使用行业标准策略和方法。 |
速率优化设计 | 定义每个 IoT 体系结构层的实现计划。 |
监视和优化随时间推移 | 在实施解决方案后,通过持续的成本优化活动监视和优化成本。 |
总拥有成本 (TCO)
IoT 成本是各种技术选项之间的权衡。 有时这不是一个简单的比较,因为 IoT 是一个端到端系统。 在协调多个服务和技术时,请考虑协同效应的成本优势。 例如,可以使用Azure IoT 中心设备孪生来处理 Azure 数字孪生中的事件。 IoT 中心中的设备孪生仅在IoT 中心的标准层中可用。
正确估计长期聚合成本非常重要。 查看 IoT 技术堆栈,并 开发一个成本模型 ,其中包括实现和操作所涉及的所有服务的成本。 Azure 定价计算器有助于估算启动和运营成本。
在某些方面,一次性成本比定期成本更有效。 例如,在黑客技术不断变化的安全性中,最好导入可靠的商业操作系统和模块,例如 Azure Sphere。 对于一次性付款,此类服务提供持续的每月设备安全修补程序。
基于在生产环境中大规模运行的解决方案成本(而不是概念证明(PoC)体系结构来估算解决方案成本。 体系结构和成本在 PoC 之后迅速发展。 根据 IoT Signals EDITION 3 报告,PoC 故障的首要原因是缩放成本很高。 缩放 IoT 项目的成本很高,来自跨层集成的复杂性,例如设备、边缘连接以及应用程序之间的兼容性。
成本模型应包括以下方面:
设备:从有限数量的已连接设备开始,估计部署的设备数及其消息模式的增长。 设备和消息都可以随着时间的线性或非线性增长。
基础结构:若要评估基础结构成本,请首先考虑基础知识:存储、计算和网络。 然后,考虑解决方案需要引入、出口和准备数据的所有服务。
运营:包括长期运营成本,这些成本与基础结构成本并行增加,例如雇佣运营商、供应商和客户支持团队。
监视:持续监视和审查成本,以确定计划成本与实际成本之间的差距。 定期成本评审会议有助于实现成本优化。
IoT 体系结构层
成本优化设计原则有助于阐明注意事项,以确保 IoT 工作负载满足基础 IoT 体系结构层的要求。
了解 IoT 体系结构层有助于定义成本基线,并考虑多个体系结构进行成本比较。 每个层都有多种技术和生态系统选项,例如设备、电信或边缘位置,因此需要为每个层建立成本策略。
IoT 核心层:设备和网关、设备管理和建模,以及引入和通信,识别特定于 IoT 的解决方案。 其他层和交叉活动也是常见的,通常与其他工作负荷共享。 但是,TCO 和成本优化必须考虑到所有成本,因此需要考虑与 IoT 相关的常见和交叉活动的成本以及特定于 IoT 的层。
设备和网关层
此层负责生成,在某些情况下,优化并将数据传输到云。 成本是设计此层的关键考虑因素。 成本优化应考虑到计划、预配、配置、监视和停用的整个设备生命周期。
Edge 解决方案要求在字段中部署 IoT 设备。 部署可能需要影响成本的网络和电源基础结构。 预先存在的基础结构可以最大程度地降低安装成本,但可能需要确保安装不会影响现有系统。
开发和安装 IoT 设备可能需要培训和雇用专门的内部或外部人员。 所需的技能包括硬件设计、嵌入式应用程序开发、云和本地连接、安全性和隐私以及 IoT 解决方案体系结构。 可能还需要行业特定的专业知识。 将这些成本包含在整体设备成本中。
设备成本包括组织物流,例如存储、库存管理和运输。 包括设备在其运营生命周期结束时的任何停用活动的成本。
对于连接到云的设备,请优化数据传输以维护成本边界。 策略包括最小化有效负载大小、批处理消息和在非高峰期传输。 这些优化还会产生实现成本。
若要了解有关 Azure IoT 设备的详细信息,请参阅:
硬件选择
大多数设备开发过程取决于硬件选择。 设备的制作或购买决策考虑到了 WiFi 认证等定性因素,以及材料费用和上市时间等量化因素。 在现成的硬件或自定义设计之间进行选择会影响 IoT 设备的成本和上市时间。
现成的设备可能按单位花费更多,但具有可预测的成本和潜在顾客时间。 现成的设备也不再需要复杂的供应链管理。
自定义设备可以降低单位成本,但涉及开发时间,并产生非定期工程成本,例如设计、测试、认证提交和制造。
预认证的系统组件或模块可以减少上市时间并创建半自定义设备,但比离散芯片更昂贵。 需要正确资源供应链和库存管理。
Azure 认证设备目录提供适用于 Azure IoT 的设备,可帮助降低成本和上市时间。 你将专注于设计和构建 IoT 解决方案,并灵活地从经过认证的设备列表中选择硬件。 IoT 即插即用设备可以降低设备和云开发成本。 选择 Azure 认证设备时,可以直接跳过设备自定义和集成,直接加入 IoT 解决方案。
Lambda 体系结构模式
IoT 解决方案通常使用云中的热/暖/冷 lambda 体系结构模式。 使用性能更高的边缘设备或 Azure IoT Edge 运行时时,此模式也适用于边缘。 优化边缘上的此模式可降低整体解决方案成本。 可以选择最经济高效的服务进行云数据引入和处理。
热路径处理包括准实时处理、进程警报或边缘通知。 可以使用Azure IoT 中心事件流来处理云中的警报。
暖路径处理包括使用边缘上的存储解决方案,例如开源时序数据库或 Azure SQL Edge。 Azure SQL Edge 包括边缘流处理功能和时序优化存储。
冷路径处理包括批处理重要性较低的事件,以及通过 Azure Blob 存储 模块使用文件传输选项。 与通过IoT 中心流式传输相比,此方法使用成本较低的数据传输机制。 冷数据到达 Azure Blob 存储后,有许多选项可用于处理云中的数据。
设备安全性
IoT 中心设备预配服务(DPS)和 IoT Central 都支持使用对称密钥、受信任的平台模块(TPM)证明和 X.509 证书进行设备身份验证。 每个选项都有一个成本因素。
X.509 证书是用于对Azure IoT 中心进行身份验证的最安全选项,但证书管理成本可能很高。 缺少证书生命周期管理计划会使证书更加昂贵。 通常,你与提供 CA 和证书管理解决方案的第三方供应商合作。 此选项需要使用公钥基础结构(PKI)。 选项包括自管理 PKI、第三方 PKI 或 Azure Sphere 安全服务,该服务仅适用于 Azure Sphere 设备。
具有 X.509 证书的 TPM 提供了额外的安全性层。 DPS 还支持通过 TPM 认可密钥进行身份验证。 主要成本来自硬件、潜在板重新设计和复杂性。
对称密钥身份验证是最简单的最低成本选项,但必须评估对安全性的影响。 你需要保护设备上的密钥和云中的密钥,并安全地将密钥存储在设备上通常需要更安全的选项。
查看与上述每个选项相关的成本,并通过提高安全性来平衡可能更高的硬件或服务成本。 与制造流程的集成还可以影响总体成本。
有关详细信息,请参阅 Azure IoT 设备制造商的安全做法。
Azure RTOS
Azure RTOS 是适用于设备的嵌入式开发套件。 Azure RTOS 包括一个小型但功能强大的操作系统,可为资源受限的设备提供可靠的超快性能。 Azure RTOS 易于使用,已部署在 100 多亿台设备上。 Azure RTOS 支持最常用的 32 位微控制器和嵌入式开发工具,因此你可以充分利用现有的设备构建者技能。
使用 预授权硬件进行商业部署时,Azure RTOS 是免费的。 Azure RTOS 附带 Azure IoT 云功能和功能,例如设备更新和安全性。 这些功能有助于降低设备和云开发成本。
Azure RTOS 经过安全认证,有助于缩短为医疗、汽车和制造等特定垂直设备构建合规设备的时间和成本。
LPWAN 设备
如果 LPWAN 设备(如 LoRaWAN、NB-IoT 或 LTE-M)已连接到另一个 IoT 云, 则 Azure IoT Central 设备桥 可以帮助桥接到 Azure IoT Central。 使用 Azure IoT Central Device Bridge,可以专注于添加行业知识,并评估解决方案,而不会产生更改现有设备的成本。
构建企业就绪解决方案时,需要考虑将 LPWAN 设备与Azure IoT 中心集成的成本。
Azure Sphere
Azure Sphere 是一个安全的端到端 IoT 解决方案平台,具有连接到 Internet 的设备的内置通信和安全功能。 Azure Sphere 包括一个安全的、连接的、交叉的微控制器单元(MCU)、一个基于 Linux 的自定义操作系统(OS)和一种基于云的安全服务,可提供持续、可续订的安全性。 Azure Sphere 减少了从设备到云构建和维护安全环境的努力。
Azure Sphere 在基于 X.509 的 PKI、用户应用更新、错误报告和设备管理(超过 10 年)的基础上提供 10 年的 OS 更新和零日可再生能源安全性,无需额外付费。 Azure Sphere 可降低使数百万台设备保持最新安全性的运营成本。
Azure Stack
Azure Stack 解决方案 将 Azure 服务和功能扩展到 Azure 数据中心以外的环境,例如本地数据中心或边缘位置。 Azure Stack 解决方案包括 Azure Stack Edge 和 Azure Stack HCI。
Azure Stack Edge 是一种 Azure 托管设备,非常适合边缘位置的硬件加速机器学习工作负载。 Azure Stack Edge 在现代技术堆栈(如容器)上运行,因此部署在边缘位置的 Azure Stack Edge 可以为多个工作负荷提供服务。 在工作负荷之间共享计算能力可降低 TCO。
Azure Stack HCI 是一种具有本机 Azure 集成的专用超融合解决方案。 Azure Stack HCI 提供可缩放虚拟化来托管 IoT 解决方案。 虚拟化带来了额外的优势,例如安全性、可伸缩性和灵活的环境,通过与其他工作负载共享硬件可以减少 TCO。 Azure Stack HCI 提供比 Azure Stack Edge 更多的计算能力,非常适合行业流程转换。
Azure Stack 解决方案将 Azure 功能引入边缘,但硬件大小调整限制了总计算能力。 确定用例和估计的计算能力,并考虑大小调整,以将成本与性能需求相匹配。
Azure 公共或专用 MEC
IoT 设备可以生成大量数据,并且可能对低能耗和低成本有很强的要求。 小型、廉价的 IoT 设备专为一项或几个任务设计,例如收集传感器或位置数据,并将其卸载以供进一步处理。
Azure 公共 或 专用 多访问边缘计算(MEC)和 5G 有助于优化从设备卸载数据的成本。 基于 MEC 的 IoT 解决方案支持边缘(而不是在设备或云中)进行低延迟数据处理。 延迟为 1-5 毫秒,而不是云的典型 100-150 毫秒。 基于 MEC 的 IoT 解决方案很灵活,设备本身成本低,维护最少,使用更小、更便宜、持久电池。 MEC 在边缘保留数据分析、AI 和优化功能,使 IoT 解决方案简单且便宜。
除了充当 IoT 工作负载的边缘处理、计算和 5G 通信设备外,MEC 还充当通信设备,以建立与公有云或远程站点的高速连接。
Azure IoT Edge
Azure IoT Edge 为高消息量提供内置功能。 具有网关功能的 Azure IoT Edge 托管设备 可以降低网络成本,并通过本地处理和边缘方案最大程度地减少消息数。
避免使用许多小消息的设备到设备或模块到模块边缘通信或设备到云交互。 使用内置的消息批处理功能将多个遥测消息发送到云。 这些功能有助于降低使用IoT 中心的成本。 减少每日消息数和每秒设备到云操作数可以允许在IoT 中心中选择较低的层。 若要了解详细信息,请参阅 延伸 IoT Edge 性能限制。
若要降低数据交换成本,可以将 Azure 流分析和 Azure Functions 等 Azure 服务部署到 IoT Edge。 Azure 流分析和 Azure Functions 可以在边缘聚合和筛选大量数据,并仅向云发送重要数据。 IoT Edge 上的Azure Blob 存储可以减少通过网络传输大量数据的需求。 在将数据发送到云之前,边缘存储可用于转换和优化大量数据。
适用于开放协议(如 OPC 发布服务器 和 Modbus )的免费 Azure IoT Edge 模块可帮助连接各种设备,且开发最少。 如果上传性能至关重要,则从供应商中选择经过验证的 IoT Edge 模块比生成自定义模块更具成本效益。 可以从Azure 市场搜索和下载 IoT Edge 模块。
引入和通信层
云 IoT 网关是设备和云服务之间的桥梁。 作为云平台的前端服务,网关可以使用协议转换聚合所有数据,并提供与设备的双向通信。
对于设备到 IoT 网关通信(例如设备连接、网络和协议),需要考虑许多因素。 了解 IoT 通信协议、网络类型和消息传送模式有助于设计和优化经济高效的体系结构。
对于设备连接,必须指定网络类型。 如果选择专用 LAN 或 WAN 解决方案(如 WiFi 或 LoraWAN),请考虑将网络 TCO 视为整体成本的一部分。 如果使用 4G、5G 或 LPWAN 等运营商网络,则包括定期连接成本。
IoT 解决方案平台
若要为企业构建 IoT 解决方案,通常使用托管应用平台方法评估解决方案,并使用平台服务构建企业就绪解决方案。
借助平台服务,可以微调服务并控制总体成本。 它为所有自定义和灵活的 IoT 应用程序提供构建基块。 连接设备以及引入、存储和分析数据时,可以选择和编写更多的选项。 Azure IoT 平台服务包括Azure IoT 中心和 Azure 数字孪生的产品。
Azure IoT Central 是一个托管应用平台,通过减少实现结果所需的决策数,可以快速评估 IoT 解决方案。 IoT Central 负责解决方案中的大多数基础结构元素,因此你可以专注于添加行业知识并评估解决方案。
IoT 中心层
大多数 IoT 解决方案都需要设备与云之间的双向通信才能完全正常运行且安全。 基本IoT 中心层提供核心功能,但不包括双向控制。 对于某些早期解决方案实现,可以使用基本层来降低成本。 随着解决方案的进行,可以切换到标准层,以优化安全信道,以降低云到设备的消息传送成本。 有关详细信息,请参阅选择适用于解决方案的 IoT 中心层。
IoT 中心消息大小和频率
消息传送成本在很大程度上取决于设备 聊天 和消息大小。 聊天设备每分钟都会向云发送许多消息,而相对安静的设备仅每小时或每小时发送一次或更多数据。 避免使用许多小消息的设备到云交互。 明确设备聊天和消息大小有助于降低过度预配的可能性,这会导致未使用的云容量或预配不足,这会导致缩放挑战。 考虑消息有效负载的大小和频率,以确保基础结构大小正确且已准备好进行缩放。
避免使用许多小消息的云到设备交互。 例如,将多个设备或模块孪生更新分组到具有其自己的限制的单个更新中。 请注意用于每日配额的消息大小、非免费IoT 中心层的 4K 字节。 发送较小的消息会使某些容量不可用,而较大的消息以 4 KB 区块为单位收费。
使用单个直接方法获取直接反馈。 使用单个设备或模块孪生状态更新异步交换配置和状态信息。
提示
可以在 Azure IoT 中心 和 Defender for IoT 微代理上使用 Microsoft Defender for IoT 监视聊天交互。 可以为超过特定阈值的设备到云或云到设备交互创建IoT 中心自定义警报。
如果消息大小对于成本管理至关重要,则降低开销对于长设备生命周期或大型部署尤其重要。 减少此开销的选项包括:
- 使用较短的设备 ID、模块 ID、孪生名称和消息主题来减少 MQTT 数据包中的有效负载。 MQTT 有效负载如下所示
devices/{device_id}/modules/{module_id}/messages/events/
。 - 缩写固定长度开销和消息。
- 压缩有效负载,例如使用 Gzip。
IoT 中心消息配额和限制
IoT 中心层具有不同的大小,具有特定的配额和操作限制。 了解IoT 中心限制和配额,以优化设备到云和云到设备的消息传送的成本。
例如,标准 S1 层的每日配额为 400,000 条消息。 基于以下几个因素,4 KB 区块的费用增加:
- 一条设备到云(D2C)消息最多可为 4 KB。
- 超过 4 KB 的 D2C 消息以 4 KB 的区块为单位收费。
- 小于 4 KB 的消息可以使用 Azure IoT SDK
SendEventBatchAsync
方法优化设备端的批处理。 例如,在边缘捆绑最多四条 1 KB 消息只会增加每日计量一条消息。 批处理仅适用于 AMQP 或 HTTPS。 - 大多数操作(如云到设备消息或设备孪生操作)也会以 4 KB 区块的形式对消息收费。 所有这些操作都会添加到每日吞吐量和消息的最大配额。
查看Azure IoT 中心定价信息文档,了解详细的定价示例。
除了每日消息配额外,服务操作还有限制。 IoT 中心成本优化的关键部分是优化消息配额和操作限制。 研究每秒操作数或每秒字节数形式的限制之间的差异。 有关详细信息,请参阅 IoT 中心配额和限制。
不同的限制适用于不同的IoT 中心操作。 设备到云操作的每秒操作限制取决于层。 除了按 4 KB 区块计量的消息大小外,还考虑操作数。 通过边缘批处理,可以在单个操作中发送更多消息。
2 KB 的单条消息、10 KB 的批处理消息或 256 KB 的批处理消息仅算作单个操作,使你无需达到限制即可向终结点发送更多数据。
IoT 中心自动缩放
动态调整IoT 中心单位数有助于在消息量波动时优化成本。 可以实现自动缩放服务,该服务可自动监视和缩放IoT 中心服务。 有关实现自动缩放功能的可自定义示例,请参阅自动缩放Azure IoT 中心。 可以使用自己的自定义逻辑来优化IoT 中心层和单位数。
用于缩放的部署标记
部署标记 是灵活部署策略、可预测规模和成本的常见设计模式。 此模式为 IoT 解决方案提供了多种优势,例如异地分布设备组、将新功能部署到特定标记以及观察每个设备的成本。 有关详细信息,请参阅 使用部署标记缩放 IoT 解决方案。
设备管理和建模层
管理设备是协调复杂流程的任务,例如供应链管理、设备清单、部署、安装、操作准备情况、设备更新、双向通信和预配。 设备建模可以降低管理成本和消息传送流量量。
IoT 即插即用
对于 TCO 减少,请考虑扩展用例作为平台选择的一部分。 IoT 即插即用使解决方案生成器能够将设备与IoT 中心或 Azure 数字孪生集成,而无需进行任何手动配置。 IoT 即插即用使用数字孪生定义语言 (DTDL) V2。 两者都基于 JSON-LD 和 RDF 等开放 W3C 标准,因此在不同的服务和工具中更易于采用。
使用 IoT 即插即用 和 DTDL 无需额外费用。 IoT 中心、Azure 数字孪生和其他 Azure 服务的标准费率保持不变。
有关详细信息,请参阅如何将现有设备转换为IoT 即插即用设备。
IoT 中心 DPS
IoT 中心 DPS 是IoT 中心的帮助程序服务,无需人工干预即可将低成本、零接触、实时预配到正确的 IoT 中心。 DPS 可安全且可缩放地预配数百万台设备,以减少错误和成本。
DPS 可实现低或无触摸设备预配,因此无需在站点上训练和发送人员。 使用 DPS 可降低卡车滚动和训练和配置花费的时间成本。 DPS 还减少了由于手动预配而导致的错误风险。
DPS 通过注册分配策略、零接触预配、初始配置设置、重新预配和取消预配支持设备生命周期管理,IoT 中心。 有关详细信息,请参阅:
资产和设备状态建模
比较多个设备拓扑与实体存储(例如 Azure Cosmos DB、Azure 数字孪生和Azure SQL 数据库)之间的成本差异。 每个服务都有不同的成本结构,为 IoT 解决方案提供不同的功能。 根据所需的使用情况,选择最经济高效的服务。
Azure 数字孪生 可以实现基于图形的 IoT 环境模型,以实现资产管理、设备状态和遥测数据。 可以使用 Azure 数字孪生作为工具来为整个环境建模、实时 IoT 数据流式处理以及合并来自非 IoT 源的业务数据。 可以构建自定义本体,或使用基于 RealEstateCore、CIM 或 NGSI-LD 等基文的标准来简化与第三方的数据交换。 Azure 数字孪生具有 无固定费用的按使用付费定价模型 。
Azure Cosmos DB 是一种全球分布式多模型数据库。 成本受存储和吞吐量影响,区域或全局分布式和复制的数据选项。
资产部署模型
可以使用不同的体系结构部署边缘解决方案:多个终结点、IoT 设备、直接连接到云,或者通过边缘和/或云网关进行连接。 采购边缘设备的不同选项可能会影响 TCO 和上市时间。 设备群的持续维护和支持也会影响整体解决方案成本。
在给定的 IoT 解决方案中存储和处理数据会影响许多因素,例如延迟、安全性和成本。 分析每个用例并检查使用边缘处理和数据存储最有意义的位置,以及它如何影响成本。 在边缘存储和处理数据可以节省存储、运输和处理成本。 但是,考虑到规模时,由于成本和开发开销,云服务通常是更好的选择。
Azure 定价计算器是比较这些选项的有用工具。
事件处理和分析层
事件处理和分析层的目的是启用数据驱动的决策。 事件计时和分析用途是需要考虑的关键因素。 正确的服务选择可提高体系结构效率,并降低处理数据和事件的成本。
根据你的要求,为 IoT 数据分析实现热、暖或冷路径处理。 Azure IoT 参考体系结构可帮助你了解这些分析路径之间的差异,并查看每个路径上的可用分析服务。
若要开始,请确定哪种类型的数据通过热路径、暖路径或冷路径:
- 热路径数据保存在内存中,并几乎实时进行分析,通常使用流处理。 输出可能会触发警报,或写入到分析工具可以立即查询的结构化格式。
- 暖路径数据(如过去一天、一周或一个月)保存在可以立即查询的存储服务中。
- 冷路径历史数据保留在低成本存储中,以批量查询。
存储层
IoT 解决方案的目标之一是向最终用户提供数据。 请务必了解存储类型、容量和定价,以创建优化存储成本的策略。
存储类型
遥测存储库的选择取决于 IoT 数据的用例。 如果目的只是监视 IoT 数据,并且卷较低,则可以使用数据库。 如果方案包含数据分析,则应将遥测数据保存到存储。 对于经过优化、仅追加存储和查询的时序,请考虑使用专用的解决方案,例如 Azure 数据资源管理器。
存储和数据库不是互斥的。 这两个服务都可以协同工作,尤其是使用定义完善的热、暖和冷分析路径。 Azure 数据资源管理器和数据库通常用于热和暖路径方案。
对于Azure 存储,还必须考虑访问频率、保留要求和备份等数据生命周期因素。 Azure 存储有助于定义数据生命周期,并自动执行将数据从热层移动到其他层的过程,从而降低长期存储成本。 有关详细信息,请参阅 配置生命周期管理策略。
数据库解决方案
对于数据库功能,在 SQL 和 no-SQL 解决方案之间进行选择很常见。 SQL 数据库最适合具有简单数据转换或数据聚合要求的固定架构遥测。 若要了解详细信息,请参阅 Azure 上的数据库类型。
Azure SQL 数据库和 TimescaleDB for PostgreSQL 是 SQL 数据库的常见选择。 有关详细信息,请参阅以下文章:
如果数据最好表示为没有固定架构的对象或文档,则 no-SQL 是更好的选择。 Azure Cosmos DB 提供多个 API,例如 SQL 或 MongoDB。 对于任何数据库,分区和索引策略对于性能优化和降低不必要的成本都很重要。 有关详细信息,请参阅:
Azure Synapse Analytics 是一个现代 Azure 数据仓库。 Synapse Analytics 按 数据仓库单位(DWU)进行缩放,应选择正确的容量来处理解决方案要求。 根据用例,当没有运行作业以降低运营成本时,可以暂停计算。
传输层
传输层在其他层之间传输和路由数据。 当数据在层和服务之间移动时,协议的选择会影响成本。 现场网关、行业开放协议和 IoT 网络选择等用例也会影响传输层的成本。
若要降低传输大小和成本, 请选择适合 IoT 设备的协议 来发送遥测数据。
设备客户端定期将保持活动消息发送到IoT 中心。 根据 每个操作的费用,对保持活动消息不收费。 但是,如果没有特定要求,则无需在遥测中添加 keep-alive 属性。 为了获得灵活性,某些 Azure IoT 设备 SDK 提供了在使用 AMQP 或 MQTT 协议时为这些消息设置时间跨度的选项。
对于电池供电的 IoT 设备,可以选择在设备唤醒时保持连接保持活动状态或重新连接。 此选项会影响能耗和网络成本。
重新连接使用大约 6 KB 的数据包进行 TLS 连接、设备身份验证和检索设备孪生,但如果设备每天仅唤醒一次或两次,则会节省电池容量。 可以将消息捆绑在一起以减少 TLS 开销。 保持连接会消耗数百个字节,但如果设备每隔几个小时或更少唤醒一次,则保持连接连接会节省网络成本。
有关 Azure IoT 设备 SDK 中的连接和可靠消息传送功能的高级指南,请参阅使用 Azure IoT 中心 设备 SDK 管理连接和可靠消息传送。 本指南可帮助你降低在设备和 Azure IoT 服务之间处理意外行为的成本。
DPS 可降低设备生命周期管理成本,从零接触预配到停用,但连接到 DPS 会消耗 TLS 和身份验证的网络成本。 为了减少网络流量,设备应在预配期间缓存IoT 中心信息,然后直接连接到IoT 中心,直到需要重新预配。 有关详细信息,请参阅 从设备发送预配请求。
交互和报告层
当 IoT 处理时序数据时,大量设备有许多交互。 报告和可视化可实现此数据的价值。 直观和简化的用户体验和设计良好的数据交互成本高昂。
Grafana 是一种开源数据可视化工具,可为时序数据提供优化的仪表板。 Grafana 社区提供了可在环境中重复使用和自定义的示例。 你可以从时序数据实现指标和仪表板,但工作量很少。 Azure 为 Azure Monitor 提供 Grafana 插件。
报表和仪表板工具(如 Power BI)允许从非结构化 IoT 数据快速开始。 Power BI 提供直观的用户界面和功能。 可以使用时序数据轻松开发仪表板和报表,并低成本获得安全性和部署的优势。
集成层
与其他系统和服务的集成可能比较复杂。 许多服务有助于最大限度地提高效率,以优化集成层的成本。
Azure 数字孪生可以将各种系统和服务与 IoT 数据集成。 Azure 数字孪生将所有数据转换为其自己的数字实体,因此了解其服务限制和优化点以降低成本非常重要。 在设计体系结构时查看 Azure 数字孪生服务限制 。 了解功能限制,以帮助有效地与业务系统集成。
使用查询 API 时,Azure 数字孪生按 查询单位(QU)收费。 可以跟踪响应标头中所使用的查询的 QU 数。 降低查询复杂性和优化成本的结果数。 有关详细信息,请参阅 查找 Azure 数字孪生中的 QU 消耗量。
DevOps 层
云平台将资本支出(CAPEX)转换为运营支出(OPEX)。 虽然此模型提供灵活性和敏捷性,但仍需要定义完善的部署和操作模型来充分利用云平台。 计划良好的部署可创建可重复的资产来缩短上市时间。
云平台为开发人员提供几秒内部署资源的敏捷性,但有意外预配资源或过度预配的风险。 适当的云治理模型可以最大程度地降低此类风险,并帮助避免不必要的成本。
开发环境
开发人员可以利用 Azure 提供的灵活性来优化开发成本。 IoT 中心免费层(限制为每个订阅一个实例)提供标准功能,但每天限制为 8000 条消息。 此层足以用于具有有限数量的设备和消息的早期开发。
对于计算环境,可以为云原生 IoT 解决方案采用无服务器体系结构。 适用于 IoT 工作负荷的一些常用 Azure 服务包括 Azure Functions 和 Azure 流分析。 计费机制取决于服务。 某些服务(如用于实时处理的 Azure 流分析)可让开发人员暂停服务,而不会产生额外的成本。 其他服务按使用情况计费。 例如,Azure Functions 根据事务数计费。 开发人员可以利用这些云原生功能来优化开发和运营成本。
集成开发环境(IDE)可加速开发和部署。 某些开源 IDE(如 Visual Studio Code)提供 Azure IoT 扩展 ,使开发人员无需花费任何费用开发和将代码部署到 Azure IoT 服务。
Azure IoT 提供免费的 GitHub 代码示例 和指南。 这些示例可帮助开发人员扩展设备、IoT Edge、IoT 中心和 Azure 数字孪生应用程序。 GitHub 还具有实现无缝持续集成和持续部署(CI/CD)环境的功能,其成本和工作量较低。 GitHub Actions 免费用于开源项目。 有关详细信息,请参阅 GitHub 计划和功能。
成本估算的负载测试
可以使用负载测试来估算端到端 IoT 解决方案的总体成本,包括云服务。 由于 IoT 解决方案使用大量数据,因此模拟器可以帮助进行负载测试。 模拟代码示例( 如 Azure IoT 设备遥测模拟器 )可帮助你使用各种参数大规模测试和估算成本。
部署环境
在多个环境(如开发和生产)中部署工作负荷很常见。 通过基础结构即代码(IaC),可以通过重用代码来加速部署并缩短上市时间。 IaC 可以帮助避免意外部署,例如不正确的层。 Azure 资源管理器和 Azure Bicep 等 Azure 服务或第三方服务(如 Terraform 和 Pulumi)是常见的 IaC 选项。
可以使用生成管道和发布管道将 DevOps 部署做法应用到 IoT 解决方案。 有关示例,请参阅 使用 DevOps 管道部署预测性维护解决方案。
支持和维护
现场设备的长期支持和维护可能会升级,成为部署解决方案的最大成本负担。 仔细考虑系统 TCO 对于实现投资回报(ROI)至关重要。
需要在解决方案的生存期内支持和维护 IoT 设备。 任务包括硬件修复、软件升级、OS 维护和安全修补。 考虑商业软件和专有驱动程序和协议的持续许可成本。 如果无法执行远程维护,则需要对现场维修和更新进行预算。 对于硬件维修或更换,必须保留适当的备用库存。
对于使用手机网络或付费连接媒体的解决方案,请根据设备数、数据传输的大小和频率以及设备部署位置选择适当的数据计划。 如果你有服务级别协议(SLA),则需要硬件、基础结构和经过培训的员工进行经济高效的组合,以满足 SLA 要求。
云治理
云治理对于合规性、安全性和防止不必要的成本至关重要。
通过成本管理 API,可以通过多维分析浏览成本和使用情况数据。 可以创建自定义筛选器和表达式,帮助回答 Azure 资源消耗相关问题。 当消耗量达到配置的阈值时,成本管理 API 可以生成警报。 成本管理 API 适用于 IoT Central、IoT 中心 和 DPS。
资源标记将标签应用于已部署的资源。 除了Microsoft成本管理,标记还提供基于标签持续成本的见解。 有关详细信息,请参阅 常见成本分析使用。
Azure Policy 附带内置策略来自动标记资源,或标记资源而不标记。 若要了解详细信息,请参阅 分配标记符合性策略定义。 Azure Policy 的另一个用例是防止预配某些层,这有助于防止在开发或生产环境中过度预配。
监视
Azure 订阅中包含的许多工具可帮助组织实施财务治理,并从 IoT 服务中获得更多价值。 这些工具可帮助你通过单个统一视图跟踪所有云的资源使用情况和管理成本。 你可以访问丰富的运营和财务见解来做出明智的决策。
遥测日志记录通常使用 Azure Monitor 中的 Log Analytics 工作区。 Log Analytics 包括 5 GB 的存储,前 30 天的保留期是免费的。 根据业务需求,可能需要更长的保留期。 查看并决定正确的保留期,以避免意外成本。
Log Analytics 提供了一个工作区环境,用于以交互方式查询日志。 可以定期将日志导出到外部位置,例如 Azure 数据资源管理器,也可以将日志存档到存储帐户中,以使用成本较低的存储选项。 有关详细信息,请参阅 Azure Monitor 中的监视使用情况和估计成本。
Azure 顾问
Azure 顾问是个性化的云顾问程序,可帮助遵循最佳做法来优化 Azure 部署。 顾问分析资源配置和使用情况遥测数据,并建议可帮助你提高成本效益、性能、可靠性和安全性的解决方案。
顾问通过识别空闲和未充分利用的资源来帮助优化和减少总体 Azure 支出。 可以从顾问仪表板上的“成本”选项卡获取成本建议。
尽管顾问不提供 IoT 服务的特定建议,但它可以为 Azure 基础结构、存储和分析服务提供有用的建议。 有关详细信息,请参阅 使用 Azure 顾问降低服务成本。