r/aws 1d ago

discussion IIoT SaaS solution

Building a PoC for an IIoT remote-monitoring SaaS, devices publish telemetry over MQTT and I need somewhere to put the time-series data. Scale is small: ~10 devices, ~20 points each, 1–5 readings per minute, so throughput isn't the issue. My default would be RDS or DynamoDB, but I'm less worried about whether they can handle it and more about whether they're pleasant to build on. Things like time-bucketed rollups, retention policies, downsampling, and last-value-per-device feel like they'd be a lot of hand-written SQL or Lambda glue on either.

For anyone who's built this: did you stay on plain Postgres, reach for the TimescaleDB extension, go to something purpose-built like Timestream for InfluxDB, or dump to S3 and query with Athena? Mainly interested in what the day-to-day was like, where you kept writing the same boilerplate, and what you'd pick again.

2 Upvotes

8 comments sorted by

7

u/YTvW95 1d ago

This feels like one of the few times where Amazon timestream would be useful

3

u/Sirauto420 1d ago

Actually came here to say the same thing…

1

u/ivereddithaveyou 1d ago

Timestream probably is the right answer and I've built a similar system before on Dynamo and it was a pain dealing with some of the queries like you say.

A thought occurred that cloudwatch logs would also be reasonable but it's obviously not purpose built.

1

u/Bub697 11h ago

I’ve built this in plain S3, Timestream for InfluxDB, Sitewise, RDS, and other non-cloud data stores. Influx and Grafana will probably make you the happiest. Everything just works and is intuitive.

S3 is by far the cheapest, and if you combine it with IOT core basic ingest and IOT rules you can get everything running with basically no code.

You’ll need to map all your requirements against what the services provide out of the box, and figure out cost and amount of code maintenance for the different options. Sounds like a job for Claude.

1

u/magnetik79 1d ago

It really is a shame AWS don't offer managed https://github.com/timescale/timescaledb under RDS/Aurora.

0

u/cachemonet0x0cf6619 1d ago edited 1d ago

dynamodb to start. then it was firehose so we can window some metrics. all pretty straight forward. honestly, this choice doesn’t matter. customers pay for solution and don’t care how many grapes you crushed in order to make this peanut butter and jelly sandwich. do you have a more specific question?