déploiements avec docker

11
Déploiement immuable

Upload: luis-lopez

Post on 21-Jun-2015

935 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Déploiements avec Docker

Déploiement immuable

Page 2: Déploiements avec Docker

•  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

Page 3: Déploiements avec Docker

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

Page 4: Déploiements avec Docker

De la même façon, l’utilisation de Docker vient simplifier les déploiements de code sur les environnements."

1.PROBLÉMATIQUE

Page 5: Déploiements avec Docker

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

Page 6: Déploiements avec Docker

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

Page 7: Déploiements avec Docker

Machine Virtuelle Containers VS

Une colonne représente un environnement virtuel

Un serveur partagé par les systèmes

Un système par container

2. CONCEPT DE DOCKER

Page 8: Déploiements avec 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

Page 9: Déploiements avec 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

Page 10: Déploiements avec 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

Page 11: Déploiements avec Docker

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