At Build 2017, Microsoft has outlined its plan to take Azure beyond the public cloud towards the edge. Branded as Azure IoT Edge, this offering exploits the growth in enterprise IoT and industrial automation.
During the early days of Cloud Computing, the key differentiating factor of the providers was the number of regions followed by the breadth of services. With the global presence and a comprehensive set of services, Amazon has been enjoying the attention and the leadership position in the industry. But the market dynamics are changing rapidly, and the key competitors of AWS are moving fast. Global footprint, broad service portfolio, rapid shipping cycles are the new norm in the industry. Both Microsoft and Google are turning out to be serious contenders giving stiff competition to Amazon. Microsoft’s recent updates to Azure indicate its aggressive strategy to outsmart the competition.
In the current context, the core IaaS offerings such as virtual machines, storage, and virtual networks are table stakes. The real opportunity lies in delivering intelligent solutions powered by Machine Learning and Artificial Intelligence to enterprise customers. In scenarios such as industrial automation, this intelligence layer needs to be closer to the devices reducing the latency. Many use cases in the manufacturing and healthcare domains cannot afford the round trip to the public cloud. Edge Computing emulates the public cloud capabilities by bringing intelligence closer to the devices.
Though there are a few offerings in the market, Microsoft’s Azure IoT Edge is the most comprehensive solution for industrial IoT implementations. Azure IoT Edge is a software that can run on both Microsoft Windows and Linux operating systems. It supports x86 and ARM architectures making it possible to run on smaller devices such as Raspberry Pi and BeagleBone. Developers can use a variety of languages including C, Node.js, Java, Python, and C# to develop applications. Azure IoT Edge delivers local device management while relying on the concept of device twins to handle offline scenarios. When the connectivity gets established, all the changes made to the edge will be automatically synchronized with the cloud.
Azure IoT Edge[/caption]
Azure IoT Edge acts as a runtime to deploy multiple Azure services locally. Some of these modules include Machine Learning, Stream Analytics, Functions, and IoT Hub. Each module is packaged and deployed as a Docker container that runs on top of Azure IoT Edge. Developers familiar with Azure can target the edge runtime with no changes. The code snippets that run on Azure Functions will continue to run on the edge. The SQL-like queries designed for Azure Stream Analytics will work as is in Azure IoT Edge. The IoT Hub enables machine-to-machine communication through familiar MQTT and AMQP protocols. Customers can seamlessly move the code between the edge and the public cloud. The modular architecture based on containers makes it possible for Microsoft to bring additional Azure-based public cloud services to the edge gradually. The registered Edge devices can be seamlessly managed from the same portal that customers use to manage their public cloud assets.
Customers will be able to build edge appliances powered by Azure IoT Edge easily. These appliances can be deployed in shop floors, vessels, automobiles, airplanes, oil rigs, and construction sites. OEMs may ship hardware appliances with preinstalled Azure IoT Edge software. Though Azure IoT Edge is designed for IoT use cases, it can be leveraged by any data-centric application.
During AWS re:Invent 2016, Amazon has announced AWS Greengrass and AWS IoT SDK, which are the key components of its edge software. The devices are expected to run the IoT SDK while specialized appliances will run AWS Greengrass. Like Azure IoT Edge, AWS Greengrass supports x86 and ARM architectures. Since its announcement, the service has only been in limited preview with access to select customers and partners.
Based on the currently available information, Azure IoT Edge seems to be complete than AWS Greengrass. Microsoft has already demonstrated Azure IoT Edge running key components including hot path analytics and machine learning. On the other hand, AWS Greengrass includes a subset of AWS IoT and Lambda for essential machine-to-machine communication and routing. It's not clear on how customers can run Machine Learning models locally with Greengrass. Amazon has not disclosed whether the edge service will support Kinesis, the streaming service of AWS, which is essential for ingesting and analyzing the sensor data. AWS Greengrass is expected to become generally available in a few months.
The fundamental difference between AWS Greengrass and Azure IoT Edge is the availability of the source code. Microsoft has made the source code of Azure IoT Gateway SDK available on Github. This project will be eventually migrated to Azure IoT Edge. It’s not clear whether AWS will open source Greengrass.
When compared to AWS Greengrass, Azure IoT Edge seems to be comprehensive and complete. Though Google and IBM are yet to announce their edge computing strategy, they are expected to jump the bandwagon.