While looking into Docker I discovered CoreOS. This also looks very interesting:
- CoreOS is designed to be a modern, minimal base to build your platform. Allows for very quick PXE/iPXE booting.
- Utilizes an active/passive dual-partition scheme to update the OS as a single unit instead of package by package. This makes each update quick, reliable and able to be easily rolled back.
- Applications on CoreOS run as Docker containers. Containers provide maximum flexibility in packaging and can start in milliseconds.
- CoreOS works well on a single machine, but it’s designed to be clustered. Easily run application containers across multiple machines with fleet and connect them together with service discovery.
- Built-in primitives such as distributed locking and master election are the building blocks for large scale distributed systems.
- Easily locate where services are being run within the cluster and be notified when something changes. Essential for a complex, highly dynamic cluster. Built into CoreOS with high availability and automatic fail-over.