Slide 1

Slide 1 text

D O C K E R B A S E D I N F R A S T R U C T U R E R I C A R D O C O E L H O

Slide 2

Slide 2 text

– H A L F T H E P E O P L E “Docker is NOT virtualization”

Slide 3

Slide 3 text

– T H E O T H E R H A L F “Docker IS virtualization”

Slide 4

Slide 4 text

– S O M E G U Y W H O K N O W S S T U F F “It is, indeed. But not the way you might think.”

Slide 5

Slide 5 text

H Y P E R V I S O R I T ’ S N O T A N

Slide 6

Slide 6 text

R E S O U R C E S H A R I N G S T R AT E G Y B U T R AT H E R A B A L A N C E D

Slide 7

Slide 7 text

K E R N E L - B A S E D V I R T U A L M A C H I N E A L S O K N O W N A S

Slide 8

Slide 8 text

I ’ M A D E V W H Y S H O U L D I C A R E ?

Slide 9

Slide 9 text

W E L L … T O Q U O T E A F E W… • No more “Works on my machine” • Dev and Prod environments are exactly the same • All dependencies are provided, so… • Zero configuration deploy • Need a quick fix? Just start it all over again…

Slide 10

Slide 10 text

I ’ M A S E R V E R G U Y W H Y S H O U L D I C A R E ?

Slide 11

Slide 11 text

A G A I N … • No more “Works on my machine” • Dev and Prod environments are exactly the same • All dependencies are provided • Zero configuration deploy • Need a quick fix? Just start it all over again…

Slide 12

Slide 12 text

P L U S … • Easy to expand • One ring to update them all • Do you really wanna know about Java dependencies? • Is it broken? Not your fault… The metal is hot…

Slide 13

Slide 13 text

I ’ M A N E T W O R K G U Y I D O N ’ T C A R E

Slide 14

Slide 14 text

S U R E . M O V I N G O N …

Slide 15

Slide 15 text

D O C K E R I M A G E S B U I L D I N G

Slide 16

Slide 16 text

D O C K E R F I L E FROM php:7.0-apache MAINTAINER Ricardo Coelho COPY config/php.ini /usr/local/etc/php/ COPY src/ /var/www/html/ RUN curl -sS https://getcomposer.org/installer | \ php -- --install-dir=/usr/local/bin --filename=composer && \ chmod +x /usr/local/bin/composer

Slide 17

Slide 17 text

A L P I N E L I N U X FROM scratch ADD rootfs.tar.gz /

Slide 18

Slide 18 text

D O C K E R H U B

Slide 19

Slide 19 text

WAT C H O U T F O R Y O U R M I N D S E T… … T H I S I S J U S T E M B A R A S S I N G ! D E B I A N A PA C H E M Y S Q L P H P D R I V E R A P P L I C AT I O N Ridiculous Image

Slide 20

Slide 20 text

T H AT ’ S WAY B E T T E R ! D E B I A N M Y S Q L Database D E B I A N A PA C H E P H P A P P L I C AT I O N Application PAT H Volume

Slide 21

Slide 21 text

I S N ’ T T H AT H A R D E R T O M A N A G E ?

Slide 22

Slide 22 text

D O C K E R C O M P O S E O F C O U R S E N O T ! M E E T

Slide 23

Slide 23 text

D O C K E R - C O M P O S E . Y M L version: '2' services: web: image: nexy/php7.0:apache ports: - "8080:80" volumes: - nexy:/var/nexy/ depends_on: - db db: image: postgres:9.6.1-alpine expose: - "5432" volumes: - nexy:/var/nexy/ volumes: nexy: driver: local

Slide 24

Slide 24 text

D O C K E R - C O M P O S E U P

Slide 25

Slide 25 text

W H AT I F I T O U T G R O W S M Y S E R V E R ?

Slide 26

Slide 26 text

D O C K E R S WA R M

Slide 27

Slide 27 text

A N D W H AT I F I T O U T G R O W S M Y D ATA C E N T E R ?

Slide 28

Slide 28 text

C A N I H A Z C L O U D P L AT F O R M S ?

Slide 29

Slide 29 text

H E T E R O G E N E O U S T H E R E M I G H T B E A S L I G H T P R O B L E M I F Y O U R E N V I R O N M E N T I S

Slide 30

Slide 30 text

K U B E R N E T E S

Slide 31

Slide 31 text

08 mar

Slide 32

Slide 32 text

T H A N K Y O U !

Slide 33

Slide 33 text

Q U E S T I O N S ?