SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Docker & Son
Ecosystème
Docker, Moby, Swarm, Kubernetes, Linuxkit,
Containerd ..
Aymen El Amri -
@eon01
Consultant / Coach DevOps
@EralabsOfficial
Founder @DevOpsLinks
Author @PainlessDocker
The Ecosystem
Containers
History of Containers
● Chroot Jail
● FreeBSD Jails
● Linux-VServer
● Solaris Containers
● OpenVZ
● Process Containers
● LXC
● Warden
● LMCTFY
● Docker
● RKT
Chroot Jail
- Le Chroot Jail, est pratiquement le
premier conteneur (1979).
- Il permet d’isoler un processus et ses
enfants du reste de l’OS en changeant leur
root directory
- Sécurité: Permet au utilisateurs chrooté
de faire un chroot à leur tour et sortir de
la prison.
FreeBSD Jail
- C’est une implémentation propre au
FreeBSD qui est un système UNIX POSIX.
- C’est une forme plus sécurisé du Chroot
Jail
- Une solution de virtualisation beaucoup
plus poussée que le simple chroot
- Il permet d’exécuter plusieurs
distributions Linux sur une seule
distributions
- Linux VServer / VPS
Linux-VServer
Oracle Solaris Containers
- Une implémentation de Linux-Vserver
pour des processeurs X86 et SPARC
- SPARC est une architecture RISC
(reduced instruction set computing)
développé par Sun Microsystems.
OpenVZ
- Similaire aux conteneurs Solaris
- Permet à un serveur physique baremetal
de faire tourner plusieurs systèmes
d’exploitations isolés → des conteneurs.
- Il est utilisé par des sociétés
d’hébergement pour isoler des VPS.
CGroups - Process Containers
- C’est un isolateur de processus développé
par Google (CGroups)
- Docker se base sur CGroups
LXC - Linux Containers
- Utilise CGroups
- Pas de patch Kernel
- A été utilisé par Docker
LMCTFY
- Google a développé les CGroups, qui a été
utilisé par LXC
- Faire tourner des applications dans des
environnements isolés sur le même
Kernel et sans le patcher
- Google: Le leader dans l’industrie des
conteneurs
- Tout, absolument tout, tourne sur des
conteneurs chez Google
- Il y a plus que 2 milliards de conteneurs
qui tournent sur l’infrastructure Google
chaque semaine
Docker
- Plus populaire
- Plus developer friendly
RKT
- Développé par CoreOS
- Standards et sécurité
- Racheté par Redhat
Containers : 1979 -> 2013
Containers vs VMs
Architecture
Docker Tools
2013 - Docker & LXC
- Docker se base sur LXC.
- Sponosrisé par Canonical (Ubuntu)
- A partir de la version 0.9 en 2014, Docker a cessé d’utiliser LXC et a
développé Libcontainer
2014 - Libcontainer
- L’interface de Docker pour accéder aux
Linux Facilities
2014 - Libcontainer
- Cgroups, Namespaces, Capabilities ..etc
2015 - RunC
- Gérer Libcontainer sans passer par
Docker
- Standardiser le monde des conteneurs :
On doit pouvoir tourner un conteneur
Docker avec n’importe quel moteur (
RunC ou autre)
- Abstraction de la communication entre
un conteneur Docker et un runtime
2016 - Containerd
- Containerd = Supervision
- Refactory → Containerd est un projet
communautaire Open Source
Architecture
- Monolithique → Composants
- Docker Engine crée l’image et la passe à
Containerd
- Containerd appelle Containerd-shim
- Containerd-shim appelle RunC qui
permettra de faire tourner le conteneur
- Containerd-shim permet au runtime de
se libérer une fois que le conteneur
commence à tourner
2017 - Containers Go Mainstream
- Docker est devenu mainstream
- Plusieurs vendors: Mac, Linux, Windows,
AWS, GCP ..etc
- La création de l’OCI (Open Container
Initiative)
- Des nouveaux modèles de développement
et de production
The Moby Project
- Un projet pour organiser et modulariser
le développement de Docker
- C’est un écosystème de développement et
de production
- Aucun changement au niveau de
l’utilisation
The Moby Project
Containerd
- Industry-standard core container
runtime
- S’occupe du cycle de vie d’un conteneur
LinuxKit
- Un outil pour créer des système
d’exploitation légers et sécurisés pour les
conteneurs
InfraKit
- Distributed / self-healing infrastructures
- Procedural vs Declarative
- Desired State
- InfraKit vs Docker Machine
- InfraKit vs Terraform
SwarmKit
- Une boîte à outils pour orchestrer des
systèmes distribués à n'importe quelle
échelle.
- Il inclut des primitives pour la découverte
de nœuds, un consensus basé sur RAFT,
et l'ordonnancement des tâches ..
Orchestration
Orchestration
Orchestration
Orchestration is a Must
Kubernetes
- Développé par Google
- 15 ans d’expérience en orchestration et
conteneur
- REX réussis: Github, Ebay, Wikimedia ..
Kubernetes in the Cloud
- Amazon Elastic Container Service for
Kubernetes (EKS)
- Redhat Openshift
- Google Container Engine (GKE)
- Azure Container Service (AKS)
Kubernetes Community
- Organisation en SIG (Special Interest
Groups)
- Google, Redhat, CoreOs, Alibaba,
Microsoft, Samsung, Huawei, Canonical,
IBM, Fujitsu ..etc
Redhat & Kuberentes
Aymen El Amri
Twitter: @eon01
Website: aymenelamri.com
Email: aymen@eralabs.io
Join DevOpsLinks:
DevOpsLinks.com
Connect Deeper
Images via: sysadmincasts.com, docker.com, jimmysong.io

Contenu connexe

Tendances

Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Alexis Ducastel
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et GaudiEmmanuel Quentin
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Arthur Lutz
 
A la découverte de docker, 1ère partie
A la découverte de docker, 1ère partieA la découverte de docker, 1ère partie
A la découverte de docker, 1ère partieSamuel Desseaux
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftArthur Lutz
 
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
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSmartnSkilled
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieSamuel Desseaux
 
Portez Qt au poignet avec AsteroidOS
Portez Qt au poignet avec AsteroidOSPortez Qt au poignet avec AsteroidOS
Portez Qt au poignet avec AsteroidOSFlorent Revest
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Romain Chalumeau
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte Zenika
 

Tendances (20)

Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Intro docker
Intro dockerIntro docker
Intro docker
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
 
A la découverte de docker, 1ère partie
A la découverte de docker, 1ère partieA la découverte de docker, 1ère partie
A la découverte de docker, 1ère partie
 
Pyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shiftPyconfr2018 deploy des application python dans un cluster open shift
Pyconfr2018 deploy des application python dans un cluster open shift
 
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
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
 
Portez Qt au poignet avec AsteroidOS
Portez Qt au poignet avec AsteroidOSPortez Qt au poignet avec AsteroidOS
Portez Qt au poignet avec AsteroidOS
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 

Similaire à Docker & son ecosystème

Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation dockerOlivier Eeckhoutte
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptxAbdellahELMAMOUN
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureVincent Thavonekham-Pro
 
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
 
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
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
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
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetesKiwi Backup
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesFrederic Leger
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvBilelBoulehmi
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsJohan Moreau
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Adrien Blind
 

Similaire à Docker & son ecosystème (20)

Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
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'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 ?
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
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...
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Présentation docker et kubernetes
Présentation docker et kubernetesPrésentation docker et kubernetes
Présentation docker et kubernetes
 
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientesMeetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
Meetup DevOps Aix-Marseille - théorie du chaos et architectures résilientes
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckvPres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
Pres_openshift.ppt jvjxcvcxkjvlkxcjvlkxjlkvjcxkljvlckv
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
Be zend docker
Be zend dockerBe zend docker
Be zend docker
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 

Plus de Aymen EL Amri

HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesAymen EL Amri
 
HLayer / Docker and its ecosystem
HLayer / Docker and its ecosystemHLayer / Docker and its ecosystem
HLayer / Docker and its ecosystemAymen EL Amri
 
HLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDAymen EL Amri
 
The Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps ProfessionalThe Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps ProfessionalAymen EL Amri
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStackAymen EL Amri
 
SaltStack For DevOps, Free Sample
SaltStack For DevOps, Free SampleSaltStack For DevOps, Free Sample
SaltStack For DevOps, Free SampleAymen EL Amri
 

Plus de Aymen EL Amri (7)

HLayer / DevOps REX
HLayer / DevOps REXHLayer / DevOps REX
HLayer / DevOps REX
 
HLayer / Cloud Native Best Practices
HLayer / Cloud Native Best PracticesHLayer / Cloud Native Best Practices
HLayer / Cloud Native Best Practices
 
HLayer / Docker and its ecosystem
HLayer / Docker and its ecosystemHLayer / Docker and its ecosystem
HLayer / Docker and its ecosystem
 
HLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CDHLayer / Kubernetes for CI/CD
HLayer / Kubernetes for CI/CD
 
The Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps ProfessionalThe Roadmap to Becoming a DevOps Professional
The Roadmap to Becoming a DevOps Professional
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
SaltStack For DevOps, Free Sample
SaltStack For DevOps, Free SampleSaltStack For DevOps, Free Sample
SaltStack For DevOps, Free Sample
 

Docker & son ecosystème

  • 1. Docker & Son Ecosystème Docker, Moby, Swarm, Kubernetes, Linuxkit, Containerd ..
  • 2. Aymen El Amri - @eon01 Consultant / Coach DevOps @EralabsOfficial Founder @DevOpsLinks Author @PainlessDocker
  • 5. History of Containers ● Chroot Jail ● FreeBSD Jails ● Linux-VServer ● Solaris Containers ● OpenVZ ● Process Containers ● LXC ● Warden ● LMCTFY ● Docker ● RKT
  • 6. Chroot Jail - Le Chroot Jail, est pratiquement le premier conteneur (1979). - Il permet d’isoler un processus et ses enfants du reste de l’OS en changeant leur root directory - Sécurité: Permet au utilisateurs chrooté de faire un chroot à leur tour et sortir de la prison.
  • 7. FreeBSD Jail - C’est une implémentation propre au FreeBSD qui est un système UNIX POSIX. - C’est une forme plus sécurisé du Chroot Jail
  • 8. - Une solution de virtualisation beaucoup plus poussée que le simple chroot - Il permet d’exécuter plusieurs distributions Linux sur une seule distributions - Linux VServer / VPS Linux-VServer
  • 9. Oracle Solaris Containers - Une implémentation de Linux-Vserver pour des processeurs X86 et SPARC - SPARC est une architecture RISC (reduced instruction set computing) développé par Sun Microsystems.
  • 10. OpenVZ - Similaire aux conteneurs Solaris - Permet à un serveur physique baremetal de faire tourner plusieurs systèmes d’exploitations isolés → des conteneurs. - Il est utilisé par des sociétés d’hébergement pour isoler des VPS.
  • 11. CGroups - Process Containers - C’est un isolateur de processus développé par Google (CGroups) - Docker se base sur CGroups
  • 12. LXC - Linux Containers - Utilise CGroups - Pas de patch Kernel - A été utilisé par Docker
  • 13. LMCTFY - Google a développé les CGroups, qui a été utilisé par LXC - Faire tourner des applications dans des environnements isolés sur le même Kernel et sans le patcher - Google: Le leader dans l’industrie des conteneurs - Tout, absolument tout, tourne sur des conteneurs chez Google - Il y a plus que 2 milliards de conteneurs qui tournent sur l’infrastructure Google chaque semaine
  • 14. Docker - Plus populaire - Plus developer friendly
  • 15. RKT - Développé par CoreOS - Standards et sécurité - Racheté par Redhat
  • 16. Containers : 1979 -> 2013
  • 20. 2013 - Docker & LXC - Docker se base sur LXC. - Sponosrisé par Canonical (Ubuntu) - A partir de la version 0.9 en 2014, Docker a cessé d’utiliser LXC et a développé Libcontainer
  • 21. 2014 - Libcontainer - L’interface de Docker pour accéder aux Linux Facilities
  • 22. 2014 - Libcontainer - Cgroups, Namespaces, Capabilities ..etc
  • 23. 2015 - RunC - Gérer Libcontainer sans passer par Docker - Standardiser le monde des conteneurs : On doit pouvoir tourner un conteneur Docker avec n’importe quel moteur ( RunC ou autre) - Abstraction de la communication entre un conteneur Docker et un runtime
  • 24. 2016 - Containerd - Containerd = Supervision - Refactory → Containerd est un projet communautaire Open Source
  • 25. Architecture - Monolithique → Composants - Docker Engine crée l’image et la passe à Containerd - Containerd appelle Containerd-shim - Containerd-shim appelle RunC qui permettra de faire tourner le conteneur - Containerd-shim permet au runtime de se libérer une fois que le conteneur commence à tourner
  • 26. 2017 - Containers Go Mainstream - Docker est devenu mainstream - Plusieurs vendors: Mac, Linux, Windows, AWS, GCP ..etc - La création de l’OCI (Open Container Initiative) - Des nouveaux modèles de développement et de production
  • 27. The Moby Project - Un projet pour organiser et modulariser le développement de Docker - C’est un écosystème de développement et de production - Aucun changement au niveau de l’utilisation
  • 28.
  • 29.
  • 30.
  • 31.
  • 33. Containerd - Industry-standard core container runtime - S’occupe du cycle de vie d’un conteneur
  • 34. LinuxKit - Un outil pour créer des système d’exploitation légers et sécurisés pour les conteneurs
  • 35. InfraKit - Distributed / self-healing infrastructures - Procedural vs Declarative - Desired State - InfraKit vs Docker Machine - InfraKit vs Terraform
  • 36. SwarmKit - Une boîte à outils pour orchestrer des systèmes distribués à n'importe quelle échelle. - Il inclut des primitives pour la découverte de nœuds, un consensus basé sur RAFT, et l'ordonnancement des tâches ..
  • 41. Kubernetes - Développé par Google - 15 ans d’expérience en orchestration et conteneur - REX réussis: Github, Ebay, Wikimedia ..
  • 42. Kubernetes in the Cloud - Amazon Elastic Container Service for Kubernetes (EKS) - Redhat Openshift - Google Container Engine (GKE) - Azure Container Service (AKS)
  • 43. Kubernetes Community - Organisation en SIG (Special Interest Groups) - Google, Redhat, CoreOs, Alibaba, Microsoft, Samsung, Huawei, Canonical, IBM, Fujitsu ..etc
  • 45. Aymen El Amri Twitter: @eon01 Website: aymenelamri.com Email: aymen@eralabs.io Join DevOpsLinks: DevOpsLinks.com Connect Deeper Images via: sysadmincasts.com, docker.com, jimmysong.io