Key points
- AWS IoT Greengrass deploys components (processes, containers or Lambda functions) to Linux and Windows devices, has a lite edition under 15 MB of RAM, and bills per core device that authenticates with AWS in a month.
- Azure IoT Edge deploys containerised modules, runs on Linux or on Windows through a Linux virtual machine, and works offline indefinitely after its first sync. The runtime is free; you pay for IoT Hub.
- Both run a local message broker for nearby devices, both need the cloud for setup, and both treat their cloud as the place a fleet is managed.
- Microsoft now points new edge solutions to Azure IoT Operations. IoT Edge 1.6 LTS is supported until November 2028.
Greengrass and IoT Edge as gateway runtimes
Greengrass and IoT Edge both turn a computer near the devices into a programmable gateway that a cloud service manages.
AWS describes Greengrass as an open-source edge runtime and cloud service for building, deploying and managing IoT applications on devices. It lets devices act locally on the data they generate, run machine learning predictions, and filter and aggregate data. Software is deployed as components, which AWS says can be Lambda functions, Docker containers, native operating system processes or custom runtimes.
Microsoft describes Azure IoT Edge as a device-focused runtime for deploying, running and monitoring containerised Linux applications, and as a feature of Azure IoT Hub. Its IoT Edge agent deploys and monitors modules, and its IoT Edge hub handles communication, upstream over AMQP or MQTT and locally between modules and downstream devices.
Greengrass vs IoT Edge comparison table
| AWS IoT Greengrass (v2) | Azure IoT Edge | |
|---|---|---|
| Deployment unit | Component: Lambda function, container, native process or custom runtime | Module: container |
| Operating systems | Linux and Windows; the lite edition on Linux with systemd | Tier 1 Linux; Windows through a Linux virtual machine |
| Footprint | At least 96 MB of RAM and a Java runtime; the lite edition under 15 MB | Not stated on the pages checked |
| Local messaging | Local publish and subscribe between components; MQTT broker for client devices (not in the lite edition) | IoT Edge hub, MQTT or AMQP, for modules and downstream devices |
| Offline operation | Components keep running; outbound messages spooled (2.5 MB in memory by default); client devices need the cloud on first connection | Indefinitely after one initial sync; messages kept for their time to live (2 hours by default) |
| Downstream devices | Client devices registered as AWS IoT things | Up to 100 children per parent by default, registered in the same IoT Hub |
| License | Apache-2.0 | MIT |
| Pricing (October 2026) | Per core device that authenticates in a month; local client devices free; first three devices free for a year | Runtime free; IoT Hub units from $10 to $2,500 a month |
| Lifecycle (October 2026) | Nucleus 2.18; lite 2.7 | 1.6 LTS to November 14, 2028; 1.5 LTS ends November 10, 2026 |
Greengrass and IoT Edge offline behaviour
Greengrass keeps running its components and local messaging, and AWS documents that devices can continue working in a partially offline environment. Outbound MQTT messages are spooled while the core is offline, in a 2.5 MB in-memory spool by default. Client devices that connect to the core over MQTT need the core to reach the cloud during their initial connection, and reconnecting clients can only be authenticated offline if offline authentication is configured: its trust window ranges from one minute to over 4,000 years, and the default of one minute effectively turns it off. AWS does not publish a maximum offline duration for a core device.
IoT Edge is explicit. Microsoft says IoT Edge devices and their downstream devices can function offline indefinitely after the initial, one-time sync with IoT Hub, with the IoT Edge hub authenticating modules and downstream devices on IoT Hub’s behalf. Messages that cannot be delivered are stored until their time to live expires, 7,200 seconds (two hours) by default. Microsoft also warns that the portal can keep showing a device as healthy while it has no internet connection.
For either runtime, the useful test is the longest outage you expect: size the spool or time to live and the disk for it, and check what happens to devices that join or restart while offline.
Greengrass and IoT Edge pricing
Greengrass bills per active core device: AWS counts a core as active in any month it authenticates with AWS, and inactive in a month it does not, even if it keeps running locally. Devices that connect to a core locally cost nothing extra. The price table on AWS’s page loads dynamically, and its worked example uses $0.16 per device a month for up to 10,000 devices. The AWS Free Tier covers the first three core devices each month for one year.
IoT Edge is free, MIT-licensed software. Microsoft says it is available in the free and standard tiers of IoT Hub, with the free tier for testing and evaluation only. As of October 2026, Microsoft’s retail prices list IoT Hub units from $10 a month (B1) and $25 a month (S1) to $2,500 a month (S3), each with a daily message quota, such as 400,000 messages a day for B1 and S1.
Both bills also include whatever else the solution uses in each cloud.
Lifecycle and support risks
For IoT Edge, Microsoft’s version history lists 1.6 LTS as supported until November 14, 2028, and 1.5 LTS support ending on November 10, 2026. Microsoft’s overview of its IoT services now says that edge-based solutions typically use Azure IoT Operations, which runs on Arc-enabled Kubernetes, and describes IoT Edge as typically part of a hybrid solution. New projects should weigh that guidance.
For Greengrass, the v2 nucleus and the lite edition were both released in September and October 2026. The lite edition does not support hosting local client devices over MQTT, according to AWS’s feature matrix, so check it against the devices you need to serve.
Choosing between Greengrass and IoT Edge
- Choose Greengrass if the fleet reports to AWS IoT Core, if you need native Windows or a very small footprint, or if your software is not containerised.
- Choose IoT Edge if the fleet reports to Azure IoT Hub, your software already ships as Linux containers, and long offline periods after a one-time sync are a requirement. For new Azure edge projects, compare it with Azure IoT Operations first.
Offline Protocol alongside an edge runtime
Both runtimes manage software on a gateway and connect it to one cloud. Neither connects people’s phones and apps directly to each other, or works across organisations that use different clouds.
Offline Protocol is an SDK for that layer. Apps on phones, computers and gateways discover each other over Bluetooth LE, the local network or a relay, verify each other’s identity, and exchange encrypted messages, shared documents and service calls. A Linux gateway can run its Python package next to Greengrass or IoT Edge, so field devices hand data to the gateway locally and the edge runtime carries it to the cloud. Traffic between devices over a local transport is never metered.