Containers in the Cloud

Post on 11-Apr-2017

123 views 0 download

Transcript of Containers in the Cloud

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