SlideShare une entreprise Scribd logo
1  sur  46
Les containers Docker vus par un
chef cuisinier et un mécanicien
SPEAKER
Rachid Zarouali
Architecte Cloud @sevensphere
Microsoft Azure MVP / Docker Captain
twitter: @xinity / @sevensphereio
rachid@sevensphere.io
sevensphere
présentation
sevensphere: présentation
● Rachid Zarouali
● créée en Mars 2019
○ 20 ans+ d'expérience
○ Consulting
○ Formation
○ Enseignement
● Clients:
○ Fortune 500
○ Hébergeur Haute sécurité
○ Compagnie d’aviation
○ …
● typologies de projet:
○ migration cloud
○ audit / accompagnement
○ Architecture technique
● plus d’informations --> https://www.sevensphere.io
Disclaimer
Ce webinar se veut volontairement décalé , sérieux, mais pas trop plus :)
de nombreux raccourcis seront également volontairement réalisés
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 ?
container: challenge
Introduction
histoire et cas d’utilisation
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
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 / …
○ ...
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 ?
Introduction: histoire et cas d’utilisation
Pourquoi ?
Introduction: histoire et cas d’utilisation
Pourquoi ?
Introduction: histoire et cas d’utilisation
Pourquoi ?
Container
Applicatio
n
Introduction: histoire et cas d’utilisation
Pour qui ?
Introduction: histoire et cas d’utilisation
Pour qui ?
Introduction: histoire et cas d’utilisation
Pour quels usages ?
Autres exemples : https://www.youtube.com/watch?v=x99AKFVX-vU
Container VS VM
Pour ou Contre ?
Container VS VM : Pour ou Contre ?
Rappel : Les containers sont partout (où presque)
VM ⇒
⇐ Container
Container VS VM : Pour ou Contre ?
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 )
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 !!!)
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 ?? )
Anatomie
Cuisine ou mécanique ?
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)
Anatomie: Cuisine ou mécanique ?
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
Anatomie: Cuisine ou mécanique ?
Anatomie: Cuisine ou mécanique ?
FROM ubuntu:16.04
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list
RUN apt-get update && apt-get install -y python-software-properties software-properties-common postgresql-9.3 postgresql-client-9.3 postgresql-
contrib-9.3
USER postgres
RUN /etc/init.d/postgresql start &&
psql --command "CREATE USER docker WITH SUPERUSER PASSWORD 'docker';" &&
createdb -O docker docker
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf
RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf
EXPOSE 5432
VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
Anatomie: Cuisine ou mécanique ?
recette + ingredients
Anatomie: Cuisine ou mécanique ?
Anatomie: Cuisine ou mécanique ?
Q1: Comment je partage mon image ?
Q2: Comment je lance mon application ?
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)
Anatomie: Cuisine ou mécanique ?
Anatomie: Cuisine ou mécanique ?
Comment je lance mon application ?
exemples/demos
comment ça marche ?
et c’est pas fini(™)
microservices/orchestration
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é :
et c’est pas fini(™): microservices/orchestration
Microservices
frontend
base de données
backend
et c’est pas fini(™): microservices/orchestration
Microservices
frontend
base de données
backend
et c’est pas fini(™): microservices/orchestration
Orchestration
Kubernetes
serveur Docker
serveur
Docker serveur Docker
serveur Docker
et c’est pas fini(™): microservices/orchestration
Orchestrationserveur Docker
serveur Docker
Kubernetes
un petit dernier?
Démos orchestration
?QUESTIONS
Merci à tous de votre
participation

Contenu connexe

Tendances

Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Publicis Sapient Engineering
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs13p
 
Debian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupDebian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupJean Baptiste Favre
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! Erwann Robin
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introductionToxicode
 
Rancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienRancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienChristophe Furmaniak
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...TelecomValley
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et GaudiEmmanuel Quentin
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Quentin Frémeaux
 
Déploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec RancherDéploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec RancherAnthony Sigogne
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
 

Tendances (20)

Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
Introduction Kotlin
Introduction KotlinIntroduction Kotlin
Introduction Kotlin
 
Debian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetupDebian usage at BlaBlaCar - Debian Paris meetup
Debian usage at BlaBlaCar - Debian Paris meetup
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native !
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
Rancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bienRancher, le (petit) orchestrateur qui vous veut du bien
Rancher, le (petit) orchestrateur qui vous veut du bien
 
Devoxx France : GruntJs In Action
Devoxx France : GruntJs In ActionDevoxx France : GruntJs In Action
Devoxx France : GruntJs In Action
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
 
Pm2 pres
Pm2 presPm2 pres
Pm2 pres
 
Déploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec RancherDéploiement et gestion d'un site web avec Rancher
Déploiement et gestion d'un site web avec Rancher
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 

Similaire à Les containers docker vu par un chef cuisinier et un mécanicien

Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureParis Container Day
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysChristophe Villeneuve
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...Publicis Sapient Engineering
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Alexandre Touret
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Luc Juggery
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 

Similaire à Les containers docker vu par un chef cuisinier et un mécanicien (20)

Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Perf university
Perf universityPerf university
Perf university
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse Faure
 
Ocs
OcsOcs
Ocs
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDays
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
XebiCon'17 : Monitoring et métrologie pour les conteneurs - Jean-Pascal Thie...
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
Checklist pour concevoir une application dans le cloud.10 conseils à l'attent...
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
 
Angular retro
Angular retroAngular retro
Angular retro
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 

Plus de Rachid Zarouali

Containers explained as for cook and a mecanics
 Containers explained as for cook and a mecanics  Containers explained as for cook and a mecanics
Containers explained as for cook and a mecanics Rachid Zarouali
 
Start your container journey safely
Start your container journey safelyStart your container journey safely
Start your container journey safelyRachid Zarouali
 
Devops rex tales of container security
Devops rex   tales of container securityDevops rex   tales of container security
Devops rex tales of container securityRachid Zarouali
 
Kit de Developpement Synolia
Kit de Developpement SynoliaKit de Developpement Synolia
Kit de Developpement SynoliaRachid Zarouali
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamRachid Zarouali
 
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce Platform
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce PlatformContainerDays Hamburg 2017: Deploy Resilient E-Commerce Platform
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce PlatformRachid Zarouali
 
Percona: Integrate PMM within an existing monitoring platform
Percona: Integrate PMM within an existing monitoring platformPercona: Integrate PMM within an existing monitoring platform
Percona: Integrate PMM within an existing monitoring platformRachid Zarouali
 
Meetup afup 21/09/16: monitoring à SYNOLIA
Meetup afup 21/09/16: monitoring à SYNOLIAMeetup afup 21/09/16: monitoring à SYNOLIA
Meetup afup 21/09/16: monitoring à SYNOLIARachid Zarouali
 

Plus de Rachid Zarouali (9)

Containers explained as for cook and a mecanics
 Containers explained as for cook and a mecanics  Containers explained as for cook and a mecanics
Containers explained as for cook and a mecanics
 
Start your container journey safely
Start your container journey safelyStart your container journey safely
Start your container journey safely
 
Devops rex tales of container security
Devops rex   tales of container securityDevops rex   tales of container security
Devops rex tales of container security
 
Securité des container
Securité des containerSecurité des container
Securité des container
 
Kit de Developpement Synolia
Kit de Developpement SynoliaKit de Developpement Synolia
Kit de Developpement Synolia
 
Docker to the Rescue of an Ops Team
Docker to the Rescue of an Ops TeamDocker to the Rescue of an Ops Team
Docker to the Rescue of an Ops Team
 
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce Platform
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce PlatformContainerDays Hamburg 2017: Deploy Resilient E-Commerce Platform
ContainerDays Hamburg 2017: Deploy Resilient E-Commerce Platform
 
Percona: Integrate PMM within an existing monitoring platform
Percona: Integrate PMM within an existing monitoring platformPercona: Integrate PMM within an existing monitoring platform
Percona: Integrate PMM within an existing monitoring platform
 
Meetup afup 21/09/16: monitoring à SYNOLIA
Meetup afup 21/09/16: monitoring à SYNOLIAMeetup afup 21/09/16: monitoring à SYNOLIA
Meetup afup 21/09/16: monitoring à SYNOLIA
 

Les containers docker vu par un chef cuisinier et un mécanicien

  • 1.
  • 2. Les containers Docker vus par un chef cuisinier et un mécanicien
  • 3. SPEAKER Rachid Zarouali Architecte Cloud @sevensphere Microsoft Azure MVP / Docker Captain twitter: @xinity / @sevensphereio rachid@sevensphere.io
  • 5. sevensphere: présentation ● Rachid Zarouali ● créée en Mars 2019 ○ 20 ans+ d'expérience ○ Consulting ○ Formation ○ Enseignement ● Clients: ○ Fortune 500 ○ Hébergeur Haute sécurité ○ Compagnie d’aviation ○ … ● typologies de projet: ○ migration cloud ○ audit / accompagnement ○ Architecture technique ● plus d’informations --> https://www.sevensphere.io
  • 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 ?
  • 13. Introduction: histoire et cas d’utilisation Pourquoi ?
  • 14. Introduction: histoire et cas d’utilisation Pourquoi ?
  • 15. Introduction: histoire et cas d’utilisation Pourquoi ? Container Applicatio n
  • 16. Introduction: histoire et cas d’utilisation Pour qui ?
  • 17. Introduction: histoire et cas d’utilisation Pour qui ?
  • 18. Introduction: histoire et cas d’utilisation Pour quels usages ? Autres exemples : https://www.youtube.com/watch?v=x99AKFVX-vU
  • 19. Container VS VM Pour ou Contre ?
  • 20. Container VS VM : Pour ou Contre ? Rappel : Les containers sont partout (où presque) VM ⇒ ⇐ Container
  • 21. Container VS VM : Pour ou Contre ?
  • 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)
  • 27. Anatomie: Cuisine ou mécanique ?
  • 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
  • 29. Anatomie: Cuisine ou mécanique ?
  • 30. Anatomie: Cuisine ou mécanique ? FROM ubuntu:16.04 RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list RUN apt-get update && apt-get install -y python-software-properties software-properties-common postgresql-9.3 postgresql-client-9.3 postgresql- contrib-9.3 USER postgres RUN /etc/init.d/postgresql start && psql --command "CREATE USER docker WITH SUPERUSER PASSWORD 'docker';" && createdb -O docker docker RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf EXPOSE 5432 VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
  • 31. Anatomie: Cuisine ou mécanique ? recette + ingredients
  • 32. Anatomie: Cuisine ou mécanique ?
  • 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)
  • 35. Anatomie: Cuisine ou mécanique ?
  • 36. Anatomie: Cuisine ou mécanique ? Comment je lance mon application ?
  • 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
  • 44. un petit dernier? Démos orchestration
  • 46. Merci à tous de votre participation

Notes de l'éditeur

  1. Pourquoi ? Pour qui ?