Choose the right IoT Hub tier for your solution
Every IoT solution is different, so Azure IoT Hub offers several options based on pricing and scale. This article is meant to help you evaluate your IoT Hub needs. For pricing information about IoT Hub tiers, see Azure IoT Hub pricing.
To decide which IoT Hub tier is right for your solution, ask yourself two questions:
What features do I plan to use?
Azure IoT Hub offers two tiers, basic and standard, that differ in the number of features they support. If your IoT solution is based around collecting data from devices and analyzing it centrally, then the basic tier is probably right for you. If you want to use more advanced configurations to control IoT devices remotely or distribute some of your workloads onto the devices themselves, then you should consider the standard tier. For a detailed breakdown of which features are included in each tier, continue to Basic and standard tiers.
How much data do I plan to move daily?
Each IoT Hub tier is available in three sizes, based around how much data throughput they can handle in any given day. These sizes are numerically identified as 1, 2, and 3. For example, each unit of a level 1 IoT hub can handle 400 thousand messages a day, while a level 3 unit can handle 300 million. For more details about the data guidelines, continue to Message throughput.
Basic and standard tiers
The standard tier of IoT Hub enables all features, and is required for any IoT solutions that want to make use of the bi-directional communication capabilities. The basic tier enables a subset of the features and is intended for IoT solutions that only need uni-directional communication from devices to the cloud. Both tiers offer the same security and authentication features.
Only one type of IoT Hub edition within a tier can be chosen per IoT hub. For example, you can create an IoT hub with multiple units of S1. However, you can't create an IoT hub with a mix of units from different editions, such as S1 and B3 or S1 and S2.
|Capability||Basic tier||Standard/Free tier|
|Message routing, message enrichments, and Event Grid integration||Yes||Yes|
|HTTP, AMQP, and MQTT protocols||Yes||Yes|
|Device Provisioning Service||Yes||Yes|
|Monitoring and diagnostics||Yes||Yes|
|Device twins, module twins, and device management||Yes|
|Device streams (preview)||Yes|
|Azure IoT Edge||Yes|
|IoT Plug and Play||Yes|
IoT Hub also offers a free tier that is meant for testing and evaluation. It has all the capabilities of the standard tier, but includes limited messaging allowances. You can't upgrade from the free tier to either the basic or standard tier.
Azure IoT hubs contain many core components from Azure Event Hubs, including partitions. Event streams for IoT hubs are populated with incoming telemetry data that is reported by various IoT devices. The partitioning of the event stream is used to reduce contentions that occur when concurrently reading and writing to event streams.
The partition limit is chosen when an IoT hub is created, and can't be changed. The maximum limit of device-to-cloud partitions for basic tier and standard tier IoT hubs is 32. Most IoT hubs only need four partitions. For more information on determining the partitions, see the How many partitions do I need? question in the FAQ for Azure Event Hubs.
Once you create your IoT hub, you can upgrade from the basic tier to the standard tier without interrupting your existing operations. For more information, see How to upgrade your IoT hub.
The partition configuration remains unchanged when you migrate from basic tier to standard tier.
The free tier does not support upgrading to basic or standard tier.
IoT Hub REST APIs
The difference in supported capabilities between the basic and standard tiers of IoT Hub means that some API calls don't work with basic tier IoT hubs. The following table shows which APIs are available:
|API||Basic tier||Standard/Free tier|
|Get registry statistics||Yes||Yes|
|Get services statistics||Yes||Yes|
|Create or update device||Yes||Yes|
|Create or update module||Yes||Yes|
|Query IoT Hub||Yes||Yes|
|Create file upload SAS URI||Yes||Yes|
|Receive device bound notification||Yes||Yes|
|Send device event||Yes||Yes|
|Send module event||AMQP and MQTT only||AMQP and MQTT only|
|Update file upload status||Yes||Yes|
|Bulk device operation||Yes, except for IoT Edge capabilities||Yes|
|Cancel import export job||Yes||Yes|
|Create import export job||Yes||Yes|
|Get import export job||Yes||Yes|
|Get import export jobs||Yes||Yes|
|Purge command queue||Yes|
|Get device twin||Yes|
|Get module twin||Yes|
|Invoke device method||Yes|
|Update device twin||Yes|
|Update module twin||Yes|
|Abandon device bound notification||Yes|
|Complete device bound notification||Yes|
The best way to size an IoT Hub solution is to evaluate the traffic on a per-unit basis. In particular, consider the required peak throughput for the following categories of operations:
- Device-to-cloud messages
- Cloud-to-device messages
- Identity registry operations
Traffic is measured for your IoT hub on a per-unit basis. When you create an IoT hub, you choose its tier and edition, and set the number of units available. You can purchase up to 200 units for the B1, B2, S1, or S2 edition, or up to 10 units for the B3 or S3 edition. After you create your IoT hub, without interrupting your existing operations, you can:
- Change the number of units available within its edition (for example, upgrading from one to three units of B1)
- Upgrade or downgrade between editions within its tier (for example, upgrading from B1 to B2)
- Upgrade from the basic to the standard tier (for example, upgrading from B1 to S1)
For more information, see How to upgrade your IoT hub.
As an example of each tier's traffic capabilities, device-to-cloud messages follow these sustained throughput guidelines:
|Tier edition||Sustained throughput||Sustained send rate|
|B1, S1||Up to 1111 KB/minute per unit
|Average of 278 messages/minute per unit
(400,000 messages/day per unit)
|B2, S2||Up to 16 MB/minute per unit
|Average of 4,167 messages/minute per unit
(6 million messages/day per unit)
|B3, S3||Up to 814 MB/minute per unit
|Average of 208,333 messages/minute per unit
(300 million messages/day per unit)
Device-to-cloud throughput is only one of the metrics you need to consider when designing an IoT solution. For more comprehensive information, see IoT Hub quotas and throttling.
Identity registry operation throughput
IoT Hub identity registry operations aren't supposed to be run-time operations, as they're mostly related to device provisioning.
For more information about specific burst performance numbers, see IoT Hub quotas and throttling.
If you're approaching the allowed message limit on your IoT hub, you can use these steps to automatically scale to increment an IoT Hub unit in the same IoT Hub tier.