SlideShare une entreprise Scribd logo
Déploiement immuable
•  Qu’est-ce que le déploiement immuable?"
Un déploiement qui demeure inchangé d’un
environnement à l’autre."
Contenu:!
1.  Problématique"
2.  Concept de Docker"
1.  Avantages"
2.  Désavantages"
3.  Démo Fonctionnelle"
4.  Défis Restants & Questions"
INTRODUCTION
Pour illustrer la problématique, on peut comparer le problème des déploiements à celle
des transports de marchandises."
"
La solution passe par l’utilisation de containers."
1.PROBLÉMATIQUE
De la même façon, l’utilisation de Docker vient simplifier les déploiements de code sur
les environnements."
1.PROBLÉMATIQUE
En ce moment, voici ce que nous avons comme schéma (simplifié) de déploiement:"
Présentement, on amène sur chaque environnement le code et les
éléments modifiés par Chef."
"
La même procédure doit être refaite pour chacun des environnements."
1.PROBLÉMATIQUE
Avec Docker, le schéma du déploiement ressemblerait plutôt à ceci:"
Docker nous permettrait de faire un regroupement (container) du code et
des éléments de Chef, pour ensuite les déployer sur l’environnement."
"
De cette façon, on pourrait reprendre le même regroupement (container)
et le déployer sur d’autres environnements."
2. CONCEPT DE DOCKER
Machine Virtuelle ContainersVS
Une colonne représente un
environnement virtuel
Un serveur partagé par les
systèmes
Un système par
container
2. CONCEPT DE DOCKER
1. Les avantages"
•  Déploiements immuables :
Puisqu’on amène le même container d’un environnement à l’autre on est assuré que le
déploiement est exactement identique
–  Réduit le risque de problèmes au déploiement qui sont souvent causé par les différences
entre les environnement
–  Fourni des environnements de test identiques à ceux sur lesquels on veut livrer au final
•  La valeur des tests en amont est augmentée
•  Rapidité du déploiement
Puisqu’il s’agit du même container qu’on achemine d’un environnement à l’autre, des étapes
se retirent du processus et en améliore l’efficacité
–  Aussi, plus les déploiements sont rapides, plus l’environnement affecté est stables (penser
à la durée des maintenances).
•  Facilité de ‘’rollback’’
Avec le système de container, il est facile de retirer un container livré et en réactiver un
précédent. Chose qui nous est présentement quasi-impossible.
•  Scalabilité
Dans le cas où il y a un besoin de créer de nouvelles instances, elles sont plus faciles à mettre
en place puisqu’on ne la créer pas de rien (elles utilisent toutes la même base)
2. CONCEPT DE DOCKER
2. Les désavantages"
•  Maturité de l’outil
Il s’agit d’un outil plutôt récent
•  Gestion des configurations
Il s’agit ici d’un problème déjà existant qui demeurerait après l’implémentation de
Docker.
•  Changements « Ultra Urgent » sur Production
Les problèmes décelés sur ‘prod’ et bloquant la production de l’édition (bugs ultra
urgent prod) devront suivre le flow complet (de dev à prod) plutôt que d’être livré
directement en prod.
–  Par contre, comme la vitesse de déploiement est améliorée, on pourrait imaginer que tout le
cycle du container se fasse dans les mêmes délais ou presque.
•  Implémentation Épic
Implémenter un tel outil ne se fait pas du jour au lendemain…
–  On peut envisager une implémentation sur un seul système pour valider que l’outil convient et définir
les méthodes de travail pour ensuite ajouter des systèmes
2. CONCEPT DE DOCKER
Un exemple concret "
•  Pour démontrer comment l’outil docker pourrait être utilisé, une simple démo a été faite
utilisant le microsite.
3. DÉMO FONCTIONNELLE
Défis restants"
•  Comment gérer les fichiers de configuration?
–  Problème déjà existant
•  Comment gérer la notion de versions publiées?
–  Intégrer de bonnes méthodes / habitudes de travail – est-ce suffisant?
Questions?"
3. DÉFIS RESTANTS & QUESTIONS

Contenu connexe

Déploiements avec Docker

  • 2. •  Qu’est-ce que le déploiement immuable?" Un déploiement qui demeure inchangé d’un environnement à l’autre." Contenu:! 1.  Problématique" 2.  Concept de Docker" 1.  Avantages" 2.  Désavantages" 3.  Démo Fonctionnelle" 4.  Défis Restants & Questions" INTRODUCTION
  • 3. Pour illustrer la problématique, on peut comparer le problème des déploiements à celle des transports de marchandises." " La solution passe par l’utilisation de containers." 1.PROBLÉMATIQUE
  • 4. De la même façon, l’utilisation de Docker vient simplifier les déploiements de code sur les environnements." 1.PROBLÉMATIQUE
  • 5. En ce moment, voici ce que nous avons comme schéma (simplifié) de déploiement:" Présentement, on amène sur chaque environnement le code et les éléments modifiés par Chef." " La même procédure doit être refaite pour chacun des environnements." 1.PROBLÉMATIQUE
  • 6. Avec Docker, le schéma du déploiement ressemblerait plutôt à ceci:" Docker nous permettrait de faire un regroupement (container) du code et des éléments de Chef, pour ensuite les déployer sur l’environnement." " De cette façon, on pourrait reprendre le même regroupement (container) et le déployer sur d’autres environnements." 2. CONCEPT DE DOCKER
  • 7. Machine Virtuelle ContainersVS Une colonne représente un environnement virtuel Un serveur partagé par les systèmes Un système par container 2. CONCEPT DE DOCKER
  • 8. 1. Les avantages" •  Déploiements immuables : Puisqu’on amène le même container d’un environnement à l’autre on est assuré que le déploiement est exactement identique –  Réduit le risque de problèmes au déploiement qui sont souvent causé par les différences entre les environnement –  Fourni des environnements de test identiques à ceux sur lesquels on veut livrer au final •  La valeur des tests en amont est augmentée •  Rapidité du déploiement Puisqu’il s’agit du même container qu’on achemine d’un environnement à l’autre, des étapes se retirent du processus et en améliore l’efficacité –  Aussi, plus les déploiements sont rapides, plus l’environnement affecté est stables (penser à la durée des maintenances). •  Facilité de ‘’rollback’’ Avec le système de container, il est facile de retirer un container livré et en réactiver un précédent. Chose qui nous est présentement quasi-impossible. •  Scalabilité Dans le cas où il y a un besoin de créer de nouvelles instances, elles sont plus faciles à mettre en place puisqu’on ne la créer pas de rien (elles utilisent toutes la même base) 2. CONCEPT DE DOCKER
  • 9. 2. Les désavantages" •  Maturité de l’outil Il s’agit d’un outil plutôt récent •  Gestion des configurations Il s’agit ici d’un problème déjà existant qui demeurerait après l’implémentation de Docker. •  Changements « Ultra Urgent » sur Production Les problèmes décelés sur ‘prod’ et bloquant la production de l’édition (bugs ultra urgent prod) devront suivre le flow complet (de dev à prod) plutôt que d’être livré directement en prod. –  Par contre, comme la vitesse de déploiement est améliorée, on pourrait imaginer que tout le cycle du container se fasse dans les mêmes délais ou presque. •  Implémentation Épic Implémenter un tel outil ne se fait pas du jour au lendemain… –  On peut envisager une implémentation sur un seul système pour valider que l’outil convient et définir les méthodes de travail pour ensuite ajouter des systèmes 2. CONCEPT DE DOCKER
  • 10. Un exemple concret " •  Pour démontrer comment l’outil docker pourrait être utilisé, une simple démo a été faite utilisant le microsite. 3. DÉMO FONCTIONNELLE
  • 11. Défis restants" •  Comment gérer les fichiers de configuration? –  Problème déjà existant •  Comment gérer la notion de versions publiées? –  Intégrer de bonnes méthodes / habitudes de travail – est-ce suffisant? Questions?" 3. DÉFIS RESTANTS & QUESTIONS