Docker Swarm, Kubernetes, and Mesos: A Tale of Three Schedulers

Josh Mize

@jgmize

Containers

Images

Union Filesystem

Registry

hub.docker.com

quay.io

Docker Swarm

Make a cluster look like a single docker host

  • Extends the docker remote API
  • Still early in development
  • Betas available for AWS & Azure

Apache Mesos

A little history

  • began as a research project in the UC Berkeley RAD Lab
  • first presented in 2009 as Nexus, renamed due to conflict with another university's project
  • heavily influenced by google borg & omega

Prominent Users

  • Twitter
  • Airbnb
  • Ebay
  • Apple (Siri)

Apache Aurora

  • Mesos framework for both long-running services and cron jobs
  • originally developed by Twitter starting in 2010
  • open sourced in late 2013

Chronos

  • distributed cron
  • can express dependencies between jobs

Marathon

  • Container orchestration framework
  • HA
  • Multiple container runtimes
  • persistent storage volumes
  • Constraints-- one app instance per rack, node, etc.
  • Service discovery & load balancing
  • Healthchecks
  • Event subscription
  • Metrics
  • REST API

DCOS

  • Datacenter Operating System
  • web & cli interface to the cluster
  • package management
  • now open source

Integrations

  • Docker Swarm
  • Kubernetes
  • Jenkins

Kubernetes

Community Driven

  • Initially developed at Google by members of the teams that originally worked on Borg and Omega

  • Donated to the Cloud Native Computing Foundation under the Linux Foundation

  • Large emphasis on community driven development with many other large organizations making significant contributions

Features

  • Automatic binpacking

  • Self-healing

  • Autoscaling

  • Service discovery and load balancing

  • Automated rollouts and rollbacks

  • Secret and configuration management

  • Storage orchestration

  • Federation

     

Design

  • Pods

  • Labels and Selectors

  • Replication Controllers

  • Deployments

  • Services

  • Namespaces

  • Health Checking

     

Helm

  • Package Manager
  • Still early in development

Built on K8s

  • Deis Workflow
  • RedHat OpenShift
  • Eldarion Gondor
  • supergiant

Docker Swarm, Kubernetes, and Mesos: A Tale of Three Schedulers

By jgmize

Docker Swarm, Kubernetes, and Mesos: A Tale of Three Schedulers

  • 434