Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No. It depends on the IoT application. The one I'm involved with (smart metering) produces data at regular 15 minute periods 24/7.

This is a very predictable and constant traffic load and not at all suitable for serverless/lambda.

In fact, its the complete opposite.

Many IoT applications are very predictable (anything with regular sensor-readings for example or with repeatable patterns such as people returning from work and turning things on).



People 'returning from work' and 'turning things on' are exactly the kind of situation where serverless/lambda shines.

See also: traffic jams and people switching on their electric kettles en-masse during intermission of major soccer matches. The first disrupts whole economies and the second has given rise to 'fast pumped storage' at the electrical grid level.

Just because you don't see the accumulated effects does not mean they aren't there.


What you need to consider [is] that there are a lot of applications like yours hosted by an IoT SaaS. (I work on one.)

So the patterns are (obviously) predictable, but the 'dynamic range' of the load is extremely wide, ranging from stampedes on the cardinal points of the clock face (0/15/30/45 min) to crickets the rest of the time. Some form of elasticity is required unless you are willing to pay for idle servers sized for the episodic peaks.


Thats not really true as generally IoT nodes will manage the traffic they generate to avoid synchronisation with other nodes.

For example, to avoid the 00/15/30/45 issue you offset yourself randomly over a few minutes within that range to avoid overloading mesh & cellular radio networks.

This has a smoothing effect on the traffic as a whole (as seen from the server) which reduces the "dynamic-range" as you're terming it.


> generally IoT

What you propose is one way of doing so. Again, I remind you that an IoT SaaS has multiple tenants and these tenants can't be expected to collectively coordinate. And in certain domains, it is not possible to dictate timing requirements to the client tenant and thus enforce the (SaaS) providers traffic requirements.


I don't know the specifics of your architecture, but if your (multiple) tenant applications are sharing code on the node-side, then it follows that they can self-organise in a similar manner.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: