Building an IoT Solution: Handling Traffic Data and Message Ingestion in Azure

Gathering Traffic Data from 400 IoT Devices: Understanding the Message Workload

Question

You have to build an IoT solution which gathers traffic data from 400 devices, with the expected workload of 4000 messages per minute.

For processing this dataflow, you decide to provision one S2 IoT Hub unit.

In most of the time, the distribution of the messages is uniform, but around peak hours, short spikes (as much as 120 messages per second) might occur in the flow of data.

Being aware of this pattern, you are sure that it will cause no problem in the message ingestion.

Is that a valid assumption?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer: B.

Option A is incorrect because the throttling takes effect at 120 messages/s.

In addition to that, the IoT Hub accepts requests even above the throttle threshold for a limited time.

Option B is CORRECT because in spite of the automatic throttling, the IoT Hub accepts requests above the throttle threshold for a limited time.

If the spikes are a few seconds long, the traffic shaping feature will cope with these bursts.

Option C is incorrect because the total number of edition 2 hubs is 4167 messages/min/unit, i.e.

69 messages/s/unit.

200 is well beyond the capability of this type of hub.

Option D is incorrect because of course, IoT hubs of any tier can accommodate a randomly variable flow of messages within its quota and throughput limitations.

References:

The correct answer is A. No, because IoT Hub's throttling takes effect immediately when the number of messages per second exceeds cca. 70 messages/s and the excess messages will be rejected.

Explanation:

Azure IoT Hub is a scalable and secure cloud-hosted service that can handle millions of connected IoT devices and billions of messages per day. It provides capabilities such as device-to-cloud and cloud-to-device messaging, device management, and data storage.

IoT Hub is designed to handle a large volume of messages, but there are limits to the number of messages that can be ingested and processed per second based on the pricing tier of the hub. The S2 pricing tier provides a maximum throughput of 200 messages per second.

In the scenario described in the question, there are 400 devices producing a workload of 4000 messages per minute, which translates to around 67 messages per second on average. This is within the maximum throughput of the S2 hub.

However, during peak hours, short spikes of up to 120 messages per second may occur in the flow of data. This could exceed the maximum throughput of the hub and trigger throttling.

Throttling is a mechanism in IoT Hub that limits the rate at which messages can be ingested and processed when the hub is near or at its maximum capacity. Throttling takes effect immediately when the number of messages per second exceeds a certain threshold, which is approximately 70 messages per second for S2 hubs.

When throttling occurs, the excess messages will be rejected, and an error message will be returned to the device that attempted to send them. Throttling is a necessary mechanism to ensure the stability and reliability of the IoT Hub service and to prevent overload and disruption.

Therefore, the assumption that the short spikes of up to 120 messages per second will cause no problem in message ingestion is invalid. Throttling will take effect immediately when the number of messages per second exceeds the threshold, and some messages may be rejected.