IoT, or the ‘Internet of Things’, is an intriguing and rapidly growing technology that’s bringing significant change to important elements of modern life. According to Gartner, IoT security spending alone is set to reach $1.5 billion during 2018.
Like many newly minted terms, the definition of IoT can vary depending upon who’s speaking. This blog post will cover two, related topics:
- What does IoT mean in everyday, practical terms (i.e., what are the real-world applications) and
- What role does cloud technology generally – and Microsoft Azure specifically – play in making IoT scalable and possible for a wider variety of organizations than ever before?
Let’s start with a definition.
The IEEE provides a very detailed definition here (“Towards a Definition of the Internet of Things”) which I encourage you to review if you want a particularly deep dive.
For simplicity’s sake, I’ll quote Wikipedia:
“The Internet of things (IoT) is the network of devices, vehicles, and home appliances that contain electronics, software, actuators, and connectivity which allows these things to connect, interact and exchange data.
IoT involves extending Internet connectivity beyond standard devices, such as desktops, laptops, smartphones and tablets, to any range of traditionally dumb or non-internet-enabled physical devices and everyday objects. Embedded with technology, these devices can communicate and interact over the Internet, and they can be remotely monitored and controlled.”
The key takeaway is that your PC is not an IoT device but an Internet-connected tracking unit that sends location and status data to a hub (for example) definitely is.
Here’s a real-life example.
Recently, I sent my watch back to the manufacturer for a battery replacement. As the watch neared the repair facility, I received routine location updates until it safely reached its destination. After a week or so, the process was reversed, I received location notifications as the watch made its way back to my home and an alert from my Internet-connected video doorbell that the delivery person was at the door.
In this scenario, there were several IoT devices in use:
- The real-time tracking device contained in the shipping unit for the trip to the vendor
- The real-time tracking device contained in the UPS truck that returned my watch
- The Internet-connected video doorbell that enabled me to answer the door and speak with the delivery driver while upstairs, nowhere near the front door
There are two technologies that were essential to making this seemingly magical process possible:
- The Internet (for network connectivity)
- A platform that can accept data sent from Internet-connected devices and provide analytics, status, device health checks, location and other types of information.
Let’s visualize this:
At the ‘cloud platform’ layer, Microsoft Azure can provide everything required to build an IoT solution without the need to invest in costly and fault-prone infrastructure that’s difficult to scale. If you’re just getting started with Microsoft Azure, it might first make sense to check out this Learning Path: Getting Started with Azure.
The Azure Approach to IoT
Azure offers two primary solutions for building IoT platforms:
- Azure IoT Central – a fully managed, SaaS platform that enables the creation of IoT solutions with built-in management and operational tools (IoT Central automatically integrates with Azure IoT Hub and Time Series Insights)
- Azure IoT Hub – a managed connectivity service that gives you the ability to create a network of your IoT devices (IoT Hub integrates with Azure Event Grid, Azure Logic Apps, Azure Machine Learning, and Azure Stream Analytics)
Let’s take a look at an example architecture using some of these tools:
In the diagram shown above, an IoT solution built using Azure IoT Central includes IoT Hub as the interface point for the connected ‘things.’ Stream Analytics acts as the real-time analysis ingestion engine and data source for services such as databases, dashboards, and reports.
It’s important to note that this is only one of many possible configurations. Azure’s IoT toolkit offers a great deal of flexibility, giving you the ability to create PaaS and SaaS IoT solutions that are either turnkey using IoT Central or highly customized, built using IoT Hub. You can explore sample reference architectures by reading the Microsoft Azure IoT Reference Architecture Guide. Another good resource is Getting Started with IoT with AWS and Microsoft Azure.
Azure IoT Central vs. IoT Hub: When to Use What
I think of IoT Central SaaS as a fully furnished, move-in ready house that includes everything you need from the start (accelerating adoption) while IoT Hub PaaS provides the glue for a solution you build using your preferred tools.
Microsoft describes IoT Central this way:
“…fully managed SaaS (software-as-a-service) solution that makes it easy to connect, monitor and manage your IoT assets at scale. Azure IoT Central simplifies the initial setup of your IoT solution and reduces the management burden, operational costs, and overhead of a typical IoT project.”
Full version at https://docs.microsoft.com/en-us/azure/iot-central/
Organizations that are completely new to IoT (or whose requirements fall into standard categories) can quickly create a fully featured solution using Azure IoT Central.
In this Microsoft Developer video, IoT Central’s ease of use is illustrated:
If your needs are more specific or if you are porting an existing IoT solution to Azure, IoT Hub may fit your needs. Here’s how Microsoft describes it:
“IoT Hub is a managed service, hosted in the cloud, that acts as a central message hub for bi-directional communication between your IoT application and the devices it manages. You can use Azure IoT Hub to build IoT solutions with reliable and secure communications between millions of IoT devices and a cloud-hosted solution backend. You can connect virtually any device to IoT Hub.”
Full version at https://docs.microsoft.com/en-us/azure/iot-hub/about-iot-hub
Organizations that have experience building IoT applications or whose needs aren’t met by IoT Central’s catalog of pre-created options can use IoT Hub as the communication point for the ‘things’ their app interfaces with. In other words, you build your app and use IoT Hub to connect the devices your app controls (one option for building your solution is the Azure IoT SDK). There’s greater flexibility and there’s also a greater need to manage some elements of the solution.
In this Azure Friday video, IoT Hub’s features and capabilities are illustrated:
Azure IoT Solution Accelerators
Microsoft provides a very helpful collection of scenario walkthroughs designed to show the capabilities of Azure IoT solutions and get you acquainted with IoT technology generally:
- Cloud-based remote monitoring
- Cloud-based predictive maintenance
- Cloud-based connected factory
- Cloud-based device simulation
In addition to those quickstarts, Microsoft also provides a series of tutorials that walk you through IoT solution scenarios in which you monitor, detect issues with, configure and manage, analyze errors and fix issues with devices.
Azure IoT is a powerful platform which enables organizations of all sizes to deploy, manage and scale IoT solutions. Using Azure, you can take full advantage of cloud-native techniques to build a robust IoT application. To learn more, you can explore Microsoft’s Azure IoT fundamentals page and Cloud Academy’s Internet of Things with Azure learning path.
Good luck with your IoT journey!