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
- 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