Code Monkey home page Code Monkey logo

layerx's Introduction

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

layerx's People

Contributors

ilevine avatar ilackarms avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.