Future of Open Source SurveyA group of enthusiasts who live in the “Silicon Valley”, is developing the project of a new Linux-based server’s system CoreOS, based on an architecture that differs greatly from the usual distributions Linux.

At its core is based on the ideas of CoreOS ChromeOS, adapted for mass deployment of server systems. To test are available early alpha build CoreOS, suitable for running running VirtualBox and QEMU / KVM. The project released under license the Apache 2.0.

Key features CoreOS:

– Minimalism. The system contains a minimal set of components that are sufficient to meet only isolated containers (cgroups + namespaces), which in turn contain arbitrary stuffing to run only essential server applications. In fact, part of the base system includes only the kernel Linux, the system manager systemd, and a number of auxiliary services for managing the configuration and installation of updates;

– The root system partition is mounted as read-only and does not change during operation. To install the update approach is used ChromeOS, in which simultaneously creates two partitions. One section is active and the other is used to copy the update after the installation is active becomes the second section, and the first is to install the next update, and provides the ability to quickly roll back changes. Thus, at each update sections are interchanged. Updates can be set automatically, by analogy with ChromeOS. As planned by the developers, the update servers based CoreOS should be made as simple as currently being updated browsers;

– The structure does not include the package manager instead proposed to use a pre-configured insulated containers containing all the necessary components for any given server application. As a container management system supported by Docker, provides a means to automate the creation of isolated environments to run arbitrary processes and the ability to transfer and cloning environments on other servers. Docker is not mandatory, there is the possibility to create containers by hand or use ready-made images that are suitable for use with the tools LXC. Packaging applications in separate containers allows arbitrary not to think about the features of the underlying operating system and freely move containers from one OS to another, and from server to server;

– Tools to automatically identify available services, use of a single configuration for a group of servers and merge a set of interconnected servers in the cluster systems. For the exchange and configuration management system is used etcd, fostered especially for CoreOS. Etcd code is written in Go and sold under license Apache. Etcd is a highly reliable storage of configuration parameters in the form of key / value pairs. To access the configuration provides a simple interface based on the use of HTTP and JSON (requests can go with the utility curl or special utility etcdctl). Authentication is based on SSL-keys. Storage configuration and logs are replicated to all nodes and maintained in sync with the protocol Raft.

Alex Polvi, one of the founders of CoreOS, previously known for the creation of system management and monitoring cloud servers Cloudkick, subsequently purchased by Rackspace. From well-known contributors to the CoreOS mentioned the famous Linux kernel developer Greg Kroah-Hartman and former Google employee Michael Marineau.

Advertisements