Sunday, April 15, 2018

Azure IoT Edge vs AWS Greengrass


"Azure IoT Edge is designed to run on multiple platforms (Windows and many versions of Linux), and hardware architectures (x64 and ARM). To deploy workloads, Azure IoT Edge can use Linux Containers for Docker or Windows Containers for Docker, with an open design to incorporate number of popular container management systems."

Azure IoT Hub Documentation - Tutorials, API Reference | Microsoft Docs


Azure IoT Edge - Tutorials, API Reference | Microsoft Docs

"Azure IoT Edge is an Internet of Things (IoT) service that builds on top of IoT Hub. This service is meant for customers who want to analyze data on devices, a.k.a. "at the edge", instead of in the cloud. By moving parts of your workload to the edge, your devices can spend less time sending messages to the cloud and react more quickly to changes in status."


"Azure IoT Edge lets you deploy and manage business logic on the edge in the form of modules. Azure IoT Edge modules are the smallest unit of computation managed by IoT Edge, and can contain Azure services (such as Azure Stream Analytics) or your own solution-specific code. To understand how modules are developed, deployed, and maintained, it helps to think of four conceptual pieces that make up a module:
  • A module image is a package containing the software that defines a module.
  • A module instance is the specific unit of computation running the module image on an IoT Edge device. The module instance is started by the IoT Edge runtime.
  • A module identity is a piece of information (including security credentials) stored in IoT Hub, that is associated to each module instance.
  • A module twin is a JSON document stored in IoT Hub, that contains state information for a module instance, including metadata, configurations, and conditions."
Understand the Azure IoT Edge runtime | Microsoft Docs
  • "Edge Hub facilitates module to module communication. Using Edge Hub as a message broker keeps modules independent from each other.
  • The IoT Edge agent is the other module that makes up the Azure IoT Edge runtime. It is responsible for instantiating modules, ensuring that they continue to run, and reporting the status of the modules back to IoT Hub."
IoT Edge runtime communicates insights and module health to IoT Hub


Amazon's equivalent IoT solution:


"Local compute, messaging, data caching, sync, and ML inference capabilities for connected devices.
Run IoT applications seamlessly across the AWS cloud and local devices using AWS Lambda and AWS IoT Core."

AWS Greengrass documentation