All Projects → balena-os → Balena Engine

balena-os / Balena Engine

Licence: apache-2.0
Moby-based Container Engine for Embedded, IoT, and Edge uses

Programming Languages

go
31211 projects - #10 most used programming language

balenaEngine: Moby-based container engine for IoT

balenaEngine

Overview

balenaEngine is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers. Based on Docker’s Moby Project, balenaEngine supports container deltas for 10-70x more efficient bandwidth usage, has 3x smaller binaries, uses RAM and storage more conservatively, and focuses on atomicity and durability of container pulling.

Features

  • Small footprint
    • 3.5x smaller than Docker CE, packaged as a single binary
  • Multi-arch support
    • Available for a wide variety of chipset architectures, supporting everything from tiny IoT devices to large industrial gateways
  • True container deltas
    • Bandwidth-efficient updates with binary diffs, 10-70x smaller than pulling layers
  • Minimal wear-and-tear
    • Extract layers as they arrive to prevent excessive writing to disk, protecting your storage from eventual corruption
  • Failure-resistant pulls
    • Atomic and durable image pulls defend against partial container pulls in the event of power failure
  • Conservative memory use
    • Prevents page cache thrashing during image pull, so your application runs undisturbed in low-memory situations

Transitioning from Docker CE

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:

  • Docker Swarm
  • Cloud logging drivers
  • Plugin support
  • Overlay networking drivers
  • Non-boltdb discovery backends (consul, zookeeper, etcd, etc.)

Unless you depend on one of the features in Docker that balenaEngine omits, using balenaEngine should be a drop-in replacement.

Licensing

balenaEngine is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].