Azure IoT

Microsoft Azure has a set of services that help us build connected platforms and solutions, which help us ingest massive amounts of data from devices (or things), applying rules on the fly to filter data, analyzing in real-time, and persisting to various data stores for creating different types of views and solutions on top of it. One of the main services that Azure has in this space is Microsoft Azure IoT Hub, which has multiple features that you can use to connect, manage, and operate a connected device's environment. Although it has multiple features, some of the specific ones are as follows:

  • Device registration, authentication, and authorization: One of most important aspects in an IoT scenario is ensuring that devices are properly provisioned and securely connecting to the backend. To enable this, Azure IoT provides options through the portal and the API to create individual devices, which provides an individual device endpoint within the cloud. This method of individually adding the devices using the portal is viable only when you have limited devices and so you can add them one by one. However, if you have thousands of devices that you would like to register, then Azure IoT Hub provides a separate ImportDevicesAsync method that you can use to bulk upload, delete, or even apply status changes to thousands of devices in one API call. Likewise, if you want to bulk export registered devices information, then the ExportDevicesAsync method can help. Once the devices have been created, apart from the endpoint, a symmetric X.509 key is also created, which helps with device authentication. This, clubbed with policy-based access controls and a secure communication channel (TLS-based encryption), make it secure for the devices to connect and exchange information with the IoT Hub. The following is a high-level breakdown of these controls:
  • Communication protocols: Different devices have different types of protocol and integration support. However, in most IoT scenarios, MQTT, AMQP, and HTTPS are the protocols that most of the devices support. Azure IoT Hub also supports all of these protocols, making it thereby easier to connect the majority of the devices out of the box, without any major configuration requirements. However, sometimes, some devices have different types of protocols and communication mechanisms that do not fall under this supported protocols set. So, for such scenarios, there's a Microsoft Azure IoT Protocol Gateway (https://github.com/Azure/azure-iot-protocol-gateway/blob/master/README.md), which the customers can fork from GitHub, make any changes as per translation requirements, and deploy it on Azure VM instances. This makes it easier to cater to a variety of devices so that they can be connected and be managed using the Azure IoT Hub service:
  • Device Twins: Devices are not always connected to the backend IoT Hub, but your backend application often needs to query the last known status of the device or even wants to set a particular status as soon as the device connects to the backend using IoT Hub, so for such device state synchronization-related operations, Azure IoT Hub provides device twins functionality. These device twins are JSON documents that have tags (device metadata), and properties (desired and reported), using which you can create your desired application logic to communicate and update the devices:
  • Azure IoT Edge: Sometimes, instead of sending over the data from devices to the cloud, it's easier to perform analytics or a simple computation at the edge itself. A typical scenario of this would be a use case, wherein the devices are in a remote location and the network connection might be flaky or expensive, so for those scenarios, edge analytics makes sense. To enable this aspect, Azure has a capability called IoT Edge, where you can run your code and logic closer to the devices itself using multiple SDKs (C, Node.js, Java, Microsoft .NET, and Python) that Azure offers. This enables a seamless hybrid cloud architecture, where some logic is executable at the edge, and more complex processing data is transmitted to the cloud, with various services helping with the scalable processing there.

Apart from Azure IoT Hub, Azure also offers out of the box industry and use case-specific solution offerings that customers can directly deploy with a click and scale to production grade architecture as per their specific requirements. Behind the scenes, these solutions make use of multiple Azure services, such as Azure IoT Hub, Azure Events Hub, Azure Stream Analytics, Azure Machine Learning, and Azure Storage. This is a differentiator for the Azure IoT service, as other cloud providers only offer core building blocks for the connected devices and IoT use cases, whereas Azure also offers out-of-the-box, ready-to-use solutions.

Here is a snapshot of the solutions that the Azure IoT Suite offers currently:

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset