@ndeloof @ludoch#Docker
La Révolution Docker
@ndeloof @ludoch
CloudBees Google
@ndeloof @ludoch#Docker
@ludoch @ndeloof
@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker
W
hat?
@ndeloof @ludoch#Docker
la « Virtualization »
•Hyperviseur type 1 « bare metal »
•Hyperviseur type 2 ~= émulateur
•Contene...
@ndeloof @ludoch#Docker
Conteneur (« isolateur »)
grouper, Isoler, contrôler un groupe de process
source: wikipedia.org
@ndeloof @ludoch#Docker
Conteneur (« isolateur »)
Chaque « conteneur » expose une vision en totale isolation
✓ ProcessID i...
@ndeloof @ludoch#Docker
Conteneur (« isolateur »)
Chaque « conteneur » expose une vision en totale isolation
@ndeloof @ludoch#Docker
Conteneur (« isolateur »)
✓ Linux Namespaces + Control Group => LXC/LibVirt
✓ BSD Jails
✓ Solaris ...
@ndeloof @ludoch#Docker
et Docker dans tout ça ?
Repose sur les mêmes bases que LXC (libContainer)
« Standing on the shoul...
@ndeloof @ludoch#Docker
Révolution ???
@ndeloof @ludoch#Docker
Révolution ???
Why Docker ?
© anotherconf 2014 - all right reserved
@ndeloof @ludoch#Docker
ça vous dit quelque chose ?
@YourTwitterHandle@ndeloof @ludoch#Docker
Runanyw
here
sans blague
?
@ndeloof @ludoch#Docker
Java vs Docker
“Run (anything ?) anywhere”
Linux devient le standard le plus portable.
Pas Java OS
@ndeloof @ludoch#Docker
Java vs Docker
Linux File System vs java.io.File
@ndeloof @ludoch#Docker
Java vs Docker
system defaults (encoding, etc)
@ndeloof @ludoch#Docker
Java vs Docker
java.time enfin!
@ndeloof @ludoch#Docker
Java vs Docker
“just enough” environment
Java Profiles: la solution du pauvre
JigSaw (really ?)
Do...
@ndeloof @ludoch#Docker
Java vs Docker
Packaging
✓ java 1.2 U432
✓ maven repo ?
✓ package natif ?
✓ npm ?
✓ Docker image !
@ndeloof @ludoch#Docker
Java vs Docker
Multi tenant (or lack of)
Java 7 8 9? 10? 11… Le future c’est la
containerization !
@ndeloof @ludoch#Docker
Java vs Docker
Java 8 et les streams,
100000 threads pour mon map-reduce ?
… ou 10000 containers x...
@ndeloof @ludoch#Docker
Conclusion
Do not try to show more than 15 lines of code per slide
Remember, your audience will RE...
@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker
R
unanyw
here
pourde
vrai
@ndeloof @ludoch#Docker
Nouvelles pratiques
Portabilité
✓ Dev
✓ Test
✓ Perf
✓ Staging
✓ prod
@ndeloof @ludoch#Docker
Continuous Delivery
Jenkins
http://blog.loof.fr/2014/04/jenkins-meets-docker-round-1.html
http://b...
@ndeloof @ludoch#Docker
packaging OPS-friendly
Ceci n’est pas un livrable pour la prod
+
@ndeloof @ludoch#Docker
Separation of concern
Dans le conteneur
/var/log/myapp
Sur l’hôte
/mnt/backup/myapp/log
@ndeloof @ludoch#Docker
Separation of concerns
Dans le conteneur
/var/log/myapp
Sur l’hôte
/mnt/backup/myapp/log
VOLUME
@ndeloof @ludoch#Docker
Upgrade
Système hôte minimal
Upgrade =
build d’une nouvelle image,
chacun à son rythme
@ndeloof @ludoch#Docker
Diviser pour mieux régner
Non aux monolithes !
@ndeloof @ludoch#Docker
Diviser pour mieux régner
Oui aux Micro-services
‣ « the unix way » 
‣ domaine restreint
‣ évoluti...
@ndeloof @ludoch#Docker
Micro-service avec Docker
LINK
@ndeloof @ludoch#Docker
@YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker
Le
changem
ent
c’estm
aintenant
@ndeloof @ludoch#Docker
Docker en prod !
Google Cloud Platform
● boot2docker -> debian2docker dans GCE
● Docker registry p...
@ndeloof @ludoch#Docker
LMCTFY
LMCTFY: Containers @Google depuis 2006. Contribution Docker en 2014
http://www.linuxplumber...
@ndeloof @ludoch#Docker
Docker en prod !
Google Cloud Platform
● https://index.docker.io/u/google
○ cloud-sdk, docker-regi...
@ndeloof @ludoch#Docker
Docker en prod !
@ndeloof @ludoch#Docker
What’s next ?
@ndeloof @ludoch#Docker
Standard de facto
Adoption progressive pas tous les acteurs
Cloud et on-premises
@ndeloof @ludoch#Docker
Extensibilité
Système de fichier ‘union’
‣ BTRFS
‣ ZFS
‣ …
Support de virtualization
‣ Solaris Zon...
@ndeloof @ludoch#Docker
Tooling
Hébergement
flynn: https://flynn.io
Orchard: https://orchardup.com
Stardock: https://stack...
@ndeloof @ludoch#Docker
Exploitation
maestro-ng ?
@ndeloof @ludoch#Docker
Config Management
Chef/Puppet/Salt/Ansible vs Docker
@YourTwitterHandle@ndeloof @ludoch#Docker
Q
?
La révolution Docker
Upcoming SlideShare
Loading in …5
×

La révolution Docker

3,729 views

Published on

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.

Published in: Engineering

La révolution Docker

  1. 1. @ndeloof @ludoch#Docker La Révolution Docker @ndeloof @ludoch CloudBees Google
  2. 2. @ndeloof @ludoch#Docker @ludoch @ndeloof
  3. 3. @YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker W hat?
  4. 4. @ndeloof @ludoch#Docker la « Virtualization » •Hyperviseur type 1 « bare metal » •Hyperviseur type 2 ~= émulateur •Conteneur
  5. 5. @ndeloof @ludoch#Docker Conteneur (« isolateur ») grouper, Isoler, contrôler un groupe de process source: wikipedia.org
  6. 6. @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 ✓ …
  7. 7. @ndeloof @ludoch#Docker Conteneur (« isolateur ») Chaque « conteneur » expose une vision en totale isolation
  8. 8. @ndeloof @ludoch#Docker Conteneur (« isolateur ») ✓ Linux Namespaces + Control Group => LXC/LibVirt ✓ BSD Jails ✓ Solaris Zones ✓ Google LMCTFY ✓OSX, Windows ?
  9. 9. @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)
  10. 10. @ndeloof @ludoch#Docker Révolution ???
  11. 11. @ndeloof @ludoch#Docker Révolution ???
  12. 12. Why Docker ? © anotherconf 2014 - all right reserved
  13. 13. @ndeloof @ludoch#Docker ça vous dit quelque chose ?
  14. 14. @YourTwitterHandle@ndeloof @ludoch#Docker Runanyw here sans blague ?
  15. 15. @ndeloof @ludoch#Docker Java vs Docker “Run (anything ?) anywhere” Linux devient le standard le plus portable. Pas Java OS
  16. 16. @ndeloof @ludoch#Docker Java vs Docker Linux File System vs java.io.File
  17. 17. @ndeloof @ludoch#Docker Java vs Docker system defaults (encoding, etc)
  18. 18. @ndeloof @ludoch#Docker Java vs Docker java.time enfin!
  19. 19. @ndeloof @ludoch#Docker Java vs Docker “just enough” environment Java Profiles: la solution du pauvre JigSaw (really ?) Dockerfile, images incrementales
  20. 20. @ndeloof @ludoch#Docker Java vs Docker Packaging ✓ java 1.2 U432 ✓ maven repo ? ✓ package natif ? ✓ npm ? ✓ Docker image !
  21. 21. @ndeloof @ludoch#Docker Java vs Docker Multi tenant (or lack of) Java 7 8 9? 10? 11… Le future c’est la containerization !
  22. 22. @ndeloof @ludoch#Docker Java vs Docker Java 8 et les streams, 100000 threads pour mon map-reduce ? … ou 10000 containers x 10 threads ?
  23. 23. @ndeloof @ludoch#Docker Conclusion Do not try to show more than 15 lines of code per slide Remember, your audience will READ the slides and won’t listen Try to take screenshot of your code in Eclipse or IntelliJ Evitez de montrer plus de 15 lignes de code par slide Souvenez-vous que votre audience va lire le slide et ne vous écoutera pas Essayez d’utiliser des captures d’écran d’Eclipse ou IntelliJ Docker et la conteneurization apportent de meilleures solutions
  24. 24. @YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker R unanyw here pourde vrai
  25. 25. @ndeloof @ludoch#Docker Nouvelles pratiques Portabilité ✓ Dev ✓ Test ✓ Perf ✓ Staging ✓ prod
  26. 26. @ndeloof @ludoch#Docker Continuous Delivery Jenkins http://blog.loof.fr/2014/04/jenkins-meets-docker-round-1.html http://blog.loof.fr/2014/04/jenkins-meets-docker-round-2.html
  27. 27. @ndeloof @ludoch#Docker packaging OPS-friendly Ceci n’est pas un livrable pour la prod +
  28. 28. @ndeloof @ludoch#Docker Separation of concern Dans le conteneur /var/log/myapp Sur l’hôte /mnt/backup/myapp/log
  29. 29. @ndeloof @ludoch#Docker Separation of concerns Dans le conteneur /var/log/myapp Sur l’hôte /mnt/backup/myapp/log VOLUME
  30. 30. @ndeloof @ludoch#Docker Upgrade Système hôte minimal Upgrade = build d’une nouvelle image, chacun à son rythme
  31. 31. @ndeloof @ludoch#Docker Diviser pour mieux régner Non aux monolithes !
  32. 32. @ndeloof @ludoch#Docker Diviser pour mieux régner Oui 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/
  33. 33. @ndeloof @ludoch#Docker Micro-service avec Docker LINK
  34. 34. @ndeloof @ludoch#Docker
  35. 35. @YourTwitterHandle#DVXFR14{session hashtag} @ndeloof @ludoch#Docker Le changem ent c’estm aintenant
  36. 36. @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
  37. 37. @ndeloof @ludoch#Docker LMCTFY LMCTFY: Containers @Google depuis 2006. Contribution Docker en 2014 http://www.linuxplumbersconf.org/2013/ocw//system/presentations/1239/original/lmctfy%20(1).pdf
  38. 38. @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!)
  39. 39. @ndeloof @ludoch#Docker Docker en prod !
  40. 40. @ndeloof @ludoch#Docker What’s next ?
  41. 41. @ndeloof @ludoch#Docker Standard de facto Adoption progressive pas tous les acteurs Cloud et on-premises
  42. 42. @ndeloof @ludoch#Docker Extensibilité Système de fichier ‘union’ ‣ BTRFS ‣ ZFS ‣ … Support de virtualization ‣ Solaris Zones ‣ BSD Jails
  43. 43. @ndeloof @ludoch#Docker Tooling Hébergement flynn: https://flynn.io Orchard: https://orchardup.com Stardock: https://stackdock.com Tutum: http://www.tutum.co Quay: https://quay.io Red Hat: http://www.projectatomic.io Amazon, Google, CloudBees, Azure??? ... Environnement de dev fig: http://orchardup.github.io/fig Drone: https://drone.io ...
  44. 44. @ndeloof @ludoch#Docker Exploitation maestro-ng ?
  45. 45. @ndeloof @ludoch#Docker Config Management Chef/Puppet/Salt/Ansible vs Docker
  46. 46. @YourTwitterHandle@ndeloof @ludoch#Docker Q ?

×