Compare
MOS4 vs Balena
Balena ships Docker containers to a fleet. MOS4 is a typed micro service runtime with native protobuf IPC, cgroups v2 OCI lifecycle, and vehicle and industrial domain primitives. The two can operate alongside each other.
Boundary
Container fleet management vs typed micro service runtime.
Balena composes containers communicating over TCP and Unix sockets. MOS4 composes typed micro services communicating over a native protobuf bus.
flowchart LR
subgraph Bal["Balena — container fleet"]
B1[Container A]
B2[Container B]
B1 <-.TCP / sockets.-> B2
end
subgraph M["MOS4 — typed micro services"]
M1[Micro service A]
M2[Micro service B]
M1 <-->|protobuf bus| M2
end Side-by-side
Capability comparison.
Source — Balena from balena.io; MOS4 from /architecture.
SDK
Five languages, CI-enforced image budgets.
MCM ships ready-to-deploy OCI containers in Python, Rust, Go, C, and C++ covering streaming service call, request-response, and event pub/sub against a GNSS MQTT bridge. Each language-scenario pair has a CI-enforced image-size budget — 15 matrix cells, tested reference starting points.
FAQ
The questions we hear most.
-
Can MOS4 run inside a Balena container?
Running MOS4 inside a Balena-managed container is a coexistence pattern that teams have explored. It is not a Munic-supported deployment topology. The recommended path is MOS4 as the primary runtime with its own OCI workload management. Talk to engineering to discuss your specific topology.
-
Why use typed protobuf IPC instead of container-to-container TCP?
Schema is checked at build time by buf lint and cargo build, not at runtime after a container restart. A component that miscalls an interface fails at compile time. The wire format is the same whether the components run on one device or across devices.
-
Do I lose container isolation with MOS4?
No. mos-container-manager (MCM) enforces CPU, memory, and I/O limits per container via Linux cgroups v2 as a contract at start time. Container supervision polls each container /metrics endpoint. Linux namespaces remain available.
-
How does fleet OTA compare?
Balena ships container images — the update unit is the full container. mos-update ships per-component delta packages: Ed25519-signed, A/B partitions, automatic rollback via bootcount. The smallest replaceable unit is a single service, not a full image. Cohort and canary OTA via the Munic cloud companion.
-
Is MOS4 the right answer if I only need container fleet management?
If you only need to ship Docker images to a fleet, Balena is the simpler answer. MOS4 is the right answer when the programme needs typed component IPC, vehicle or industrial domain primitives, on-device AI inference, or component-granularity OTA.
-
Can I reuse existing Docker Compose files?
Yes. MCM parses Docker Compose v3 files, so teams with existing Compose-based development workflows can bring them to embedded targets without learning new configuration syntax.
Keep your fleet manager, add a typed runtime.
A 30-minute call with engineering. We will map MOS4 onto your existing embedded Linux devices.