7. 7CONFIDENTIAL
Device to Cloud Communication
•Maximum file size supported by Azure Blob Storage
•Available when using any protocol, but requires HTTPS
on the device
•Low frequency
File uploads
•Up to 8 KB per property
•MQTT or AMQP protocols supported
•Medium frequency
Twin
properties
•Up to 256 KB per message
•All protocols supported
•High frequency
Device-to-
cloud
message
8. 8CONFIDENTIAL
Cloud to Device Communication
•Two-way data flow
•Up to 8 KB for request and for response
•MQTT or AMQP protocols supported
•High frequency
Direct
method
•One-way data flow
•Up to 8 KB per property
•MQTT or AMQP protocols supported
•Medium frequency
Twin
properties
•One-way data flow
•Up to 64 KB per message
•Available on all protocols. Device must poll when using
HTTPS
•Low frequency
Cloud-to-
device
message
9. 9CONFIDENTIAL
IoT Hub and Backend Communication
1.Azure Storage container
2.Event Hub
3.Service Bus Queue
4.Service Bus Topic
11. 11CONFIDENTIAL
Azure IoT Hub Pricing
Edition Price per unit Total number of messages/day per
unit
B1 $10 400,000
B2 $50 6,000,000
B3 $500 300,000,000
S1 $25 400,000
S2 $250 6,000,000
S3 $2,500 300,000,000
15. 15CONFIDENTIAL
1.Measure latency of message handling for different Azure Hub configurations
2.Compare MQTT vs HTTP
3.Use X.509 certificate per device as authentication mechanism
4.Compare different approaches for communication between cloud and
devices
Test Goal
17. 17CONFIDENTIAL
1.Device sends authentication request to server
2.Server responds with random number from 3 to 8 urls to services, one
response per url
3.±20 device emulators are started concurrently
4.Each device emulator makes 10 sequence attempts for authentication
Test Settings
21. 21CONFIDENTIAL
Run 2 – Direct Method + Event Hub
1.Event hub provides only minor improvements of latency
2.Event introduce extra complexity in the server side
development
22. 22CONFIDENTIAL
Run 3 – Cloud-to-Device Messages
Average min ~0.6 seconds
Average max ~14 seconds
23. 23CONFIDENTIAL
Run 3 – Cloud-to-Device Messages
Cloud-to-Device messaging introduces vary variable range
of results. Minimal results are better than direct method,
however maximum ones take a lot of time. It might be
explained by using QoS=1 for sending messages and retry
policies with delays on messages that were not delivered
first time.
29. 29CONFIDENTIAL
Resume
1.Azure IoT Hub provides miscellaneous options for configuration
2.Azure IoT Hub covers typical IoT cases well
3.Azure IoT Hub was not designed for minimal latency
4.All tested combination shown relatively the same results
5.Tested case in not a typical “IoT” case
6.We created a custom solution for this case