Every telecoms network has thousands of physical devices — routers, base stations, environmental sensors in data centres — quietly reporting readings every few seconds. When a sensor in a remote data centre starts reporting 52°C, you want to know immediately, not when someone notices the hardware has throttled.
This post walks through an IoT telemetry pipeline I built on AWS: a device simulator that generates realistic sensor data, a Kinesis stream to buffer it, a Lambda consumer that writes every reading to DynamoDB, and an alert handler that fires SNS notifications and CloudWatch metrics the moment a reading breaches a threshold.
Source code : github.com/tsekatm/iot-kinesis-stream
Architecture
Device Simulator (Python) └── put_record → Kinesis Data Stream │ ▼ Lambda: Kinesis Consumer │ (decode → validate → write) │ ├──► DynamoDB (iot-sensor-readings) │ PK=device_id, SK=timestamp │ └──► Lambda: Alert Handler (async invoke) │ ├──► SNS Topic → Email / SMS └──► CloudWatch IoTPipeline/Alerts ::…