Skip to content

emc-advanced-dev/layerx

Repository files navigation

Container Scheduling across Clusters

Layer X a single centralized service that manages containers across multiple clusters, multiple clouds, and multiple cluster managers. it joins together pools cluster managers such as Kubernetes, Docker Swarm, and Mesos into a single shared group of resources, where any container can be managed, scaled, migrated across a unified resource pool.

Layer X exposes a set of cluster-management APIs including scheduling & resource management to so-called “brains” which enables advanced features such as live migration & continuous placement of containers, easy flex up & flex down of cluster, and dynamic resizing of resource constraints.

To learn more about the motivation behind project Layer X, watch our slides and watch a demo.
To stay up-to-date on Layer X, join us on our slack channel.

Layer-X Arch

In the Layer-X world:

  • Resource Providers offer nodes with useable resources (e.g. a Mesos Slave, a Kubelet, or a Swarm Node) to be consumed by
  • Task Providers, which create services and perform work by launching Docker containers (e.g. Marathon, Deis)
  • Brains interface with the Layer-X HTTP API to manage the global state of the cluster, including scheduling tasks on nodes.

Layer-X abstracts specific implementations of task providers and resource-providers with Task Provider Interfaces (TPIs) and Resource Provider Interfaces (RPIs). Currently, TPI and RPI have only been completed for Mesos, but Kubernetes and Docker Swarm will be available soon™.

Layer-X implements a simple interface for adding TPIs and RPIs to encourage easy community contributions for new resource providers (Nomad, Hadoop, etc.) and task providers (Dokku). Client APIs for TPIs are visible here and for RPIs here.

Brains are also designed to be pluggable, 3rd party extensions for Layer-X. The Brain API is visible through the Brain Client package here

Manually install with the installation documentation, or bring up a local cluster in minutes with vagrant.


A rough diagram of Layer-X architecture:

Layer-X Arch Diagram