Push the Cloud to Your IoT Device with Azure IoT Edge
Now publicly available, Azure IoT Edge makes it possible for any enterprise to run cloud-based IoT and AI-related software directly on their IoT devices, even when they’re offline. If you’re an Azure customer, this means no longer needing to upload your IoT device’s collected data to Azure to leverage the benefit of Azure’s IoT-related data processing services. Rather, IoT Edge pushes the relevant cloud software to where the data already resides: on your IoT device. Here we explore the vision behind this ambitious new angle on cloud-computing; the key elements of the service itself; the most common scenarios that IoT Edge addresses; how IoT Edge compares with other edge-computing services; and finally, how to get started with IoT Edge right away.
The vision
The billions of devices that currently make up the Internet of Things (IoT) reside not in the cloud but on-premises: from wind farms to factory floors. Many of those devices are sensors, such as smart heat sensors on equipment, that collect telemetry data. Yet there are many other types of data, such as video, that IoT devices are now collecting. Because the volume of collected data can be enormous, it has become increasingly difficult and impractical to constantly upload all of that data to the cloud for processing and analysis. Enter Azure’s IoT Edge, which gets its name from the devices it runs on, which operate on the edge, so to speak, of the Internet.
As Sam George, Director of Azure IoT, points out in an in-depth discussion of the new service, IoT Edge frees you from the need to upload your device’s data to the cloud whenever you want to run cloud-based apps on it. This holds several advantages over former approaches to edge computing. First and foremost, prior to the release of IoT Edge many companies had to invest heavily into putting the right “logic” on their local devices, with often disappointing results. However, with the help of IoT Edge, companies no longer have that burden, because “[t]hat’s what we’re doing with IoT Edge,” says George, “taking cloud functionality and run[ning] it right on IoT devices themselves.”
One of the main reasons that it often makes good business sense to push cloud-apps to your IoT devices (rather than your devices’ data to the cloud), according to George, is that (quoting his colleague) “‘data has gravity.'” In other words, for both legal and practical reasons, data is not always easy to extract from local IoT devices and move into the cloud. Thanks to IoT Edge, however, it’s now much easier to move cloud logic to the device itself, where the data resides. In such situations, there is still interaction between the device and the cloud, but it’s a lightweight interaction, primarily for machine learning purposes. Most importantly, it’s no longer necessary to do the heavy lifting involved in uploading all your IoT device’s data to the cloud before you can extract insight from it.
The elements of IoT Edge
In order to understand how IoT Edge works, it’s important to come to grips with its three key elements: modules, runtime and the cloud interface. Here’s a quick summary of each:
Modules
Modules, in the context of IoT Edge, are “Docker compatible containers” that live on your IoT device, where they run software to process the data your device collects. Moreover, these modules can work together, “creating a pipeline of data processing.” The software performing the data processing itself can be your own; or it can be an Azure service; or it can be a 3rd-party app. Regardless of the software type, modules help you run workloads directly on your device without relying on a cloud connection. All the same, there are still very good reasons to maintain a lightweight connection to the cloud. For example, connecting to the Azure cloud will still help you monitor your IoT Edge activity from analytics apps in Azure.
Runtime
While modules do the heavy lifting of processing your workloads, Azure IoT Edge runtime runs the general IoT system on your device. Among the many duties that IoT Edge runtime performs, one of the most important is greasing the wheels of communication between your device and the cloud; between your device and other “downstream leaf devices;” and between your device’s various modules.
The cloud interface
The IoT Edge cloud interface serves as your control center for IoT Edge. The interface leverages Azure IoT solution accelerators to make it far easier to create workloads to push to your IoT device, which IoT Edge can then apply directly to the data your device collects. You can also monitor all the workloads your devices are running from the cloud interface.
Common scenarios
Three of the most common scenarios that speak to the strengths of IoT Edge include regulatory compliance, IoT-app testing, and video analysis. Let’s take a close look at each:
Meeting regulatory requirements
One of the challenges that enterprises face in the digital age is meeting the growing demands of data protection law. In many cases, data-related regulations, which may differ by country and state/region, prevent companies from uploading certain data gathered by their IoT devices to the cloud. In such situations, where the IoT data must remain on the device (or otherwise on-premises), companies seeking to run cloud-based analytics and other apps on their data face a unique challenge. They essentially need to bring the cloud to their data, rather than their data to the cloud. Azure maintains that IoT Edge makes this possible, fully satisfying both data protection laws and business needs simultaneously.
Testing
As Azure IoT Director Sam George emphasizes, IoT Edge makes edge-software testing much easier. Although you may want or need to keep your data on-premises, you can take all the IoT Edge functionality you’re currently using or are planning to use on your edge device and place it in an Azure-cloud testing environment. This will serve as a sandbox, development or staging environment that acts on suitable test data. In this sense, you can treat your on-premises IoT device as a production environment, and push-to-production from the Azure cloud.
Video
To understand how IoT Edge helps with video data, George asks us to imagine that we are analyzing video gathered locally on an IoT device to see who is talking to who in a business conference room. In such a scenario, we may quickly discover that sending all of that video to the cloud for analysis is simply impractical. However, IoT Edge supports functionality that can “partition the workload,” sending only static images of faces to the cloud, which facial recognition software can then analyze. In this particular situation, as well as similar situations involving video, IoT Edge greatly streamlines your workloads by leaving the bulk of your video data on your device.
Comparison to other services
IoT Edge has a natural place within the Azure ecosystem, where it can leverage the benefits of IoT Hub and Azure Sphere, while sharing a similar mission with Azure Stack. IoT Edge also holds clear advantages over its only real competitor in the wider cloud marketplace: AWS Greengrass.
Relationship to IoT Hub
IoT Hub serves as the management platform that does the work of pushing the IoT Edge cloud functionality out to the IoT device, while maintaining the capacity to manage the device itself. The functionality is housed in a Docker container, which then runs on the device’s Linux or Windows operating system. According to Director Sam George, IoT Hub is no longer limited to managing the device’s applications. With the help of IoT Edge, IoT Hub has broadened its scope considerably and can now manage the device’s specific workloads.
Leveraging Azure Sphere
Azure Sphere is Microsoft’s comprehensive, end-to-end IoT security solution. Embedded in a growing number of IoT devices, Azure Sphere tackles security from within the device itself. Where applicable, IoT Edge will take advantage of the Azure Sphere solution, especially as an increasing number of IoT devices adopt the Sphere technology. As Kelly Sheridan of Dark Reading points out, bringing IoT Edge out of preview on the heels of Microsoft’s recent Azure Sphere demo “fits in with Microsoft’s growing focus on intelligence, cloud, and IoT security.”
Comparison with Azure Stack
IoT Edge naturally invites a comparison with another growing, like-minded Azure service and technology: Azure Stack. In fact, one could make a strong case that IoT Edge does for your on-premises IoT devices what Azure Stack does for your on-premises servers—empower them to run cloud functionality locally and even offline.
Advantages over AWS Greengrass
Janikaram MSV argues in a recent Forbes article that Azure’s Iot Edge service is clearly a cut above it’s only real competitor—AWS Greengrass. In particular, he spells out five reasons why Iot Edge outperforms Greengrass: it is open-source; it leverages containers; it plugs into a pre-existing “ecosystem of OEMs and ODMs”; it has superior built-in security; and it’s designed to run machine learning on IoT devices.
Getting started with Azure IoT Edge
To get started with IoT Edge, you can choose between Azure’s Linux quickstart guide or Windows quickstart guide. Either way, you will find that you can install IoT Edge runtime software on remarkably small and simple devices, such as the widely used training tool and basic IoT solution Raspberry Pi. In fact, IoT Edge can run on devices “as small as 128 MB of memory with a single CPU.” As a result, Director Sam George emphasizes that you no longer need the highly specialized skills of an “embedded developer” to place the right software on your IoT device. Rather IoT Edge empowers you to leverage far more general and common cloud development skills. This should quickly translate to tangible gains—both in terms of time and cost savings—for your enterprise.
For more information on Azure services pushing the edge of cloud computing in 2018, contact us.