curl -sfL https://balena.io/install.sh | sh
3.5x smaller than Docker CE, packaged as a single binary
Available for a wide variety of chipset architectures, supporting everything from tiny IoT devices to large industrial gateways
Bandwidth-efficient updates with binary diffs, 10-70x smaller than pulling layers in common scenarios
Extract layers as they arrive to prevent excessive writing to disk, protecting your storage from eventual corruption
Atomic and durable image pulls defend against partial container pulls in the event of power failure
Prevents page cache thrashing during image pull, so your application runs undisturbed in low-memory situations
Balena is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers. Based on Docker’s Moby Project, balena supports container deltas for 10-70x more efficient bandwidth usage, has 3.5x smaller binaries, uses RAM and storage more conservatively, and focuses on atomicity and durability of container pulling.Read more in our blog post.
We think that containers are essential to bringing modern development and deployment capabilities to connected devices. Linux containers, particularly Docker, offer, for the first time, a practical path to using virtualization on embedded devices, without heavy overhead or hardware abstraction layers that get in the way.
Docker was primarily designed for datacenters with large, homogenous, well-networked servers. As such it makes tradeoffs that in some cases come in conflict with the need of small, heterogenous, remotely distributed, and differentiated devices, as found in IoT and embedded Linux use cases.
With its small footprint and purpose-built features, balena was made specifically for IoT devices, or any scenario where footprint, bandwidth, power, storage, etc. are a concern.
We left out Docker features that we saw as most needed in cloud deployments and therefore not warranting inclusion in a lightweight IoT-focused container engine. Specifically, we’ve excluded: