Design an IoT Telemetry Platform
HardSystem design · IoT
Design an IoT telemetry platform for 10M connected devices that report a reading every 10 to 60 seconds (about 330K to 1M readings/s), are often offline for hours, and need remote commands and firmware updates. Operators view fleet health dashboards and alerts. Cover device identity and connections, offline buffering and late data, time-series storage and downsampling, a device state document for commands, and staged firmware rollout.
Requirements
- Authenticate each device with its own credential and tolerate intermittent connectivity
- Deduplicate retransmitted readings and use device timestamps separately from arrival time
- Store high-volume time series efficiently with downsampling by age
- Deliver commands to devices that are offline, with acknowledgement and expiry, and roll out firmware safely