Microsoft has a bunch of tools labeled “IoT.” What are their similarities and differences? Why would you choose to use one over another (and do they play nicely together)? Let’s find out.
Azure IoT Hub
A connection from Azure to the device and vice versa without worrying as much about how to do so securely and reliably.
Pros: Lightweight, secure, reliable connection between device, cloud, and vice versa with SDKs for C, Java, Node, and .NET.
Cons: Few. This is the primary recommended way to communicate between devices and Azure.
When To Use: When you don’t want to reinvent the wheel for how to communicate securely and reliably between Azure and devices.
Use With: Azure IoT Edge, Windows 10 IoT Core, Windows 10 IoT Enterprise.
Azure IoT Edge
For when you want to take data from many sensors, process it locally, and send important stuff to the cloud.
Pros: Runs on Linux or Windows, open source, consists of modules that can be written in many languages and mixed and matched, runs some Azure services at the edge.
Cons: A somewhat complex solution.
When To Use: When you have a bunch of sensors, especially old ones, that you want to connect to the cloud. Factories are a perfect use case.
Use With: Windows 10 IoT Core on x86 devices, Azure IoT Hub.
Azure IoT Suite
A wizard walks you through the creation of a bunch of Azure services and code running on them. Use it to quickly bootstrap a fully featured IoT solution as a head start for your project.
Pros: Much, much faster than doing everything from scratch.
Cons: Can be complex and expensive for a proof-of-concept phase.
When To Use: When you are ready and funded to build your IoT solution with Azure and want to save three months of time figuring out how to architect it.
Use With: Azure IoT Edge, Windows 10 IoT Core, Azure IoT Hub.
Windows 10 IoT Core
The free, lightweight, yet completely serious Windows operating system for IoT devices.
Pros: Perfect for running a single UWP app.
Cons: Requires relatively hefty hardware (at least for IoT) and only runs Windows UWP apps.
When To Use: Kiosks are a great use case. Also could work as a small gateway or in consumer devices that can plug into the wall.
Use With: Azure IoT Edge on x86 devices, Azure IoT Hub.
Windows 10 IoT Enterprise
The not free and full-fat Windows operating system for IoT devices. This is exactly the same operating system as Windows 10 Enterprise, licensed for IoT use.
Pros: Full Windows allows for maximum flexibility.
Cons: Requires x86 processor and also more management know-how than Windows 10 IoT Core.
When To Use: When Windows 10 IoT Core is not enough.
Use With: Azure IoT Edge, Azure IoT Hub.
Azure IoT Central
The Software-as-a-Service for IoT. This is the no-code solution to getting up and running with IoT in the cloud.
Pros: Much of the groundwork done for you and abstracted away.
Cons: Not yet fully featured, little integration with other services, APIs aren’t open to developers.
When To Use: When you want to bootstrap something quickly, have little internal IoT experience, and all you need is a few dashboards and email alerts for your IoT product or service.
Use With: Doesn’t play nicely with much else yet. Stay tuned for integration with Azure Functions and Logic Apps, which will open a floodgate of integration possibilities.
Azure Sphere
The answer for securing and connecting tiny microcontroller devices, including a custom Linux operating system, hardware reference designs, and the cloud.
Pros: A cohesive solution for connecting low-power microcontrollers.
Cons: Specific to low-power devices.
When To Use: When you want an all-inclusive solution for connecting microcontrollers, like those in refrigerators and garage door openers, to the cloud.
Use With: Other services in Azure.
But Wait, There’s More!
There are many other services offered by Microsoft without IoT seared into their title that play nicely with the Internet of Things. If you have any questions or thoughts on those other services, don’t hesitate to reach out to me on Twitter @jporcenaluk!