Comparing how different container orchestration tools scale to production
To setup and understand scaling pratices of various Docker Orchestration tools
In this workshop we’ll learn how to setup and benchmark different container orchestration tools. We’ll take a real world example of a web application with database backend. We will setup a few contianer orchestration tools including Docker compose and swarm, Kubernetes and Mesos and see how they build and scale containers to meet ever-increasing traffic.
Outline of the content:
1. Building docker image(s) which will be deployed - 30 minutes
2. Deploying the images manually and agreeing that it is a bad idea - 10 minutes
3. Understanding and deploying single instance via Docker compose - 20 minutes
4. Understanding and scaling via Docker Swarm - 20 minutes
5. Understanding, deploying and scaling via Kubernetes - 30 minutes
6. Debate: Kubernetes vs native Docker tools - 5 minutes
7. Understanding, deploying and scaling via Mesos-Marathon - 30 minutes
8. Debate: Mesos-Marathon vs Kubernetes - 5 minutes
9. Debate: What should we use in what situations? - 10 minutes
Total Duration: 3 Hours
Primary goal of the workshop is to gain hands-on experience on various Docker orchestration systems and then have an educated debate on what orchestration systems would fit a given environment. So audience for the workshop should have hands-on experience on deploying and managing applications, but not necessarily containerized. We will containerize an application as a part of the workshop itself.
Additionally, audience should have basic hands-on experience on running following three commands:
1. docker run
2. docker ps
3. docker images
Audience would also need:
- Laptop with Linux and a fresh running Linux virtual machine Or a Laptop with two Linux vitual machines, preferably Centos.
Aditya Patawari is a consultant and trainer specializing in container technologies. He has given talks and workshops on containers and related technolgies in India and abroad (including FOSDEM, Flock and Rootconf). He is a contributor to Kubernetes project and to Fedora Project.