Containeriser pour mieux régner.
Imaginez que vous partez en voyage, en plusieurs étapes, sans valise ! Avec vos affaires à la main, chaque migration devient une étape délicate et contraignante (préparation, encombrement, ...).
Pour faire court Docker apporte la valise, on place son programme dans ce container. Dans d'autres containers on place les dépendances : moteur de base de données, système de cache, microservices, sous-programmes, back-end, front-end, serveur Web, ... et maintenant nous voila équipé pour se déplacer de serveur en serveur avec nos containers sans contrainte lors des différentes étapes.
Comment gérer tous ces containers ? Il nous faut un chef d'orchestre, c'est là qu'intervient l'orchestration qui complète ce cercle vertueux
"Vertueux" mais aussi "virtueux" car il s'agit là d'une forme de virtualisation de systèmes d'exploitations (OS) Linux qui fonctionnent dans d'autres systèmes d'exploitations par le biais d'isolations par couches (chroot boosté aux stéromones).
Une bonne stratégie de virtualisation dans le cloud, ainsi que de containerisation des services permet de déployer tout type de plateforme à grande échelle.
Cela permet aussi d'automatiser le comportement :
- Ajouter et retirer automatiquement des serveurs sans coupure de service.
- Migrer rapidement les services et les données.
- Renouveler automatiquement les certificats SSL (HTTPS / WSS).
- Sécuriser certains services dans des sous-réseaux inaccessible depuis Internet.
- Répartir la charge.
- Orchestrer les containers à l'aide de Docker Swarm, Kubernetes ou autre.
- Sécuriser le fonctionnement en dupliquant les services dans plusieurs data center.
- Augmenter le temps de réponse en répartissant géographiquement les services.
- Accélerer le temps de recovery en cas d'incident.
- Etre alerté en cas de dysfonctionnement.
- Monitorer l'ensemble.
- ...
Un workflow bien huilé offre d'innombrable possibilités, c'est passionnant !