Originally reported by InfoQ. Original announcement date: December 2019.
Overview
Microsoft announced the public preview of Event Grid on IoT Edge, bringing event-driven publish/subscribe messaging with routing capabilities to Internet of Things devices running anywhere — including fully disconnected or intermittently connected environments outside of Azure.
What Is Azure Event Grid?
Azure Event Grid has been available since August 2017 as a fully managed event-routing service. It connects event publishers to event subscribers using a push-push publish/subscribe mechanism, with filtering to ensure each subscriber receives only the events it cares about. The service also implements reliability features such as automatic retries and dead-lettering for undeliverable messages.
Events in Event Grid conform to one of three schemas:
- EventGrid schema — the native out-of-the-box schema provided by Azure.
- CustomEvent schema — allows an application to define its own event structure.
- CloudEvents schema — implements the CNCF CloudEvents industry standard for interoperable event-driven communication.
Each event consists of an envelope (used to route the message) and a data payload whose structure depends on the originating application or service.
Core Event Grid Concepts
- Publishers (sources) — Azure services or third-party sources that emit events. Examples include IoT Hub, Azure Blob Storage, and Azure Event Hubs.
- Topics — The channel to which publishers send events. Topics can be system-defined or custom.
- Subscribers (event handlers) — One or more consumers that receive events from a topic. Examples include Azure Functions, WebHooks, and Event Hubs.
What Is IoT Edge?
Azure IoT Edge is a managed service that extends IoT capabilities to devices running outside of Azure. Devices integrate with Azure IoT Hub to maintain cloud communication while also being able to operate in disconnected or bandwidth-constrained scenarios. IoT Edge workloads run as Docker containers called modules, coordinated by an IoT Edge runtime that handles message routing between those modules.
Event Grid on IoT Edge: What Changes?
With this public preview, Event Grid is now packaged as a Docker container module that can run directly on an IoT Edge device. This enables full publish/subscribe event-driven messaging at the edge, without requiring a round-trip to Azure. Specifically, the integration supports:
- Local event processing — modules on the same device can publish and subscribe to events without leaving the device.
- Device-to-device communication — events can be forwarded between IoT Edge devices.
- Cloud exchange — events can flow between edge devices and Azure services.
- Feature parity — Microsoft states there is complete feature parity between Event Grid on Azure and Event Grid on IoT Edge.
Supported Modules at Preview Launch
At the time of the public preview announcement, the Blob Storage module was the only out-of-the-box IoT Edge module with built-in Event Grid integration. It can trigger events whenever a blob is created in a container. Other custom modules can integrate with Event Grid by calling the HTTP endpoints exposed by the Event Grid module — details are documented in Microsoft’s official documentation.
Getting Started
To use Event Grid on IoT Edge, follow these high-level steps:
- Provision an IoT Edge device — this can be a physical device or a virtual machine available from the Azure Marketplace pre-configured for IoT Edge.
- Configure modules in IoT Hub — define the desired modules (including the Event Grid module) in your IoT Hub configuration. IoT Hub pushes this configuration to the device automatically.
- Download and install Docker images — the IoT Edge runtime pulls the required container images, including the Event Grid module available on Docker Hub.
- Configure routing — set up event subscriptions and routing rules to connect publishers to subscribers on the device, across devices, or to Azure.
Microsoft provides several end-to-end examples in the official documentation, covering local events, cloud event exchange, and event forwarding scenarios.
Why This Matters for Edge Architectures
Bringing Event Grid to the edge is significant for IoT architects and DevOps engineers building reliable, event-driven systems on constrained or intermittently connected devices. Previously, event-driven coordination between device modules required custom messaging solutions or full cloud connectivity. With Event Grid on IoT Edge, teams can apply the same familiar Azure event-routing patterns — filtering, retries, dead-lettering, and multiple subscribers — directly on the device, reducing latency and cloud egress while improving resilience in offline scenarios.
Attribution: This article is based on the original InfoQ report and Microsoft’s public preview announcement of Event Grid on IoT Edge (December 2019). Original InfoQ coverage referenced Steef-Jan Wiggers, Microsoft Azure MVP and Cloud Azure Technology Consultant.