SlideShare une entreprise Scribd logo
BreizhCamp 2018 #breizhcamp
Scaling CodeLabs
avec Swarm et Compose
Chroniques de formation :
Damien Duportal - Training Engineer@CloudBees - Twitter : @DamienDuportal
On est là pour :
● Un retour d’expérience
● Boire du champagne
● Des CodeLabs
● VM / Containeurs
workloads
On n’est PAS là pour :
● Une guerre d’outils :
○ Kubernetes vs. Swarm
○ AWS vs. Azure
● Du code (15 min !)
○ Tout est ici (GitHub):
http://bit.ly/2yoYG0v
Au menu
“Boire son propre champagne”
Apprentissage par l’expérimentation :
➔ Les expériences de savant fou ne sont JAMAIS une perte de temps
➔ Anti-procrastination : fournir quelque chose qui fonctionne puis répéter en
améliorant
“CodeLab” ? Kezako ?
➔ Élément d’une formation (expérience utilisateur !)
➔ Exercice pratique
➔ Environment isolé et dédié par personne
➔ Synonyme de “Workshop” ou “Hands on Lab”
CodeLab == Production
Contraintes :
➔ Réseau
➔ Champs de possibles
➔ “Problem Exist Between Chair And Keyboard” (PEBKAC) : Courbe d’apprentissage
➔ Sessions à durée fixe
Contenu du CodeLab
Formation Jenkins :
➔ Dépôt Git (Gitea - Go)
➔ Jenkins Master + Build Agents (JVMs)
➔ Web Command Line (TTYDs - Python)
➔ WebIDE (Codiad - PHP)
➔ Stockage des Artefacts (Artifactory - JVM)
➔ Registre Docker (Go)
Challenges - v1
➔ Définition explicite de la pile de services du CodeLab :
◆ Docker-compose
◆ “Définition as code”
➔ Portabilité :
◆ Docker (“blueprint”)
➔ Unité de travail efficace :
◆ Machine Virtuelle
Solution - v1
Consul Servers
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
AWS EC2 VM
Host OS: Ubuntu
Docker & Compose
CodeLab Service Stack
Consul
SSH Bastion
Reverse Proxies
Register into
Consul
End User
Trainer
Deploys with
Terraform
Load-Balancer
Reconfigure with
Consul-Template
Rétrospective - v1
➔ Ça fonctionne !
➔ Facile pour démarrer
➔ Coût d’infrastructure (1 personne par VM)
➔ TTP (Time To Play)
◆ “Packer build “ vs. “Docker run”
➔ Un formateur ne devait pas avoir besoin d’un compte Amazon
◆ Couplage fort Infrastructure / Services
Vers l’orchestration native de containeurs
Solution - v2.1 : Infrastructure
SSH Bastion“Infra
Admin”
Deploys with
Terraform
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
Solution - v2.1 : Services
SSH Bastion“Infra
Admin”
Deploys with
Docker
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
Deploys with
Docker
Trainer
CodeLab Service Stack
Support Services
Support Services
Solution - v2.3 : Utilisateur
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Worker (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
Swarm Manager (EC2 VM)
CodeLab Service Stack
Support Services
Support Services
End User
Rétrospective - v1
➔ Ça fonctionne toujours !
➔ Déploiement facilité pour les formateurs
➔ Coût : divisé par 4
◆ 4 personnes par VM
➔ “TTP” : ~10 s au lieu of ~10 min
➔ Fardeau de maintenance : 5 outils au lieu de 8
Rétrospective - v1
➔ Écosystème des Conteneurs :
◆ Moins de code et d’outils à maintenir
➔ Motif de déploiement :
◆ Déployer N fois, PAS “scaler” horizontalement
➔ Monitoring / Métriques (Observabilité)
◆ Faux problème
➔ Gestion des ressources (Actionnabilité)
◆ De : 1 stack pour 1 VM
◆ Vers : N stacks pour N VMs
MERCI !

Contenu connexe

Tendances

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
Alexis Ducastel
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
Jean-Baptiste Claramonte
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
Nicolas Hennion
 
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
 
Intro docker
Intro dockerIntro docker
Intro docker
Fedir RYKHTIK
 
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
Anthony Sigogne
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
Zenika
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
Thibaut Marmin
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
Membré Guillaume
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
Christophe Furmaniak
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
Membré Guillaume
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
Nicolas Muller
 
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
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
Emmanuel Quentin
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Publicis Sapient Engineering
 
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
 
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
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
Abderrahmane Mechri
 
Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?
Publicis Sapient Engineering
 

Tendances (20)

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
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
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...
 
Intro docker
Intro dockerIntro docker
Intro docker
 
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
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
Gdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetesGdg lille-intro-to-kubernetes
Gdg lille-intro-to-kubernetes
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
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 ?
 
Introduction à Docker et Gaudi
Introduction à Docker et GaudiIntroduction à Docker et Gaudi
Introduction à Docker et Gaudi
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
 
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 ...
 
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 ...
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?Devoxx France - Où sont passés mes serveurs ?
Devoxx France - Où sont passés mes serveurs ?
 

Similaire à Chroniques de formation : Scaling Code Labs avec Swarm et Compose

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
 
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
Julien Wittouck
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
Rachid Zarouali
 
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
AZUG FR
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
TADx
 
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Nicolas Silberman
 
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Jean-Marc Fontaine
 
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
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
Alexis Ducastel
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Jean-Marc Fontaine
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
Jaouad Assabbour
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - Swarm
SmartWave
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
sametmax
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
The Incredible Automation Day
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
Jérôme Petazzoni
 
Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02
Gonéri Le Bouder
 
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
qsdqsd4
 
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
sdenier
 
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
AnisSalhi3
 

Similaire à Chroniques de formation : Scaling Code Labs avec Swarm et Compose (20)

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, ...
 
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
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
 
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
 
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
 
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
 
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...
 
Devops d-day 2017 docker openstack docker
Devops d-day 2017  docker openstack dockerDevops d-day 2017  docker openstack docker
Devops d-day 2017 docker openstack docker
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - Swarm
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02Virt lightning-montreal-linux-meetup-2020-02
Virt lightning-montreal-linux-meetup-2020-02
 
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
 
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
 
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
 

Plus de Damien Duportal

TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with TuleapTuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
Damien Duportal
 
DevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
DevFest Lille 2017: Jenkins, BlueOcean and Declarative PipelinesDevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
DevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
Damien Duportal
 
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative PipelinesBelgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
Damien Duportal
 
Slides
SlidesSlides
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
Damien Duportal
 
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as codeVoxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Damien Duportal
 

Plus de Damien Duportal (6)

TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with TuleapTuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
TuleapCon 2018 - Jenkins Blue Ocean Pipeline Editor with Tuleap
 
DevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
DevFest Lille 2017: Jenkins, BlueOcean and Declarative PipelinesDevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
DevFest Lille 2017: Jenkins, BlueOcean and Declarative Pipelines
 
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative PipelinesBelgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
Belgium Jenkins Area Meetup: Jenkins, BlueOcean and Declarative Pipelines
 
Slides
SlidesSlides
Slides
 
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
 
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as codeVoxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
 

Chroniques de formation : Scaling Code Labs avec Swarm et Compose

  • 1. BreizhCamp 2018 #breizhcamp Scaling CodeLabs avec Swarm et Compose Chroniques de formation : Damien Duportal - Training Engineer@CloudBees - Twitter : @DamienDuportal
  • 2. On est là pour : ● Un retour d’expérience ● Boire du champagne ● Des CodeLabs ● VM / Containeurs workloads On n’est PAS là pour : ● Une guerre d’outils : ○ Kubernetes vs. Swarm ○ AWS vs. Azure ● Du code (15 min !) ○ Tout est ici (GitHub): http://bit.ly/2yoYG0v Au menu
  • 3. “Boire son propre champagne” Apprentissage par l’expérimentation : ➔ Les expériences de savant fou ne sont JAMAIS une perte de temps ➔ Anti-procrastination : fournir quelque chose qui fonctionne puis répéter en améliorant
  • 4. “CodeLab” ? Kezako ? ➔ Élément d’une formation (expérience utilisateur !) ➔ Exercice pratique ➔ Environment isolé et dédié par personne ➔ Synonyme de “Workshop” ou “Hands on Lab”
  • 5. CodeLab == Production Contraintes : ➔ Réseau ➔ Champs de possibles ➔ “Problem Exist Between Chair And Keyboard” (PEBKAC) : Courbe d’apprentissage ➔ Sessions à durée fixe
  • 6. Contenu du CodeLab Formation Jenkins : ➔ Dépôt Git (Gitea - Go) ➔ Jenkins Master + Build Agents (JVMs) ➔ Web Command Line (TTYDs - Python) ➔ WebIDE (Codiad - PHP) ➔ Stockage des Artefacts (Artifactory - JVM) ➔ Registre Docker (Go)
  • 7. Challenges - v1 ➔ Définition explicite de la pile de services du CodeLab : ◆ Docker-compose ◆ “Définition as code” ➔ Portabilité : ◆ Docker (“blueprint”) ➔ Unité de travail efficace : ◆ Machine Virtuelle
  • 8. Solution - v1 Consul Servers AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul AWS EC2 VM Host OS: Ubuntu Docker & Compose CodeLab Service Stack Consul SSH Bastion Reverse Proxies Register into Consul End User Trainer Deploys with Terraform Load-Balancer Reconfigure with Consul-Template
  • 9. Rétrospective - v1 ➔ Ça fonctionne ! ➔ Facile pour démarrer ➔ Coût d’infrastructure (1 personne par VM) ➔ TTP (Time To Play) ◆ “Packer build “ vs. “Docker run” ➔ Un formateur ne devait pas avoir besoin d’un compte Amazon ◆ Couplage fort Infrastructure / Services
  • 11. Solution - v2.1 : Infrastructure SSH Bastion“Infra Admin” Deploys with Terraform Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM)
  • 12. Solution - v2.1 : Services SSH Bastion“Infra Admin” Deploys with Docker Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM) Deploys with Docker Trainer CodeLab Service Stack Support Services Support Services
  • 13. Solution - v2.3 : Utilisateur Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Worker (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM) Swarm Manager (EC2 VM) CodeLab Service Stack Support Services Support Services End User
  • 14. Rétrospective - v1 ➔ Ça fonctionne toujours ! ➔ Déploiement facilité pour les formateurs ➔ Coût : divisé par 4 ◆ 4 personnes par VM ➔ “TTP” : ~10 s au lieu of ~10 min ➔ Fardeau de maintenance : 5 outils au lieu de 8
  • 15. Rétrospective - v1 ➔ Écosystème des Conteneurs : ◆ Moins de code et d’outils à maintenir ➔ Motif de déploiement : ◆ Déployer N fois, PAS “scaler” horizontalement ➔ Monitoring / Métriques (Observabilité) ◆ Faux problème ➔ Gestion des ressources (Actionnabilité) ◆ De : 1 stack pour 1 VM ◆ Vers : N stacks pour N VMs