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
- 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