š” Mender OTA Update Flow ā Explained with Architecture Diagram
- Rajamohan Rajendran
- 1 day ago
- 3 min read
Over-the-Air (OTA) updates are critical for managing distributed systems ā whether they are Azure VMs, IoT devices, edge gateways, or embedded Linux systems.
The image above illustrates the complete Mender OTA update workflow, showing how updates move from the developer to devices securely and reliably.
Letās break down the flow step by step.
š· 1ļøā£ Developer ā Creating & Uploading the Update
In the top-right section of the diagram, we see the Developer.
This represents:
DevOps Engineer
Firmware Engineer
Platform Engineer
Release Manager
What happens here?
The developer:
Creates an update artifact
Full root filesystem image (A/B update)
Application update
Script-based update (like apt upgrade)
Uses the mender-artifact tool to package the update
Uploads the artifact to the Mender Server
Creates a deployment targeting specific device groups
Code : to create artifact
mender-artifact write module-image \
-T script \
-n ubuntu-apt-upgrade-v2 \
-t azure_vm \
-f upgrade_os.sh \
-o ubuntu-apt-upgrade-v2.mender
This artifact is then uploaded to the Mender UI.
š· 2ļøā£ Mender Server ā Central Control Plane
In the top-left section, we see the Mender Server (cloud icon).
This is the control center of the entire OTA ecosystem.
It handles:
Artifact storage
Deployment management
Device authentication
Inventory management
Rollback control
Status monitoring
The Mender Server can be:
Hosted (Mender Cloud)
Self-hosted (Docker-based setup like you are running on Azure VM)
What Happens When Deployment is Created?
When the developer clicks Create Deployment, the server:
Matches devices based on device type (e.g., azure_vm)
Makes the artifact available
Waits for clients to poll
Tracks progress
Handles rollback if needed
š· 3ļøā£ Devices with Mender Client ā Execution Layer
The bottom section shows:
Edge devices
Laptops
Raspberry Pi
Azure VMs
Embedded hardware
Each device runs the Mender Client Agent.
How the Client Works
The Mender Client:
Periodically polls the server
Checks for available updates
Downloads the artifact
Installs it
Verifies the update
Reports status back
This is shown in the flow diagram as:
Download Update
Install & Verify
Report Status
š The Complete OTA Flow (Step-by-Step)
Letās map this clearly to the image arrows:
Step 1 ā Upload Update Artifact
Developer ā Mender Server
The artifact is uploaded and stored.
āø»
Step 2 ā Deploy Update
Mender Server ā Devices
The server makes the deployment active.
Devices discover the update during polling.
āø»
Step 3 ā Update & Report Status
Devices ā Mender Server
The client:
⢠Downloads the update
⢠Installs it
⢠Reboots if needed
⢠Confirms success
If confirmation fails ā Automatic rollback (A/B partition model).
āø»
š Why This Architecture Is Powerful
ā Secure
⢠TLS communication
⢠Device authentication
⢠Signed artifacts
ā Scalable
⢠Works for 10 devices or 1 million
⢠Deployment groups
ā Reliable
⢠A/B partition rollback
⢠Script-based atomic updates
⢠Deployment monitoring
ā Cloud-Native
⢠Runs in Docker
⢠Works behind reverse proxy (Nginx / Kong)
⢠Can be integrated with CI/CD pipelines
āø»
š§ Real-World Example (Azure VM Scenario)
Since youāre building Mender in Azure VM labs:
⢠vm02 ā Mender Server
⢠vm01 / vm03 ā Mender Clients
⢠Artifact created in vm02
⢠Deployment pushed to azure_vm device type
⢠Clients poll every 30 seconds
⢠Status visible in UI
You can test connectivity:
sudo systemctl status mender-client
journalctl -u mender-client -f
š What the Diagram Really Teaches
The image explains one key principle:
š Mender is pull-based, not push-based.
Devices initiate the update process.
This makes it:
⢠Firewall-friendly
⢠NAT-friendly
⢠Secure by design
āø»
š Final Thoughts

This diagram beautifully summarizes the Mender OTA lifecycle:
Developer ā Server ā Devices ā Server
It represents:
⢠Control Plane (Server)
⢠Execution Plane (Client)
⢠Delivery Artifact (.mender file)
⢠Feedback Loop (Status reporting)
For DevOps engineers managing fleets of edge devices or Azure VMs, this architecture provides:
⢠Centralized update control
⢠Safe OS upgrades
⢠Automated rollback
⢠Full deployment visibility

Comments