Azure/Cloud Setup Advice

Hi Everyone,

Sort of a long-winded, multipart question here – I hope it’s appropriate for this forum, if not please let me know. I’m looking to move from a self-hosted solution which is working great (docker container on a VM used for a proof of concept) to more robust cloud-based solution for production. I’m eying the usual suspects (Azure, AWS, etc.) and curious what people are doing in terms of tiers of service in a non-free environment. In my case, I’m exploring something with maybe 10k nodes but able to scale to hundreds of thousands if required and eventually transition to high availability across all applicable components.

Taking Azure for an example, as that’s where our web application is hosted, the options proposed in the Quick Start are ideal for very small (free) installations. Would anyone care to share what service tiers they’re using in a production/commercialized environment? Also how many devices you have and/or expect to scale to. Here’s what i’m seeing:

IoT Hub:

It seems that there’s nothing in the Standard offering that is mandatory for use with Chirpstack that isn’t in basic except “Cloud-to-device messaging”. If this is the case and the basic tier is selected does this preclude me from being able to send downlinks to a device? Basically if i want to be able to send downlinks from Chirpstack to the devces would need the Standard Tier, correct?

Service Bus:

Is there anything in the “Standard” Service Bus offering that is necessary for Chirpstack or is the Basic fine? I see that deduplication is a “standard” feature, but this is already handled by the Network Server. Are “topics” required for operation? it seems like they might be as the gateway bridge uses the gateway ID as a part of the topic, correct?


The DB seem to be pretty minimal, doesn’t seem like too much is actually persisted in the DB (frame logs are gone in newer versions from what i see). I was thinking Gen Purpose 2 vCore 10GiB to start.


Standard required for any kind of replication and premium required for clustering and persistence. Is there any rule of thumb for number of devices vs cache size? E.g. 1GB for up to x devices? If my Redis DB max size is too small will Chirpstack just stop accepting new devices? Redis seems to be the weakest link here if my devices don’t auto-rejoin quick enough and also quite expensive to run in a HA environment (at least with Azure’s offering), though I think that Redis Enterprise Cloud can be had for a reasonable price.


Will probably start with something basic and scale up as necessary…

Thanks in advance.