介绍
云原生应用程序本质上是模块化的,具有松散耦合的自包含组件。 可以任意搭配使用技术堆栈来独立开发其中每个组件,同时仍允许它们通过定义明确的编程接口进行交互。 这些组件可能包括在 IoT 设备和一系列 Azure 服务上运行的软件,例如 Azure IoT Central、Azure Functions 和 Azure Cosmos DB。 这些服务可用于收集、处理和存储设备遥测数据。
在本模块中,通过将其组件与 Azure IoT 服务集成并使用 Cosmos DB 提供持久性数据存储,扩展云原生应用程序以提供 IoT 功能。
方案:生成、收集和处理 IoT 遥测
假设你在家用电器制造公司 Adatum Corporation 工作。 你领导了一个负责为智能冰箱构建多功能应用的小型开发团队。
你的团队开发了一个冰箱库存应用,企业可以使用该应用程序轻松识别需要重新库存的物品。 他们还可设置此应用,来自动重新排列所需商品。 为此,你使用了 Azure Kubernetes 服务(AKS)群集托管 Node.js 应用,该应用处理来自冰箱的消息并将其发送到管理 Web 应用。 Azure Database for PostgreSQL 充当数据存储。
你的团队还设计和实现了使用 Azure IoT Central 进行 IoT 遥测收集和处理的解决方案的原型。 此原型是扩展在此模块中关注的 IoT 数据管道的基础。
由于云原生应用程序具有松散耦合的特点,您可以在托管数据存储比运行自己的容器化数据存储更合理时选择使用托管数据存储。 在此场景中,你正在考虑使用托管的数据存储,例如用于选择性聚合内容的 Cosmos DB 和用于原始指标的 Azure Blob 存储。 你要评估它们是否适合流媒体场景。 根据初始研究,你发现 Cosmos DB 提供一系列性能和功能优势,与传统的关系数据存储(如 Azure Database for PostgreSQL)相比。 你还确定,Azure Blob 存储可以适应高数据吞吐量要求,同时以低成本提供几乎无限的容量。
考虑到这些优势,你的团队可以开发和部署 IoT 服务,而不会影响现有库存服务。
先决条件
- 基本熟悉 Azure
- 基本了解云计算
- 基本熟悉编程概念
学习目标
学完本模块后,你将详细了解如何:
- 介绍 IoT 服务的体系结构和组件。
- 介绍 Azure Cosmos DB 的特征和功能。
- 将 Azure 数据存储与 IoT 管道集成。
- 实现 Azure Cosmos DB 以便处理遥测数据。
- 分析和管理遥测数据。
- 将 Web 应用与 IoT 管道集成。