IoT Ingestion Platform
An Azure reference architecture for IoT ingestion using IoT Hub, MQTT, Event Hubs, Stream Analytics, and a time-series store. It absorbs bursty device telemetry, processes it in motion, and supports device control with per-device security.
IoT Ingestion Platform
An IoT ingestion platform connects to thousands or millions of devices, collects their telemetry, processes it in motion, and stores it for analytics, alerting, and control. Devices are constrained, intermittently connected, and numerous, so the platform must handle high-cardinality, bursty, lossy data. Choose this for fleet monitoring, predictive maintenance, and smart-device products. This design runs on Azure IoT services.
Components
- IoT Hub: the managed front door that authenticates devices and accepts telemetry over MQTT and other protocols.
- MQTT broker: lightweight publish/subscribe messaging suited to constrained devices.
- Stream Analytics: processes telemetry in motion — filtering, aggregation, and anomaly detection.
- Event Hubs: a high-throughput ingestion buffer that decouples devices from downstream consumers.
- Time-series database: stores ordered telemetry efficiently for queries and dashboards.
- Device twin: a cloud copy of each device's reported and desired state for control.
- Cosmos DB: stores device metadata and processed results.
Data Flow
Devices publish telemetry to IoT Hub over MQTT using per-device credentials. Event Hubs buffers the firehose. Stream Analytics consumes the stream, computes windowed aggregates, and flags anomalies, writing results to the time-series database and Cosmos DB. Dashboards and alerts read from there. Control commands flow back through device twins: the cloud sets a desired state and the device reconciles when next online.
Scaling and Resilience
The ingestion buffer absorbs bursts and protects downstream systems from device spikes. Partition streams by device or region to scale processing horizontally. The time-series store handles high write throughput and downsamples old data to control cost. Design for intermittent connectivity: devices buffer locally and resend. Use a schema registry so telemetry formats can evolve without breaking consumers.
Security
Give each device a unique identity and credentials; never share keys across a fleet. Apply zero-trust principles — authenticate and authorize every device and command. Encrypt telemetry in transit with TLS. Rotate and revoke device credentials, and quarantine misbehaving devices. Sign firmware and command payloads. Audit device provisioning and decommissioning.
Trade-offs and Alternatives
Managed IoT services speed delivery but add cost and some lock-in; a self-hosted MQTT broker with a streaming pipeline gives control at higher operational burden. Time-series storage choices trade query flexibility against write throughput. For small fleets, a simpler HTTP ingestion endpoint with a managed queue may be sufficient and avoids the full IoT platform.