Git Product home page Git Product logo

polly's Introduction

polly - Polymorphic Volume Scheduling

Build Status Go Report Card codecov.io Download

polly

Release 0.1.0 (05/01/2016)

Polly is still considered work in progress. We will have a first release shortly.

Storage scheduling for container schedulers

Polly implements a centralized storage scheduling service that integrates with popular container schedulers of different application platforms for containerized workloads. It is an open source framework that supports use of external storage, with scheduled containerized workloads, at scale. It can be used to centralize the control of creating, mapping, snapshotting and deleting persistent data volumes on a multitude of storage platforms.

Key Features

  • Centralized control and distribution of storage resources
  • Offer based mechanism for advertising storage to container schedulers
  • Framework supporting direct integration to any container scheduler, storage orchestrator, and storage platform

What it does

Container runtime schedulers need to be integrated with every aspect of available hardware resources, including persistent storage. When requesting resources for an application the scheduler gets offers for CPU, RAM and disk.

To be able to offer persistent storage in a scalable way, the application and container scheduler needs awareness of the available resources from the underlying storage infrastructure.

Example workflow

  1. An application requires highly available storage with a specific set of policies applied
  2. The scheduler receives a request to start the application
  3. The scheduler checks with Polly or already has an off from Polly for storage resources
  4. Polly requests the volume(s) to be mapped to the container
  5. Scheduler issues request to start the container with persistent storage
  6. Container runtime orchestrates process of starting container and attaching persistent storage

Framework to support the following platforms

Polly provides an open framework to enable integration to any container, cloud, or storage platform.

Container runtime schedulers:

  • Docker Swarm
  • Mesos
  • Kubernetes
  • Cloud Foundry

Cloud platforms:

  • AWS EC2 (EBS)
  • Google Compute Engine
  • OpenStack
  • Private Cloud
  • Public Cloud (RackSpace, and others)

Planned supported storage platforms:

  • EMC ScaleIO
  • XtremIO
  • VMAX
  • Isilon
  • Others
  • VirtualBox

Installation

The following command will install Polly. If using CentOS, RedHat, Ubuntu, or Debian the necessary service manager is used to bootstrap the process on startup.

curl -sSL https://dl.bintray.com/emccode/polly/install | sh -

libStorage

Polly makes use of the open source storage plugin framework libStorage to enable storage orchestrator tools and container runtimes to make requests of storage. Any storage platform that has a driver implementation for the libStorage framework will work with Polly.

polly's People

Contributors

clintkitson avatar jonasrosland avatar kacole2 avatar dvonthenen avatar

Watchers

James Cloos avatar Vamsi Krishna Aitha 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.