Top Banner
@ndeloof @ludoch #Docker La Révolution Docker @ndeloof @ludoch CloudBees Google
47

La révolution Docker

May 24, 2015

Download

Engineering

Nicolas De loof

En très peu de temps, Docker a su s'imposer comme un standard de facto dans le monde du Cloud, ne laissant aucun fournisseur impassible. A mi-chemin entre IaaS et PaaS, Docker brouille les cartes et ouvre de nouvelles opportunités.

Au cours de ce talk, nous vous présenterons ce qu'est techniquement Docker, son impact sur l'écosystème, comment il a été adopté par Google et CloudBees et comment vous pouvez le mettre à profit pour vos propres développements.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: La révolution Docker

@ndeloof @ludoch#Docker

La Révolution Docker

@ndeloof @ludochCloudBees Google

Page 2: La révolution Docker

@ndeloof @ludoch#Docker

@ludoch @ndeloof

Page 3: La révolution Docker

@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker

Wha

t ?

Page 4: La révolution Docker

@ndeloof @ludoch#Docker

la « Virtualization »

•Hyperviseur type 1 « bare metal »

•Hyperviseur type 2 ~= émulateur

•Conteneur

Page 5: La révolution Docker

@ndeloof @ludoch#Docker

Conteneur (« isolateur »)grouper, Isoler, contrôler un groupe de process

source: wikipedia.org

Page 6: La révolution Docker

@ndeloof @ludoch#Docker

Conteneur (« isolateur »)Chaque « conteneur » expose une vision en totale isolation

✓ ProcessID indépendants✓ interfaces réseau, routage✓ droits utilisateur✓ sémaphores, files de messages✓ montages filesystem✓ …

Page 7: La révolution Docker

@ndeloof @ludoch#Docker

Conteneur (« isolateur »)Chaque « conteneur » expose une vision en totale isolation

Page 8: La révolution Docker

@ndeloof @ludoch#Docker

Conteneur (« isolateur »)

✓ Linux Namespaces + Control Group => LXC/LibVirt

✓ BSD Jails

✓ Solaris Zones

✓ Google LMCTFY

✓OSX, Windows ?

Page 9: La révolution Docker

@ndeloof @ludoch#Docker

et Docker dans tout ça ?Repose sur les mêmes bases que LXC (libContainer)« Standing on the shoulders of giants »

•Fournit une interface simplifiée

✓Construction incrémentale des images (Dockerfile)

✓Distribution des images (Docker Index)

Page 10: La révolution Docker

@ndeloof @ludoch#Docker

Révolution ???

Page 11: La révolution Docker

@ndeloof @ludoch#Docker

Révolution ???

Page 12: La révolution Docker
Page 13: La révolution Docker

Why Docker ?

© anotherconf 2014 - all right reserved

Page 14: La révolution Docker

@ndeloof @ludoch#Docker

ça vous dit quelque chose ?

Page 15: La révolution Docker

@YourTwitterHandle@ndeloof @ludoch#Docker

Run

anywhere

sans b

lague ?

Page 16: La révolution Docker

@ndeloof @ludoch#Docker

Java vs Docker“Run (anything ?) anywhere”

Linux devient le standard le plus portable.Pas Java OS

Page 17: La révolution Docker

@ndeloof @ludoch#Docker

Java vs DockerLinux File System vs java.io.File

Page 18: La révolution Docker

@ndeloof @ludoch#Docker

Java vs Dockersystem defaults (encoding, etc)

Page 19: La révolution Docker

@ndeloof @ludoch#Docker

Java vs Dockerjava.time enfin!

Page 20: La révolution Docker

@ndeloof @ludoch#Docker

Java vs Docker“just enough” environment

Java Profiles: la solution du pauvreJigSaw (really ?)

Dockerfile, images incrementales

Page 21: La révolution Docker

@ndeloof @ludoch#Docker

Java vs DockerPackaging ✓ java 1.2 U432✓ maven repo ? ✓ package natif ?✓ npm ?✓ Docker image !

Page 22: La révolution Docker

@ndeloof @ludoch#Docker

Java vs DockerMulti tenant (or lack of)

Java 7 8 9? 10? 11… Le future c’est la containerization !

Page 23: La révolution Docker

@ndeloof @ludoch#Docker

Java vs DockerJava 8 et les streams, 100000 threads pour mon map-reduce ?

… ou 10000 containers x 10 threads ?

Page 24: La révolution Docker

@ndeloof @ludoch#Docker

ConclusionDo not try to show more than 15 lines of code per slideRemember, your audience will READ the slides and won’t listenTry to take screenshot of your code in Eclipse or IntelliJ

Evitez de montrer plus de 15 lignes de code par slideSouvenez-vous que votre audience va lire le slide et ne vous écoutera pasEssayez d’utiliser des captures d’écran d’Eclipse ou IntelliJ

Docker et la conteneurization apportentde meilleures solutions

Page 25: La révolution Docker

@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker

Run

anyw

here

pour

de vr

ai

Page 26: La révolution Docker

@ndeloof @ludoch#Docker

Nouvelles pratiquesPortabilité

✓ Dev✓ Test✓ Perf✓ Staging✓ prod

Page 27: La révolution Docker

@ndeloof @ludoch#Docker

Continuous Delivery

Jenkins

http://blog.loof.fr/2014/04/jenkins-meets-docker-round-1.htmlhttp://blog.loof.fr/2014/04/jenkins-meets-docker-round-2.html

Page 28: La révolution Docker

@ndeloof @ludoch#Docker

packaging OPS-friendlyCeci n’est pas un livrable pour la prod

+

Page 29: La révolution Docker

@ndeloof @ludoch#Docker

Separation of concernDans le conteneur/var/log/myapp

Sur l’hôte/mnt/backup/myapp/log

Page 30: La révolution Docker

@ndeloof @ludoch#Docker

Separation of concernsDans le conteneur/var/log/myapp

Sur l’hôte/mnt/backup/myapp/log

VOLUME

Page 31: La révolution Docker

@ndeloof @ludoch#Docker

UpgradeSystème hôte minimal

Upgrade = build d’une nouvelle image, chacun à son rythme

Page 32: La révolution Docker

@ndeloof @ludoch#Docker

Diviser pour mieux régnerNon aux monolithes !

Page 33: La révolution Docker

@ndeloof @ludoch#Docker

Diviser pour mieux régnerOui aux Micro-services ‣ « the unix way » ‣ domaine restreint‣ évolution rapide‣ quotas/resources dédiées

http://yobriefca.se/blog/2013/04/29/micro-service-architecture/

Page 34: La révolution Docker

@ndeloof @ludoch#Docker

Micro-service avec Docker

LINK

Page 35: La révolution Docker

@ndeloof @ludoch#Docker

Page 36: La révolution Docker

@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker

Le ch

ange

ment

c’e

st

mainten

ant

Page 37: La révolution Docker

@ndeloof @ludoch#Docker

Docker en prod !Google Cloud Platform

● boot2docker -> debian2docker dans GCE● Docker registry privé dans Cloud Storage● Docker images Google● LMCTFY contributions dans Docker● App Engine Managed VMs

Page 38: La révolution Docker

@ndeloof @ludoch#Docker

LMCTFY

LMCTFY: Containers @Google depuis 2006. Contribution Docker en 2014http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf

Page 39: La révolution Docker

@ndeloof @ludoch#Docker

Docker en prod !Google Cloud Platform

● https://index.docker.io/u/google○ cloud-sdk, docker-registry

● boot2docker contributions (en Go pour Windows)● https://github.com/unclejack/debian2docker● http://docs.docker.io/en/master/installation/google● https://github.com/GoogleCloudPlatform/docker-cloud● De 0 en 2 minutes: un Docker environnement sur GCE.● App Engine Managed VMs (demo demain!)

Page 40: La révolution Docker

@ndeloof @ludoch#Docker

Docker en prod !

Page 41: La révolution Docker

@ndeloof @ludoch#Docker

What’s next ?

Page 42: La révolution Docker

@ndeloof @ludoch#Docker

Standard de factoAdoption progressive pas tous les acteurs Cloud et on-premises

Page 43: La révolution Docker

@ndeloof @ludoch#Docker

ExtensibilitéSystème de fichier ‘union’‣ BTRFS‣ ZFS‣ …

Support de virtualization‣ Solaris Zones‣ BSD Jails

Page 44: La révolution Docker

@ndeloof @ludoch#Docker

ToolingHébergementflynn: https://flynn.ioOrchard: https://orchardup.comStardock: https://stackdock.comTutum: http://www.tutum.coQuay: https://quay.ioRed Hat: http://www.projectatomic.ioAmazon, Google, CloudBees,Azure???...

Environnement de devfig: http://orchardup.github.io/figDrone: https://drone.io...

Page 45: La révolution Docker

@ndeloof @ludoch#Docker

Exploitationmaestro-ng ?

Page 46: La révolution Docker

@ndeloof @ludoch#Docker

Config ManagementChef/Puppet/Salt/Ansible vs Docker

Page 47: La révolution Docker

@YourTwitterHandle@ndeloof @ludoch#Docker

Q?