Fleet vs Microcontainers: What are the differences?
Developers describe Fleet as "Container management and deployment for your cluster". Fleet is a low-level cluster engine that feels like a distributed init system. With fleet, you can treat your CoreOS cluster as if it shared a single init system. On the other hand, Microcontainers is detailed as "Tiny, Portable Docker Containers". A Microcontainer contains only the OS libraries and language dependencies required to run an application and the application itself. Nothing more. Rather than starting with everything but the kitchen sink, start with the bare minimum and add dependencies on an as needed basis.
Fleet and Microcontainers can be primarily classified as "Container" tools.
Some of the features offered by Fleet are:
- Deploy docker containers on arbitrary hosts in a cluster
- Distribute services across a cluster using machine-level anti-affinity
- Maintain N instances of a service, re-scheduling on machine failure
On the other hand, Microcontainers provides the following key features:
- Size — MicroContainers are small. As shown above, without changing any code the image is 22 times smaller than a typical image.
- Fast/Easy Distribution — Because the size is so much smaller, it’s much quicker to download the image from a Docker registry (eg: Docker Hub) and therefore it can be distributed to different machines much quicker.
- Improved Security — Less code/less programs in the container means less attack surface. And, the base OS can be more secure (more below).
Fleet and Microcontainers are both open source tools. It seems that Fleet with 2.45K GitHub stars and 309 forks on GitHub has more adoption than Microcontainers with 1.56K GitHub stars and 137 GitHub forks.