Containerizing the Edge: Running Docker on BMS Controllers
David Kim
Lead IoT Systems Engineer
Deploying firmware updates or adding new drivers to legacy building controllers is historically a nightmare. It often involves manual serial connection, custom proprietary tools, and high risk of disrupting building operations.
By shifting toward edge virtualization and running containerized software like Docker directly on edge IoT gateways, we can bring modern cloud-native development practices to physical building infrastructure.
Why Containerization at the Edge?
1. **Dependency Isolation**: Run different protocol drivers (BACnet, Modbus, MQTT, OPC UA) in isolated containers without library version conflicts. 2. **Simplified Deployments**: Roll out new data filtering scripts or security patches globally with the push of a button using standard container registries. 3. **Fail-safe Mechanics**: If a containerized driver crashes, Docker automatically restarts it, leaving the rest of the edge application online.
Architecture Overview
In a typical Probiz Automation architecture: - **Base OS**: Lightweight Linux running on an industrial edge PC. - **Docker Engine**: Manages the local containers. - **Core Agent**: A lightweight Go/NodeJS container responsible for reading local Modbus/BACnet registers and publishing to the cloud. - **Local Rules Engine**: Runs local anomaly detection routines so that if the internet goes down, safety locks and fallback schedules still execute.
Embracing this edge-native infrastructure is what allows Probiz Automation to maintain a 99.9% uptime across thousands of connected endpoints.
