1

Click here to load reader

Docker ecosystem - Computers and networkscomp.photo777.org/wp-content/uploads/2014/09/Docker-ecosystem-7… · Docker ecosystem Service Discovery ... Serf Flynn etcd CoreOS Rudder

Embed Size (px)

Citation preview

Page 1: Docker ecosystem - Computers and networkscomp.photo777.org/wp-content/uploads/2014/09/Docker-ecosystem-7… · Docker ecosystem Service Discovery ... Serf Flynn etcd CoreOS Rudder

ClusterHQ

OpenShift

Project Atomic /Redhat

Google

CoreOS Inc

Apache

Spotify

uses

usesincludes

Docker ecosystemService Discovery Orchestration

Monitoring OS Networking Data Management

Automation

Helios

Fig

hroot

Shutit

Docker IaaS tools

StackatoPanamax

MesosMarathon

FlynnSerf

etcd

CoreOS Rudder

Flocker

fleet

pipework Tenus

weave

OpenShift Origin

geard

Kubernetes

Consul

Shipyard

Citadel

Mackerel libswarmProject Atomic

Runs on

Built on the Docker cluster management toolkit Citadel, Shipyard gives you the ability to manage Docker resources including contain-ers, hosts and more.

Shipyard differs from other management applications in that it promotes composability. At the core, Shipyard only manages Docker (containers, etc). However, using "Extention Images" you can add functionality such as application routing and load balancing, centralized logging, deployment and more. You decide which components to use that fit your needs.

A highly-available key value store for shared configuration and service discovery. Fleet ties together systemd and etcd into a distributed init system.

Think of it as an extension of systemd that operates at the cluster level instead of the machine level. This project is very low level and is designed as a foundation for higher order orchestration.

Panamax is a containerized app creator with an open-source app marketplace hosted in GitHub. Panamax provides a friendly interface for users of Docker, Fleet & CoreOS. With Panamax, you can easily create, share and deploy any containerized app no matter how complex it might be.Stitch together Docker containers. You can configure links, ports and environment variables, as well as organize your application services into categories.Save your application template to a git repository and share it with your friends. You can source your friends' template reposito-ries or submit a pull request and have your template be canonical and accessible by anyone in the world.

CoreOS uses systemd as the core of its distributed init system, fleet.systemd is an init system that provides many powerful features for starting, stopping and managing processes. Within the CoreOS world, you will almost exclusively use systemd to manage the lifecycle of your Docker containers.

Overlay networkhttps://github.com/coreos/rudderhttps://coreos.com/blog/introducing-rudder/

Hroot provides transports and straightforward configuration files for Docker. Strongly version your containers, then distribute them offline or over SSH & HTTP with git!

Shutit is a tool for building and maintaining Docker deployments.

Tool set for creating basic single-host multi-tenant IaaS system.

A tool for discovering and configuring services in your infrastruc-ture. It provides several key features:Service Discovery, Health Checking, Key/Value Store, Multi Datacenter

Serf is a tool for cluster membership, failure detection, and orchestration that is decentralized, fault-tolerant and highly available. Serf runs on every major platform: Linux, Mac OS X, and Windows. It is extremely lightweight: it uses 5 to 10 MB of resident memory and primarily communicates using infrequent UDP messages.Serf only provides membership, failure detection, and user events.

Project Atomic facilitates application-centric IT architecture by providing an end-to-end solution for deploying containerized applications quickly and reliably, with atomic update and rollback for application and host alike.

The core of Project Atomic is the Project Atomic Host. This is a lightweight operating system that has been assembled out of upstream RPM content. It is designed to run applications in Docker containers.

Atomic taps geard to install and link Docker containers into systemd and coordinate these containers across hosts.

https://github.com/stanaka/mackerel-docker

Kubernetes enables users to ask a cluster to run a set of containers. The system automatically chooses hosts to run those containers on. Has scheduler. Architecturally, we want Kubernetes to be built as a collection of pluggable components and layers, with the ability to use alternative schedulers, storage systems, and distribution mechanisms.Kubernetes is intended to run on multiple cloud providers, as well as on physical hosts.A single Kubernetes cluster is not intended to span multiple availability zones. Kubernetes is not currently suitable for use by multiple users.Kubernetes provides higher-level organizational constructs in support of common cluster-level usage patterns, currently focused on service applications, but which could also be expanded to batch and test workloads in the future.

Flynn is a “distribution” of components that out-of-the-box gives companies a reasonable starting point for an internal “platform” for running their applications and services.Flynn is the banner for a collection of independent projects that together make up a toolkit or loose framework for building distributed systems.Flynn is both a whole and many parts, depending on what is most useful for you. The common goal is to democratize years of experience and best practices in building distributed systems. It is the software layer between operators and developers that makes both their lives easier.

Stackato is the first enterprise-grade, cloud application platform to incorporate Docker, an open-source project focused on packaging and deploying Linux Containers (LXC). In addition to securing your application from others in your cloud, these containers also provide a number of benefits to organizations such as utilizing computing resources more efficiently, simplifying the application lifecycle and enabling workload portability.

http://mesos.apache.orgWith the help of Docker executor for Mesos, Mesos can run and manage Docker containers in conjunction with Chronos and Mesosphere's Marathon frameworks.

http://orchardup.github.io/fig/Development environments

geard is a command-line client and agent for integrating and linking Docker containers into systemd across multiple hosts.

Weave creates a virtual network that connects Docker containers deployed across multiple hosts.Applications use the network just as if the containers were all plugged into the same network switch, with no need to configure port mappings, links, etc. Services provided by application contain-ers on the weave network can be made accessible to the outside world, regardless of where those containers are running. Similarly, existing internal systems can be exposed to application containers irrespective of their location.

OpenShift Origin is the open source upstream of OpenShift, the next generation application hosting platform developed by Red Hat. Also known as Platform-as-a-Service, OpenShift takes care of infrastructure, middleware, and management so that you can focus on your app.

Flocker lets you move your Docker containers and their data together between hosts. This means that you can run your databas-es, queues and key-value stores in Docker and move them around as easily as the rest of your app. Even stateless apps depend on many stateful services and currently running these services in Docker containers in production is nearly impossible. Flocker aims to solve this problem by providing an orchestration framework that allows you to port both your stateful and stateless containers between environments.

libswarm is a toolkit for composing network services.It defines a standard interface for services in a distributed system to communicate with each other. This lets you:

Compose complex architectures from reusable building blocksAvoid vendor lock-in by swapping any service out with another

Helios is a Docker orchestration platform for deploying and manag-ing containers across an entire fleet.

A docker centric package for scheduling containers on a docker cluster.

2014/09/17 Bryzgalov Peter @ Japan, RIKEN, AICS