Containers, Docker and Microservices

Post on 13-Jan-2016

38 views 2 download

description

Containers, Docker and Microservices

transcript

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 1/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 2/61

Containers,Docker, and

Microservice

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 3/61

Jérôme Petazzoni(@jpetazzo)

Grumpy French DevOps- Go away or I will replace you

with a very small shell script

Runs everything in containers- Docker-in-Docker

- !"-in-Docker

- #M-in-Docker

- $org-in-Docker

- %%%

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 4/61

Jérôme Petazzoni(@jpetazzo)

&uilt and scaled dotCloud!''( with )*+ servicesI counted them.- some e/amples0 hosts, nats,

containers, 1uilds, snapshots,

metrics, 1illing, user permissions,in2rastructure management, logs, %%%

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 5/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 6/61

outline

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 7/61

Outline

3hy microservices4

3hat5s the challenge4

6ow does Docker help4

Getting started with stacks o2 containers

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 8/61

why

microservic

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 9/61

What is a microservice architectu

&reak 1ig application down into many small

7/ample0 e-commerce- we1 2ront-end

- catalog o2 products

- inventory8stock management

-shipping calculator

- payment processor

- 1illing8invoicing

- recommendation engine

- user pro2iles

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 10/61

Why is this useful?

9se di22erent stacks 2or di22erent services

can 1e seen as 1oth good and 1ad.Replace e%g% re2actor. individual services easervice 1oundary en2orces '!I separation.

Decouples deployment: re;uires less coordin

deploy early, deploy o2ten: more agility.

6elps implementing <e22 &e=os5 >two-pi==a rmany small teams overper2orm a single 1ig

More e22ective >ownership? o2 services

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 11/61

what5s the

challenge4

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 12/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 13/61

Issues e ill not  a!!ress to!ay

Fast, e22icient R!C calls

-@eroR!C

- Cap5n !roto

- $MAR!C

- (O'!

-

Dnode- R7(B

- ueues like 'M!., 2or long-running8async operations

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 14/61

Issues e ill not  a!!ress to!ay

6ow to 1reak application down in small part

-this is not always easy

- try to get help 2rom people who have already done it

- 1ut0 it helps to achieve a 1etter architecture I promise.

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 15/61

Issues e could a!!ress to!ay

Our app is now spread across multiple servic

Bhose services might will. end up on many

(ome o2 those services might will. 1e scale

Conse;uences0- our services will have to discover each other5s location

- we will have to learn a1out load 1alancing

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 16/61

Issues e will  a!!ress to!ay

3e5re deploying E microservices instead o2

3e want to 1e a1le to deploy o2ten

O1vious conse;uence0 our deploy process m- it must 1e 2ast

- it must 1e relia1le

-it must 1e automated

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 17/61

how does

Docker hel

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 18/61

the 1ig

picture

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 19/61

"oc#er$s mission

build, ship, and run any application, anywhe

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 20/61

%ay a&ain?

&uild0 package your application in a containe

(hip0 move that container 2rom a machine t

Run0 e/ecute that container i%e% your applic

'ny application0 anything that runs on Ainu/

'nywhere0 local M, cloud instance, 1are m

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 21/61

1uild

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 22/61

"oc#erfile

FROM ubuntu:14.04

MAINTAINER Docker Team <education@docker.

R!N a"t#$et u"dateR!N a"t#$et in%ta&& #' n$in(R!N ec)o *+i, I am in 'our container* -

  u%r%)aren$in()tm&inde(.)tm&

/MD n$in(, #$, daemon o223

E56O7E 80

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 23/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 24/61

ship

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 25/61

"oc#er 'u

Image name should 1e username8repo

e%g%0 Hpeta==o8we1docker push

docker pull

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 26/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 27/61

"oc#er 'u

Image name should 1e username8repo

e%g%0 Hpeta==o8we1docker push

docker pull

It5s magic

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 28/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 29/61

run

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 30/61

*ecution is fast an! lightweight

Aet5s look at a 2ew 1enchmarks

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 31/61

+enchmar#, container creation

9 time docker run ubuntu ec)o )e&&o o

)e&&o or&drea& 0m0.;8%

Disk usage0 less than )** k&

Memory usage0 less than )% M&

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 32/61

+enchmar#, infinian!

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 33/61

+enchmar#, oot Open%tac# inst

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 34/61

+enchmar#, memory spee!

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 35/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 36/61

-et$s start a fe containers

<ust 2or run% 7h, 2or 2un%

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 37/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 38/61

any app

If i -i i ill i "

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 39/61

If it runs on -inu*. it ill run in "

3e1 apps

'!I 1ackendsData1ases (A, "o(A.

&ig data

Message ;ueues

'nd more

If it -i it ill i "

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 40/61

If it runs on -inu*. it ill run in "

Fire2o/-in-Docker

$org-in-Docker!"-in-Docker

Firewall-in-Docker

Docker-in-Docker

#M-in-Docker

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 41/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 42/61

anywhere

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 43/61

anywhere

*Limitations may apply

"oc#er has official support for,

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 44/61

"oc#er has official support for,

Intel + 1its /K+L+. code

Recent kernels %K and a1ove.Coming soon0 3indows ContainersI2 you have ;uestions a1out this, ask Micro

/0umors1 say that people also ru

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 45/61

/0umors1 say that people also ru

Intel E 1its

'RM E and + 1itsMI!(

!owerK

Older kernels please don5t.

"ote0 the main issue is that the Docker 6u1 renot arch-aware, and images are not compati1

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 46/61

CONTAINERSThey're stable they said Stack them they said

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 47/61

runningstacks o2containers

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 48/61

2irst steps

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 49/61

2irst steps

Online tutorial in 1rowser, <( 1ased, =ero in

http088www%docker%com8tryit81ootEdocker E M& universal M image.http0881ootEdocker%io8

(cary install script

curl -s(A https088get%docker%com8 N sh3e have ordinary packages too

'nd most clouds have Docker images

3hec#list

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 50/61

3hec#list

Install 1ootEdocker

Run your 2irst container echo hello world.

3rite your 2irst Docker2ile

Create your Docker 6u1 account 2ree.

!ush image to Docker 6u1

(etup automated 1uild

Run your 2irst comple/ app with Fig

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 51/61

2i&

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 52/61

2i&

Run your stack with one command0 2i$ u"

Descri1e your stack with one 2ile0 2i$.'m&

7/ample0 run a one node. Mesos cluster- Mesos master

- Mesos slave

-olt 2ramework

ma%ter:  ima$e: red=ackme%o%#ma%ter

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 53/61

  command: me%o%#ma%ter ##ork>dir?me%o%  "ort%:  # 00:00

%&ae:

  ima$e: red=ackme%o%#%&ae  &ink%:  # ma%ter:ma%ter  command: me%o%#%&ae ##ma%ter?ma%ter:00 ##containerier%?docker  o&ume%:  # %'%2%c$rou":%'%2%c$rou"  # arrundocker.%ock:arrundocker.%ock  # u%rbindocker:bindocker

o&t:  ima$e: o&to&t  &ink%:  # ma%ter:ma%ter  command: ##ma%ter?ma%ter:00  "ort%:  # 8080:8080

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 54/61

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 55/61

?

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 56/61

what5s ne/

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 57/61

4!vance! topics

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 58/61

4!vance! topics

'll Bhings Docker

http0881log%docker%com8Running your own private registryhttps088githu1%com8docker8docker-registry

Containers and securityhttp088www%slideshare%net8Hpeta==o8docker-linu/-containers-l/c-and-se

https088medium%com8ewindisch8on-the-security-o2-containers-Ec+*22

(ervice discoverylook 2or >am1assador pattern?.

Q 'nd more

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 59/61

thank you

;uestions

Woul! 5ou -i#e 6o 7no 8ore?

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 60/61

ou ! ou e o o o e

Get in touch on Freenode

docker docker-dev'sk me tricky ;uestions Heromedocker%com

Get your own Docker 6u1 on prem

salesdocker%comFollow us on Bwitterdocker, Hpeta==o

7/18/2019 Containers, Docker and Microservices

http://slidepdf.com/reader/full/containers-docker-and-microservices 61/61