containers in the cloud
TRANSCRIPT
Containers in Cloud
2
Agenda
• Why Containers?• What are Containers?• History of Containers• Docker• Orchestration• Docker Swarm• Demo (If you are still awake)
3
Why Containers?
4
Why Containers?
5
Complex Systems with many payloads
6
Multiple targets
QA
Build server
Stage Prod
Cloud(s)
7
Problem
8
Similar problem
9
Solution
10
What are Containers?
11
What are containers?
Containers offer an isolated environment – as close as possible to a VM – without the overhead of running a separate kernel and simulating all the hardware
12
Virtualization vs Containerization
13
History of Containers
• Chroot – 1979• FreeBSD Jails – 2000• Linux Vserver – 2001• Solaris Containers – 2004• OpenVZ – 2005• Process Containers – 2006• Control Groups (cgroups) – 2007• LXC – 2008• Warden – 2011• LMCTFY – 2013• Docker – 2013• Rocket (rkt) – 2014
14
LXC
15
Docker
• Open Source• Builds on top of LXC• Provides portable format and
runtime environment to deploy application inside containers
• Containers optimized by layers• Manages dependencies
16
Docker Architecture
17
How it works?
18
Containers before Docker
19
Containers after Docker
20
Container Orchestration
• Manage/Provision multi-container applications
• Application blueprint from a schema (JSON or YAML)
• Monitoring• Upgrades (rolling) and Rollback• Policy management• Service discovery• Ease of use• Integration with existing systems
21
Docker Swarm
$ docker swarm init
$ docker swarm join
• Cluster management within the Docker engine• No additional software to manage a Swarm• Easy to setup• Scaling• Built-In
• Multi-host networking• Service discovery• Load balancing (L4)• Security• Rolling updates
• But… Not a real orchestration tool (not yet!)
22
Demo