Azure IoT Hub vs AWS IoT Core: features and cost, head to head
With Google Cloud IoT Core retired, Azure IoT Hub and AWS IoT Core are the two first-party managed device gateways from the big three clouds. Both connect devices securely, accept telemetry and route it to other services. They differ in how they charge and in a few features that affect design.
For how each pricing model works in detail, see how IoT platform pricing works. This guide puts the two side by side.
At a glance
| Azure IoT Hub (Standard) | AWS IoT Core | |
|---|---|---|
| Pricing model | Units per month, each with a daily message quota | Pay per message, connection-minute, rule and action |
| Message metering | 4 KB blocks | 5 KB blocks |
| Routing to other services | Built-in message routing, included in the unit price | Rules engine, charged per rule triggered and per action |
| Device state | Device twins | Device shadows (charged per operation) |
| Provisioning at scale | Device Provisioning Service (separate service, per operation) | Fleet provisioning (part of IoT Core) |
| Protocols | MQTT, AMQP, HTTPS (and over WebSockets) | MQTT, HTTPS, MQTT over WebSockets, LoRaWAN (via IoT Core for LoRaWAN) |
| Edge runtime | Azure IoT Edge, runtime free | AWS IoT Greengrass, per active device |
| Unused capacity | You pay for the whole unit’s quota | You pay only for what’s used |
Both also have a small free allowance for trying them out. Check each vendor’s current free-tier terms, since they change.
Where the costs come from
Azure IoT Hub charges a flat price per unit. Within a unit’s daily quota, sending more messages costs nothing extra, and routing to Event Hubs, storage or Service Bus is included. The bill moves in steps: when your busiest day exceeds the quota, you add a whole unit. (The Basic tier is cheaper but drops cloud-to-device messages, device twins and IoT Edge support, which most industrial designs need.)
AWS IoT Core has no steps. Every message, every minute a device is connected, every rule match and every action adds a small amount. Four separate meters make it harder to predict, but the bill tracks real use closely, and an idle fleet costs very little.
Which costs less?
There’s no single answer, but the pattern is consistent:
- High, steady volume from a known fleet tends to favour IoT Hub. Once you’ve paid for a unit, its quota is “free”, and routing is included.
- Low or spiky volume, or a fleet that’s still growing, tends to favour IoT Core, which doesn’t charge for headroom.
- Many devices that stay connected but send rarely (for example, a sensor sending every 15 minutes) bring AWS’s connection-minute charge into play, which IoT Hub doesn’t have.
- Message size cuts both ways: a 4.5 KB message is two messages on IoT Hub but one on IoT Core. See message size and batching.
The quickest way to find your answer is to run your own numbers: our estimator picks the cheapest IoT Hub tier and unit count for your load and prices every AWS meter, using today’s list prices.
Beyond price
- Already on one cloud? The gateway is rarely the biggest cost (the time-series database often is), so staying on the cloud where the rest of your stack lives usually matters more.
- Need LoRaWAN? AWS offers a managed LoRaWAN network server. On Azure you’d use a partner’s.
- Want a plain MQTT broker without the device-management layer? Azure also offers an MQTT broker in Event Grid, priced differently from IoT Hub, which some new designs use instead.