In May, 1stQuad Solutions AG was represented with Reiner Ganser as spokesperson at OfficeCamp 2018 (http://www.officecamp.de/OC18/Home) with the theme «The Azure IoT platform: What’s in it and how to use it». He showed from data generation through various devices, to sending and communicating with Azure, distributing the data to different applications, to using this data with Power BI, web applications, PowerApps, LogicApps and, last but not least, the Communication back to the devices. Other ready-made offerings from Microsoft were also unveiled. The presentation for this lecture can be downloaded here (PDF). Reason enough to introduce a few corner points of Azure IoT again. IoT’s main applications are mainly in Smart City, Connected Industry, Connected Buildings, Connected Cars and Smart Energy. But special applications tailored to your own company can also benefit from the existing IoT technology. It doesn’t always have to be about thousands of devices to implement profitable scenarios. In principle, IoT is about connecting devices (from very simple to complex computing systems) to the cloud. So that they can then deliver the data there. The data can then be analyzed and automatic or manual actions can be derived from it. Microsoft has put together a reference architecture for the implementation of this pattern in a document worth reading that identifies the different components in an IoT solution (see «Microsoft Azure IoT Reference Architecture» under https://aka.ms/iotrefarchitecture). The core structure is as follows: In the document mentioned above, this overview is constantly being expanded so that the full spectrum of use of Azure components becomes clear. As the graph above shows, Microsoft offers a wide range for the implementation of IoT scenarios, which starts with support for a wide range of devices in the form of starter kits (with certified hardware) and device SDK’s. Starter kits already have a very long list of devices. More information can be found here: https://catalog.azureiotsuite.com/kits The Device SDK’s are needed to communicate with Azure IoT (IoT Hub). It is possible to communicate to both Azure and Azure to the device. Azure is thus able, for example, And send commands to the devices. What stands out is that Microsoft doesn’t just support their own programming languages and operating systems. From the programming languages, implementation for C, Python, Node.JS, Java and ê are available and more than 1000 certified IoT hardware devices are available. Because the SDK’s are in source code on GitHub, they can also be customized to their own hardware. More information about the device SDK’s: https://github.com/Azure/azure-iot-sdks An interesting variant of devices are the so-called. Azure IoT Edge devices. Here’s the idea that the device is smarter and some Azure services are already running on the IoT Edge device. Azure services that can run on such devices are Azure Cognitive Services, Machine Learning, Stream Analytics and Azure Functions. As a result, many analyses, calculations and decisions can already be performed on the device, producing less data in the cloud and faster decisions on site. The aforementioned services can be rolled out and managed very elegantly on the devices with the help of container technology. More information about Azure IoT Edge: https://docs.microsoft.com/de-de/azure/iot-edge/Another interesting extension in the Microsoft Azure IoT environment is Microsoft Sphere, which is designed to increase the security of IoT scenarios. Microsoft’s idea is to secure edge devices with specialized hardware, a new operating system, and an Azure Security service. What is interesting at this point is that the special operating system is a Linux-based operating system. The first hardware is already available (https://www.mediatek.com/products/azureSphere/mt3620). Details about Azure Sphere: https://www.microsoft.com/en-us/azure-sphere/details/The data from the devices is usually delivered to the so-called. Azure IoT Hub. This is designed to communicate with a large number of devices. And both ways. It also takes care of security by supporting secure protocols and that communication is only possible with registered devices. Last but not least, the Azure IoT Hub also supports routing the messages to different endpoints, so that they use defined rules to other Azure service/components (such as: An event hub). More information about the IoT Hub: https://azure.microsoft.com/en-us/services/iot-hub/Another important component in IoT scenarios is the Azure Stream Analytics Service. It offers the possibility to pass on the accrued data to different applications using an SQL-like dialect. The Azure Stream Analytics supports more endpoints than the Azure IoT Hub and is also highly scalable. Among other things, the Azure IoT Hub can serve as a data source. The output supports several Azure services such as Even Hub, Service Bus, Power BI, Blob-and Table Storage, various database systems (SQL Server, Cosmos DB), Data Lake Store, Azure Functions. Learn more about Azure Stream Analystics: https://docs.microsoft.com/en-us/azure/stream-analytics/The previously described components now provide the data collected in various Azure services already available. This means that many things can already be stuck together by «» of available Azure services can be implemented in quite large applications and scenarios. Examples include analyzing data with Power BI, starting a workflow, making predictions by using machine learning, providing information to employees (e.g. On the mobile device), trigger activities on devices to control attachments and much more. However, because the data is also available in different filing systems, your own applications can be created, such as Web applications that aggregate and deploy evaluations, monitoring and intelligent control of equipment, more efficient use of energy, optimization of traffic flows, etc. At the end of the day, the full range of services available in Azure can be used to build IoT scenarios. The graphic below provides an overview of the services available in Azure without any claim to completeness, as they expand dramatically rapidly in the Azure Cloud: The graphic above is from Microsoft and is available under the following URL: http:// azureplatform.azurewebsites.net/In order to further reduce the entry barrier into IoT technologies, Microsoft is also offering ready-made applications that already have a lot of functionality to offer. The solutions offered are, on the one hand, Azure IoT Central (see https://azure.microsoft.com/de-de/services/iot-central). This is a managed global IoT saaS (Software-as-a-Service) solution that makes it easy to connect, monitor, and manage IoT resources. The input and evaluations can be adjusted to certain limits. Overall, however, this solution requires little cloud knowledge. The other “finished” solutions are the Azure IoT solution accelerators (see https://azure.microsoft.com/de-de/features/iot-accelerators). They offer solutions in the areas of remote monitoring, connected factory, predictive maintenance and device simulation. Microsoft also shows (especially remote monitoring) how to build an application using microservices. The accelerators are available in the source code on GitHub and can therefore be used as a visual and learning object, but also as a ready-made solution with the possibility of customization. The accelerators are rolled out automatically and can be initiated by the above website. Since the Accelerators in Azure use a number of resources, there are costs that are approximately CHF 100 -150 per month per month and accelerator. However, these can also increase significantly by increasing the resources used. Conclusion: Microsoft Azure offers a large belly shop for IoT applications: From devices to gateways and applications to big data and machine learning. It is possible to start easily and expand these solutions, too complex. So the application can grow based on the requirements. From the device’s operating system to the finished application, everything can come from Microsoft. However, the use of open source and alternative programming languages and operating systems is also supported, as are all possible mixtures. However, the complexity, integration and maintenance of IoT scenarios should not be underestimated, because it is not only a matter of maintaining and expanding appropriate applications, but also because the devices that provide the data need to be managed.