SlideShare une entreprise Scribd logo
1  sur  29
Docker
Matthieu Klotz
@matthieuklotz
matthieu.klotz@cellenza.com
Mick Philippon
@mickphilippon
mick.philippon@cellenza.com
1 Pourquoi les containers ?
2 Qu’est-ce qu’un container ?
3 Docker
4 Docker & Azure
Pourquoi les containers ?
Un peu d’histoire
Serveur
Une Application = Un serveur
 Une instance d’application était (ou est) hébergée sur un serveur
physique
Système d’Exploitation hôte
Application
Problèmes
Temps de déploiement
Coûts Importants
Gâchis de ressources
Difficilement Scalable
Difficile à migrer
Enfermé chez un fournisseur
Une Application = Une machine virtuelle
 Une application est hébergée dans une machine virtuelle
Avantages Inconvénients
Meilleur usage des ressources Guest OS = ressources
Amélioration de la scalabilité Portabilité non garantie
Migration vers le cloud
Isolation
Serveur
Système d’Exploitation hôte
Système d’Exploitation
Application
VM
Hyperviseur
Système d’Exploitation
Application
VM
Static
website
Web
frontend
User
DB
Queue Analytics
DB
Background
workers
API
endpoint
nginx 1.5 + modsecurity + openssl + bootstrap 2
postgresql + pgv8 +
v8
hadoop + hive + thrift +
OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs
+ phantomjs
Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
Development
VM
QA
server
Public
Cloud
Disaster
recovery
Contributor’s
laptop
Production
Servers
Le problème des applications distribuées…
Demultiplesstacks
technos
Demultiples
matérielset
environnements
Production
Cluster
Customer Data
Center
Est-cequelesservices
etappscommuniquent
bien?
Commentgérerla
migration?
Quoi, où, quand, et comment ?
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Dev VM QA Server
Single Prod
Server
Onsite
Cluster
Azure
Contributor
laptop
Customer
Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Quelle solution pour optimiser les ressources ?
 Supprimer l’OS Guest d’une VM, consommateur de ressources
 Conserver la flexibilité des VMs (Scalabilité, maintenance, etc.)
 Assurer une meilleur portabilité des applications (migrations de versions
d’OS)
 Simplifier le déploiement
Container
Qu’est-ce q’un container ?
Denombreuxtypes
debiens
Denombreuses
méthodesde
transports
Dois-je
m’occupuperde
l’interactionentre
lesbiens?
Commentlestransporter
simplement?
(i.epasserdubateau,au
camion)
Inspirée du transport maritime Pre-1960
Denombreuxtypes
debiens
Denombreuses
méthodesde
transports
Dois-je
m’occupuperde
l’interactionentre
lesbiens?
Commentles
transporter
simplement?
(i.epasserdubateau,
aucamion)
Le container : un système normalisé et intermodal
…entre temps, il peut être chargé,
déchargé, empilé, transporté sur de
longues distances en changeant de
mode de transport
Un container, normalisé et
identique, scellé du départ à
l’arrivée, et qui peut contenir
n’importe quoi
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Dev VM QA Server
Single Prod
Server
Onsite
Cluster
Azure
Contributor
laptop
Customer
Servers
Simplification du modèle
Définition du container
 Un container est un package qui contient :
 Un exécutable
 Ses dépendances
 Sa configuration
 Eventuellement un file system
 Pour le système d’exploitation, c’est un programme !
 Plus d’OS Guest
 Les ressources utilisées sont celles de la machine, et non d’une VM
Containers vs. VMs
App
A
Hypervisor (Type 2)
Host OS
Server
Guest
OS
Bins/
Libs
App
A’
Guest
OS
Bins/
Libs
App
B
Guest
OS
Bins/
Libs
AppA’
Host OS
Server
Bins/Libs
AppA
Bins/Libs
AppB
AppB’
AppB’
AppB’
Container
Guest
OS
Guest
OS
VM
Le container : Séparation des responsabilités
• Dan, développeur
• S’occupe de l’intéreur du
container
• Le code
• Les bilbliothèques
• La gestion des
dépendances
• La données
• Pour lui, tout les serveurs
sont les mêmes
• Oscar , l’Ops
• S’occupe de l’extérieur
du container
• Logging
• Monitoring
• Réseau
• Tout les containers ont la
même façon de
s’exécuter
Qu’est-ce que Docker ?
Une solution d’orchestration de container
Docker : un ecosystème
 Docker Dameon est installé sur la machine hôte et gère les containers
 Docker Client se charge de la communication entre l’utilisateur et le
Docker Daemon
 Docker Image est un template de container qui décrit comment le
construire
 Docker Container est… un container
 Docker Hub est un annuaire centralisé d’images
 Docker File est un fichier décrivant couche par couche la construction
d’une image
 Docker Swarm est une solution d’administration d’un cluster d’hôtes
Docker
 Etc. (Docker Volume, Docker Network, Docker Compose, …)
Demo – Build once, run anywhere !
Docker Image
 Une image est faite de couches
successives
 Chaque couche ajoute au
container
 Seule la dernière couche est en
lecture/écriture
Réutilisation des couches
 Chaque couche possède un
identifiant
 Unique pour l’ensemble ‘couche
+ parents’
 On peut ainsi réutiliser des
couches d’un container à
l’autre
 Economies de temps de
téléchargement
Docker File
 Décrit la construction d’une
image
 Syntaxe particulière
 FROM – Base
 MAINTAINER – Auteur
 RUN – Exécution à la construction
 CMD – Exécution à la création
 ENTRYPOINT – Point d’entrée
 COPY/ADD – Ajout de fichiers
 WORKDIR – Changement de
répertoire
 ENV – Variables d’environnement
 …
Demo – Construction d’une image et
instanciation
Docker & Azure
Docker for Azure
 Basé sur Swarm : Mise en cluster de Docker
 Compatibilité avec les outils Docker
 Failover et Haute disponibilité
 Scalable
 Orchestrateur de container
 Service Discovery
 Géré par Docker
 Edition Communautre & Entreprise
 Entreprise ajoute :
 UCP
 DTR
 Et le support officiel de Docker
Azure Container Service
Azure Container Registry
 Registry privé sur votre abonnement Azure
 Basé sur Docker Registry v2
 Gestion de vos images Docker : ajout, suppression, versioning, etc.
 En preview
Base Image Tested Production
Development Test Staging Production Scale Out
Build Ship Run
App Service on Linux
 Service PaaS App Service basé sur Linux
 Annoncé en Septembre
 Objectif : simplifié les déploiements de solutions Node, ASP.NET Core, etc
?

Contenu connexe

Tendances

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
 
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
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et GaudiEmmanuel Quentin
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsWeb à Québec
 
Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101Emmanuel CARRE
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueAZUG FR
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
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
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte Zenika
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
 
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
 

Tendances (20)

Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
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
 
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 ...
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Intro docker
Intro dockerIntro docker
Intro docker
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
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
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
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 ...
 

Similaire à Docker & Azure

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
 
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
 
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
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...AZUG FR
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Julien Maitrehenry
 
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
 
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUX
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUXDOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUX
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUXTREEPTIK
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation dockerOlivier Eeckhoutte
 
OUMAIMA BOUGRYNE PPT.pptx
OUMAIMA BOUGRYNE PPT.pptxOUMAIMA BOUGRYNE PPT.pptx
OUMAIMA BOUGRYNE PPT.pptxLKLKHNKH
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvchichamelhirch
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesCEDRIC DERUE
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
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
 
Cellenza dev test - azure service fabric - v1.0 - slideshare
Cellenza   dev test - azure service fabric - v1.0 - slideshareCellenza   dev test - azure service fabric - v1.0 - slideshare
Cellenza dev test - azure service fabric - v1.0 - slideshareRadoine Douhou
 
[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine DouhouCellenza
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystèmeAymen EL Amri
 

Similaire à Docker & Azure (20)

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
 
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
 
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
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUX
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUXDOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUX
DOCKER ET DEVOPS : ADOPTER LES MEMES PRATIQUES SOUS DEVOPS ET LINUX
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Docker
DockerDocker
Docker
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
OUMAIMA BOUGRYNE PPT.pptx
OUMAIMA BOUGRYNE PPT.pptxOUMAIMA BOUGRYNE PPT.pptx
OUMAIMA BOUGRYNE PPT.pptx
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetes
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
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...
 
Cellenza dev test - azure service fabric - v1.0 - slideshare
Cellenza   dev test - azure service fabric - v1.0 - slideshareCellenza   dev test - azure service fabric - v1.0 - slideshare
Cellenza dev test - azure service fabric - v1.0 - slideshare
 
[DevTestday] Azure service fabric - Radoine Douhou
[DevTestday] Azure service fabric -  Radoine Douhou[DevTestday] Azure service fabric -  Radoine Douhou
[DevTestday] Azure service fabric - Radoine Douhou
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 

Docker & Azure

  • 3. 1 Pourquoi les containers ? 2 Qu’est-ce qu’un container ? 3 Docker 4 Docker & Azure
  • 4. Pourquoi les containers ? Un peu d’histoire
  • 5. Serveur Une Application = Un serveur  Une instance d’application était (ou est) hébergée sur un serveur physique Système d’Exploitation hôte Application Problèmes Temps de déploiement Coûts Importants Gâchis de ressources Difficilement Scalable Difficile à migrer Enfermé chez un fournisseur
  • 6. Une Application = Une machine virtuelle  Une application est hébergée dans une machine virtuelle Avantages Inconvénients Meilleur usage des ressources Guest OS = ressources Amélioration de la scalabilité Portabilité non garantie Migration vers le cloud Isolation Serveur Système d’Exploitation hôte Système d’Exploitation Application VM Hyperviseur Système d’Exploitation Application VM
  • 7. Static website Web frontend User DB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client Development VM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers Le problème des applications distribuées… Demultiplesstacks technos Demultiples matérielset environnements Production Cluster Customer Data Center Est-cequelesservices etappscommuniquent bien? Commentgérerla migration?
  • 8. Quoi, où, quand, et comment ? Static website Web frontend Background workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Onsite Cluster Azure Contributor laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  • 9. Quelle solution pour optimiser les ressources ?  Supprimer l’OS Guest d’une VM, consommateur de ressources  Conserver la flexibilité des VMs (Scalabilité, maintenance, etc.)  Assurer une meilleur portabilité des applications (migrations de versions d’OS)  Simplifier le déploiement Container
  • 12. Denombreuxtypes debiens Denombreuses méthodesde transports Dois-je m’occupuperde l’interactionentre lesbiens? Commentles transporter simplement? (i.epasserdubateau, aucamion) Le container : un système normalisé et intermodal …entre temps, il peut être chargé, déchargé, empilé, transporté sur de longues distances en changeant de mode de transport Un container, normalisé et identique, scellé du départ à l’arrivée, et qui peut contenir n’importe quoi
  • 13. Static website Web frontend Background workers User DB Analytics DB Queue Dev VM QA Server Single Prod Server Onsite Cluster Azure Contributor laptop Customer Servers Simplification du modèle
  • 14. Définition du container  Un container est un package qui contient :  Un exécutable  Ses dépendances  Sa configuration  Eventuellement un file system  Pour le système d’exploitation, c’est un programme !  Plus d’OS Guest  Les ressources utilisées sont celles de la machine, et non d’une VM
  • 15. Containers vs. VMs App A Hypervisor (Type 2) Host OS Server Guest OS Bins/ Libs App A’ Guest OS Bins/ Libs App B Guest OS Bins/ Libs AppA’ Host OS Server Bins/Libs AppA Bins/Libs AppB AppB’ AppB’ AppB’ Container Guest OS Guest OS VM
  • 16. Le container : Séparation des responsabilités • Dan, développeur • S’occupe de l’intéreur du container • Le code • Les bilbliothèques • La gestion des dépendances • La données • Pour lui, tout les serveurs sont les mêmes • Oscar , l’Ops • S’occupe de l’extérieur du container • Logging • Monitoring • Réseau • Tout les containers ont la même façon de s’exécuter
  • 17. Qu’est-ce que Docker ? Une solution d’orchestration de container
  • 18. Docker : un ecosystème  Docker Dameon est installé sur la machine hôte et gère les containers  Docker Client se charge de la communication entre l’utilisateur et le Docker Daemon  Docker Image est un template de container qui décrit comment le construire  Docker Container est… un container  Docker Hub est un annuaire centralisé d’images  Docker File est un fichier décrivant couche par couche la construction d’une image  Docker Swarm est une solution d’administration d’un cluster d’hôtes Docker  Etc. (Docker Volume, Docker Network, Docker Compose, …)
  • 19. Demo – Build once, run anywhere !
  • 20. Docker Image  Une image est faite de couches successives  Chaque couche ajoute au container  Seule la dernière couche est en lecture/écriture
  • 21. Réutilisation des couches  Chaque couche possède un identifiant  Unique pour l’ensemble ‘couche + parents’  On peut ainsi réutiliser des couches d’un container à l’autre  Economies de temps de téléchargement
  • 22. Docker File  Décrit la construction d’une image  Syntaxe particulière  FROM – Base  MAINTAINER – Auteur  RUN – Exécution à la construction  CMD – Exécution à la création  ENTRYPOINT – Point d’entrée  COPY/ADD – Ajout de fichiers  WORKDIR – Changement de répertoire  ENV – Variables d’environnement  …
  • 23. Demo – Construction d’une image et instanciation
  • 25. Docker for Azure  Basé sur Swarm : Mise en cluster de Docker  Compatibilité avec les outils Docker  Failover et Haute disponibilité  Scalable  Orchestrateur de container  Service Discovery  Géré par Docker  Edition Communautre & Entreprise  Entreprise ajoute :  UCP  DTR  Et le support officiel de Docker
  • 27. Azure Container Registry  Registry privé sur votre abonnement Azure  Basé sur Docker Registry v2  Gestion de vos images Docker : ajout, suppression, versioning, etc.  En preview Base Image Tested Production Development Test Staging Production Scale Out Build Ship Run
  • 28. App Service on Linux  Service PaaS App Service basé sur Linux  Annoncé en Septembre  Objectif : simplifié les déploiements de solutions Node, ASP.NET Core, etc
  • 29. ?