What is Azure Internet of Things (IoT)?
The Azure Internet of Things (IoT) is a collection of Microsoft-managed cloud services that connect, monitor, and control billions of IoT assets. In simpler terms, an IoT solution is made up of one or more IoT devices that communicate with one or more back-end services hosted in the cloud.
An IoT device is typically made up of a circuit board with sensors attached that use WiFi to connect to the internet. For example:
- A pressure sensor on a remote oil pump.
- Temperature and humidity sensors in an air-conditioning unit.
- An accelerometer in an elevator.
- Presence sensors in a room.
There's a wide variety of devices available from different manufacturers to build your solution. For a list of devices certified to work with Azure IoT Hub, see the Azure Certified for IoT device catalog. For prototyping, you can use devices such as an MXChip IoT DevKit or a Raspberry Pi. The Devkit has built-in sensors for temperature, pressure, humidity, and a gyroscope, accelerometer, and magnetometer. The Raspberry Pi lets you attach many different types of sensor.
Typically, IoT devices send telemetry from the sensors to back-end services in the cloud. However, other types of communication are possible such as a back-end service sending commands to your devices. The following are some examples of device-to-cloud and cloud-to-device communication:
A mobile refrigeration truck sends temperature every 5 minutes to an IoT Hub.
The back-end service sends a command to a device to change the frequency at which it sends telemetry to help diagnose a problem.
A device sends alerts based on the values read from its sensors. For example, a device monitoring a batch reactor in a chemical plant, sends an alert when the temperature exceeds a certain value.
Your devices send information to display on a dashboard for viewing by human operators. For example, a control room in a refinery may show the temperature, pressure, and flow volumes in each pipe, enabling operators to monitor the facility.
IoT devices have different characteristics when compared to other clients such as browsers and mobile apps. The device SDKs help you address the challenges of connecting devices securely and reliably to your back-end service. Specifically, IoT devices:
- Are often embedded systems with no human operator (unlike a phone).
- Can be deployed in remote locations, where physical access is expensive.
- May only be reachable through the solution back end.
- May have limited power and processing resources.
- May have intermittent, slow, or expensive network connectivity.
- May need to use proprietary, custom, or industry-specific application protocols.
In an IoT solution, the back-end service provides functionality such as:
- Receiving telemetry at scale from your devices, and determining how to process and store that data.
- Analyzing the telemetry to provide insights, either in real time or after the fact.
- Sending commands from the cloud to a specific device.
- Provisioning devices and controlling which devices can connect to your infrastructure.
- Controlling the state of your devices and monitoring their activities.
- Managing the firmware installed on your devices.
For example, in a remote monitoring solution for an oil pumping station, the cloud back end uses telemetry from the pumps to identify anomalous behavior. When the back-end service identifies an anomaly, it can automatically send a command back to the device to take a corrective action. This process generates an automated feedback loop between the device and the cloud that greatly increases the solution efficiency.
Azure IoT examples
For real-life examples of how organizations use Azure IoT, see Microsoft Technical Case Studies for IoT.
For an in-depth discussion of IoT architecture, see the Microsoft Azure IoT Reference Architecture.
For some actual business cases and the architecture used, see the Microsoft Azure IoT Technical Case Studies.
For some sample projects that you can try out with an IoT DevKit, see the IoT DevKit Project Catalog.
For a more comprehensive explanation of the different services and how they're used, see Azure IoT services and technologies.