containers-in-cloud
containers-in-cloud
containers-in-cloud
Why Containers?
What are Containers?
History of Containers
Docker
Orchestration
Docker Swarm
2
Why Containers?
3
Complex Systems with
many payloads
4
Build server
QA Stage
Multiple targets
Prod
Cloud(s)
5
Problem
6
Similar problem
7
Solution
8
What are Containers?
9
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
10
Virtualization vs
Containerization
11
• Chroot – 1979
• FreeBSD Jails – 2000
• Linux Vserver – 2001
• Solaris Containers – 2004
• OpenVZ – 2005
• Process Containers – 2006
• Control Groups (cgroups) – 2007
• LXC – 2008
• Warden – 2011
History of Containers
•
•
LMCTFY – 2013
Docker – 2013
• Rocket (rkt) – 2014
12
LXC
13
• Open Source
• Builds on top of LXC
• Provides portable format and
runtime environment to deploy
application inside containers
Docker
• Containers optimized by layers
• Manages dependencies
14
Docker Architecture
15
How it works?
16
Containers before Docker
17
Containers after Docker
18
• 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
Container Orchestration
• Integration with existing systems
19
• 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
$ docker swarm init • But… Not a real orchestration tool (not yet!)
Docker Swarm
$ docker swarm join
20
Demo
21