The Internet of Things (IoT) is one of the key technologies in the digital revolution. In fact, each of us uses it every day. Thanks to the communication between devices and equipment in the network, the Internet of Things is found at work, at home, and in public places, giving us opportunities to collect and monitor data or manage our smart devices.
Cloud service providers deliver IoT services in affordable models enabling developers to build and manage IoT systems from one location. In this article, I would like to focus on Microsoft’s offer. What is Azure IoT? What are its capabilities? How much do such services cost and where can we get the necessary knowledge? Read on to find out!
GO TO:
What is Azure IoT?
The IoT (Internet of Things) refers to physical devices, or a group of them, that use sensors to collect information from the world around us and communicate with other devices and systems by sending data via the Internet.
Azure IoT is a set of services provided in the Platform as a Service (PaaS) or Software as a Service (SaaS) models managed by Microsoft. These resources can be used for data collection, monitoring and communicating between millions of different physical devices. In the most basic configuration, a cloud-based IoT system can be built from just one peripheral device communicating with the selected resource in the Azure IoT portfolio.
The image below shows the technologies, services and solutions available for Internet of Things devices offered by Microsoft. In this article, I will try to introduce the key services.
Why is it important to learn more about Azure IoT?
Nowadays, IoT devices are present in every area of our lives. We use them at home, in our cars, our workplaces, or in the industrial sector. The advancement of technology and the lower costs of chip production, combined with expanding access to the Internet, translates to a rapidly increasing number of IoT devices. As per the forecasts, this growth will continue to pick up speed – in 2023, according to analysts, it will increase by 22%, and in 2025, the number of IoT devices will amount to 27 billion.
The growing number of IoT devices makes managing and monitoring them or collecting data from sensors more problematic. Azure addresses the requirements of the market, offering a range of solutions to facilitate real-time communication with millions of peripherals. Microsoft strives to optimize the process of implementing its solutions so that it is quick and efficient, while reducing the cost of implementation. This is easier with, among other things, toolkits for developers – i.e. an SDK (software development kit).
Understand (and overcome!) the challenges of building smart products
Download our whitepaper and learn how to shorten development cycles and deliver better customer experiencesGet it now!
The available packages allow for easy handling of:
- IoT devices in software languages such as .NET, Python, Node.js, Java and C.
- built-in devices with limited memory and computing resources.
- services to manage communication with IoT devices.
Detailed information about the available SDKs can be found directly on the Microsoft website.
In addition to the resources for communicating with IoT devices, Azure offers tools that allow you to easily analyze, process, store, and visualize the data you receive.
It is worth mentioning that solutions based on Azure IoT resources allow you to provide a secure connection for millions of devices.
Azure IoT Hub
The IoT Hub is the primary resource for Azure IoT solutions. It is a service provided in the PaaS model that allows two-way communication between IoT devices and the cloud. With a secure connection, it allows you to handle the transfer of a huge amount of data and continuous monitoring of virtually any device.
IoT Hub supports several communication channels, including:
- Telemetry data and alerts
These are messages sent from a device to the cloud (device-to-cloud). Once the device sends this type of message, it goes to the internal queue of the IoT Hub, where it can be stored for up to 7 days. Then, an external service, e.g., a client application using the endpoint built into the IoT Hub, is able to receive pending messages. This channel is specially designed to handle messages sent at a high frequency with a maximum size of up to 256 KB. The easiest way to send this type of message is to use the aforementioned SDK in the preferred programming language on the target device, which provides a simple and legible communication interface.
- Device Control Messages
This is a communication that, unlike the one described above, is used to transfer messages from the cloud, e.g. a client application, to the device (cloud-to-device). In this case, the IoT Hub resource is also a communication intermediary and the messages that are sent first go to the aforementioned queue. Depending on the configuration, they can wait for the device to receive it within a few days. This is especially useful for devices that do not have constant network access.
- Uploading files from devices
This channel is used to transfer various types of files. For example, video recordings or – in order to limit the transfer – compressed packages containing telemetry data. The files transferred from the device go directly to the container configured in the IoT Hub using the Azure Blob Storage solution.
- Monitoring the configuration and status of devices
Azure engineers called this channel Device Twins. It is primarily used to store metadata from the device in the cloud, monitor the current status of the connection to the device and ensure, for example, that it is via a mobile network or Wi-Fi, as well as synchronizing long-term flows, such as the status of uploading a new version for a hardware device (firmware).
IoT Edge
Azure IoT Edge is a service used to pre-analyze data before it is sent to the IoT Hub described above. These services are for customers who want to perform part of the data aggregation directly on the device, instead of doing so in the cloud. By transferring some of the computing to IoT Edge Devices, you can minimize the amount of data sent over the network. This can translate into significant savings when it comes to places with limited network access. An additional advantage of such a solution may be, among other things, the option to quickly react to a change in status or the detection of some limitation set for a given parameter.
The service consists of a runtime environment with edge modules that are used directly on the device. On the cloud side, there is an interface for remote monitoring and managing devices with IoT Edge.
An additional advantage is that IoT Edge is completely free and offered as an open-source solution.
Communications protocol
IoT devices are mostly used to collect data from sensors and send them to back-end services, which then process them. This type of device often has features such as:
- A physical location in a place that is difficult for humans to access,
- restrictions on access to the Internet,
- it cannot be operated by a human (often they are built-in devices),
- no graphical user interface,
- industry-specific protocols are required.
To answer these questions, Microsoft recommends using dedicated SDKs to help you get started with IoT devices. Both the SDK and the IoT Hub support popular communication protocols such as:
- MQTT (Message Queue Telemetry Transport),
- MQTT via WebSocket,
- AMQP (Advanced Message Queuing Protocol),
- AMQP via WebSocket,
- HTTPS.
Azure IoT Security Solutions
The Internet of Things certainly offers a wide range of possibilities – but it also poses many threats. Companies are facing new security challenges – until now mostly regarding software, but with IoT, an additional component arises: software is connected to the real world.
Also read: Microservice architecture
Getting started with Azure IoT
To properly define threats, it is necessary to model them, including using Azure Digital Twins. This procedure consists of several steps – modeling the application, defining threats, limiting them and checking the implemented countermeasures. The goal is to understand how attackers can compromise the system and ensure that the necessary security measures are in place.
Explore related Azure products to help keep you safe, including Azure Defender for IoT, Azure Sentinel, and Azure IoT Central.
Also read: Azure Active Directory service in multi-tenant applications
IoT Security
While IoT devices may seem too small or specialized to pose a threat, the real danger is their connection to the network and the possibility of an attack. This can lead to theft of data or disruption of services, but also cause physical damage to facilities, and even pose a threat to the people operating them or who are dependent on them.
Attacks can be divided into 5 main areas:
- Spoofing – impersonation, where a hacker can anonymously manipulate the device, take control of it or partially intercept the transmission and see the data from the device.
- Tampering – manipulating devices in such a way that an attacker can replace software on a device with some other software.
- Disclosure – disclosing information; an attack involves eavesdropping on a transmission, unauthorized interception of information or jamming a signal, and refusing to obtain information.
- Denial of service – e.g., by interfering with radio frequencies or cutting off wires, which may result in the inability of the device to work or communicate.
- Elevation of privilege – e.g., when a device specializing in specific activities is forced to do something else.
The protection of IoT structures assumes a comprehensive approach using appropriate technologies and protocols.
A three-step approach to data, device and connection protection is recommended:
- Sharing secure devices.
- Securing the connection between devices and the cloud.
- Securing data in the cloud during processing and storage.
Frequently Asked Questions (FAQ) about IoT
What is Cloud Intelligence?
Cloud Intelligence is the processing of data in the cloud using Artificial Intelligence and Machine Learning, among other things. The Azure platform offers many resources supporting intelligent processing. These, combined with the IoT solutions described above, allow you to build interesting compositions that meet even the most sophisticated requirements.
Which is better: AWS IoT or Azure IoT?
Which cloud is better for IoT? It is impossible to clearly state which cloud provider is better for IoT solutions. Both companies offer a similar range of services. Each project is unique and only by knowing the details can you confirm which platform will allow you to meet requirements and which provider’s offer will turn out to be cheaper in a given case.
Is access to Azure IoT free? / Microsoft Azure IoT – how much does it cost?
Some of the Azure IoT services offered by Microsoft are free, including SDK packages and access to IoT Edge. In the case of the main resource, the IoT Hub, the cost depends on the number of available messages to be forwarded within 24 hours. There is also a free version, supporting up to 8,000 messages per 24 hours. That should be enough to start integrating with the Azure IoT world. You can find detailed information on the costs at https://azure.microsoft.com/en-us/pricing/details/iot-hub/
How do I get an Azure IoT certificate?
To become an Azure IoT certified developer, you must pass the Microsoft exam: https://learn.microsoft.com/en-us/certifications/exams. More information about the exam itself can be found directly on the website.
Where can I find the resources and documentation I need?
The best place to look for additional information and up-to-date Azure IoT documentation is Microsoft’s official website, especially the entire IoT part of the service: https://learn.microsoft.com/en-us/azure/iot-fundamentals. Documentation of SDK packages with all the code is available at: github.com
How to improve the security of Internet of Things devices?
First, you need to know the most common threats, regardless of whether they occur in cyberspace or in reality. Secondly, it is necessary to recognize the risks they bring. It is crucial to give high priority to those that pose major threats to the business. Thirdly, you should choose a specific IoT protection strategy that will bring the most benefits. It is worth trusting experts who will properly examine the existing security levels and help to introduce changes that are crucial to the safety of a given environment.