Azure IoT Edge Architecture
Azure IoT Edge is a cloud service that enables you to remotely manage and monitor IoT solutions. It works by deploying code (called modules) to the edge devices. This document outlines the core architectural components of Azure IoT Edge.
Core Components
Azure IoT Edge is composed of several key components that work together to enable edge intelligence.
IoT Edge Runtime
The IoT Edge runtime is the collection of programs that run on the edge device and manage the workload. It consists of two main parts:
- IoT Edge Agent: This is a containerized application that is responsible for provisioning and managing the IoT Edge modules on the device. It communicates with Azure IoT Hub to receive deployment manifests and send back status updates.
- IoT Edge Hub: This component acts as a local proxy to IoT Hub. It can process messages locally and route them to other modules or back to the cloud when connectivity is available. It also handles authentication and authorization for modules.
Modules
Modules are the basic building blocks of an IoT Edge solution. They are containers that run specific code, such as:
- Custom business logic: Code that processes sensor data, performs analytics, or implements other business requirements.
- Azure services: Modules that run managed Azure services like Azure Stream Analytics, Azure Machine Learning, or Azure Functions.
- Cloud provider services: Modules that interact with other cloud services.
Modules communicate with each other using a publish-subscribe messaging pattern facilitated by the IoT Edge Hub.
Deployment Manifest
A deployment manifest is a JSON file that defines the modules to be deployed to an IoT Edge device, their configurations, and the routes between them. This manifest is sent from IoT Hub to the IoT Edge Agent, which then orchestrates the deployment.
Architecture Diagram
The following diagram illustrates the typical architecture of an Azure IoT Edge solution:
This diagram shows how IoT Hub orchestrates deployments to the IoT Edge Runtime. The Runtime's Agent manages individual modules, and the Hub handles local messaging and communication back to IoT Hub.
Key Capabilities
- Edge Intelligence: Process data locally for faster insights and reduced bandwidth usage.
- Offline Capabilities: Continue operating and processing data even when disconnected from the cloud.
- Modular Design: Easily deploy, manage, and update code on edge devices as independent modules.
- Security: Built-in security features to protect devices and data.
- Scalability: Manage fleets of devices from a central location.
Device Management
Device management is a critical aspect of IoT Edge. Azure IoT Hub provides capabilities for:
- Device Provisioning: Securely onboard new devices.
- Monitoring: Track the health and status of devices and modules.
- Configuration: Update module twins and deployment configurations.
- OTA Updates: Push updates for modules and the runtime itself.
The IoT Edge Agent plays a crucial role in receiving and applying desired configurations from the cloud.
Understanding this architecture is key to building robust and scalable edge computing solutions with Azure IoT Edge.