Les containers docker sont partout aujourd'hui, nos boites mails google/office365, nos applications web, notre accès pour les rendez-vous médicaux, les avions, ...
Ils sont partout mais pourtant pas toujours facile a appréhender, et pourtant, ils ont beaucoup plus de similitude avec des métiers de notre quotidien qu'il n'y parait.
Lors de ce webinar, je vous presenter ces fameux containers Docker, vu par un chef cuisiner et un mécanicien automobile et vous ferez qu'il a beaucoup de points communs.
6. Disclaimer
Ce webinar se veut volontairement décalé , sérieux, mais pas trop plus :)
de nombreux raccourcis seront également volontairement réalisés
7. 32
Agenda
Introduction
histoire et cas d’utilisation
Anatomie
Cuisine ou mécanique ?
1
54
et c’est pas fini(™)
microservices/orchestration
Container VS Vm
Pour ou Contre ?
exemples/demos
comment ça marche ?
10. Introduction: histoire et cas d’utilisation
ère machine virtuelle
isolation logique réservée à une élite container pour tous
ingénieurs systèmes expert dev et ops partagent les
mêmes outils
surveillance par les
acteurs majeurs de la
virtualisation → 2017
2000: naissance de vmware
11. Introduction: histoire et cas d’utilisation
● 2020: les containers sont partout (ou presque)
○ Vmware annonce Vsphere7: intégration totale et native des container
○ Catalyseur de la culture DevOps
○ Premières (vraies) intégrations pour l’utilisateur final (windows et Linux)
○ !! Des F16 font tournés des containers !!
● 2021:
○ Embarqué (voiture, four, frigo, ….)
○ smartphone / tablette / …
○ ...
12. Introduction: histoire et cas d’utilisation
Q1: Pourquoi un tel engouement ?
Q2: Pour qui cette technologie a-t-elle développée ?
Q3: Pour quels usages ?
22. Container VS VM : Pour ou Contre ?
Avantages :
● Plusieurs VMs sur un même serveur physique
● Nombre de VMs extensible tant que les ressources sont disponibles.
● Fonctionnalités de synchronisation des données en mémoire ( souvent propriétaire )
Inconvénients:
● Réservation de ressource pour chaque VM ( utilisées ou non ).
● 1 Vm = 1 OS complet + application ( attention au MCO )
● Portabilité de l’application contrainte par la portabilité de la VMs ( et de son OS )
23. Container VS VM : Pour ou Contre ?
Avantages:
● Les containers sont plus légers
● Démarrage plus rapide
● Nombre plus élevés que les VMs sur un même serveur physique.
● Portabilité améliorer (Application uniquement)
Inconvénients:
● Séparation entre container moins “rigide” qu’entre VMs
● Ephémère par conception
● Persistance des données non garantie par défaut (attention base de données !!!)
24. Container VS Vm : Pour ou Contre ?
Explications:
● Application non interruptible ( traitement en mémoire ) ⇒
VMs
● Application interruptible, nécessitant élasticité et mise à jour fréquente ⇒
Containers
Bonus point: des solutions proposent du container au dessus de la VM
( ?? le meilleur des deux mondes ?? )
26. Anatomie: Cuisine ou mécanique ?
● Une VM est créé à partir d’une image d’installation ou d’un modèle (lecture seule)
● Un container est issue d’une image “installée” (lecture seule) : Image Docker
● L’image Docker contient l’application et ses dépendances « uniquement »
● L’image Docker est construite à partir d’une recette (Dockerfile)
28. Anatomie: Cuisine ou mécanique ?
- 125g de sucre
- 100g de beurre ramolli
- 3 jaunes d'œufs + recette du mille feuilles ⇒
- 50 cl de lait
- 50g de farine
- 2 feuilles de gélatine
33. Anatomie: Cuisine ou mécanique ?
Q1: Comment je partage mon image ?
Q2: Comment je lance mon application ?
34. Anatomie: Cuisine ou mécanique ?
Comment je partage mon image ?
● Une image Docker est “hébergée” dans un registre (catalogue) public ou privé (ex
hub.docker.com)
● On pousse une image dans le catalogue (push)
● On récupère une image depuis le catalogue (Pull)
38. et c’est pas fini(™)
microservices/orchestration
39. et c’est pas fini(™): microservices/orchestration
microservices: les microservices sont une technique de développement logiciel qui structure
une application comme un ensemble de services faiblement couplés.
Les microservices indépendants communiquent les uns avec les autres en utilisant des API
indépendantes du langage de programmation.
En résumé :
40. et c’est pas fini(™): microservices/orchestration
Microservices
frontend
base de données
backend
41. et c’est pas fini(™): microservices/orchestration
Microservices
frontend
base de données
backend
42. et c’est pas fini(™): microservices/orchestration
Orchestration
Kubernetes
serveur Docker
serveur
Docker serveur Docker
serveur Docker
43. et c’est pas fini(™): microservices/orchestration
Orchestrationserveur Docker
serveur Docker
Kubernetes