Déploiement d’une infrastructure web résiliente avec DOCKER

Publié par mzoughih le

Déploiement d’une infrastructure web résiliente avec DOCKER

Contexte

Dans le contexte actuel où le télé-travail et les outils informatiques ont besoins d’être de plus en plus rapide et accessible rapidement, nous avions besoin d’avoir une infrastructure organisée, rapide et autonome afin d’assurer une qualité de travail au maximum. Nos serveurs, déployés chez un prestataire externe, peuvent redémarrer ou être coupés pendant quelques minutes afin d’effectuer diverses opérations de maintenance. Dans ce cas là, notre administrateur ne devrait pas avoir besoin d’interagir avec le serveur pour que les services redémarrent correctement

Infrastructure nécessaire

Afin d’avoir un espace de travail à la fois agréable et complet, nous avons besoin de nombreuses applications Web allant du site web sur lequel nous nous trouvons jusqu’au exécuteurs de tâche automatisées (Runners) Gitlab.

Aujourd’hui, une vingtaine de conteneurs ayant chacun une tâche bien différente sont installés :

RÉALISATION

Afin de créer cette architecture, nous avons mis en place une infrastructure de documents (docker-compose) en fonction de chaque service afin de les séparer correctement en cas de mise à jour ou de problème de configuration. Un gros avantage d’un fichier par service est la possibilité de mettre à jour plus rapidement ou de de redéployer les services sur un autre serveur de la manière la plus simple et efficace possible.

Un exemple de fichier docker-compose utilisé serait celui de notre Gitlab :

Ce fichier totalement autonome permet d’être copié vers un autre serveur et d’être redéployé très rapidement. Il permet également grâce à l’outil Docker de redémarrer automatiquement en cas d’erreur ou de redémarrage de la machine. Pour en savoir plus, n’hésitez pas à aller lire nos articles sur le sujet.

Les différents volumes intégrés directement au serveur permettent d’avoir un accès rapide et durable aux données et aux fichiers de configuration de l’application. Cela va également permettre au système d’effectuer des sauvegardes sur ces fichiers obligatoires au démarrage de Gitlab

SAUVERGARDES

Comme indiqué dans la partie précédente, un système de sauvegarde s’ajoute au système Docker. Ses sauvegardes sont effectuées de manière autonomes quotidiennement, hebdomadairement et mensuellement. Les copies des fichiers de Docker ainsi que les configurations et les données des conteneurs sont stockés à deux endroits différents de manière à être accessible à tout moments :
Comme indiqué dans la partie précédente, un système de sauvegarde s’ajoute au système Docker. Ses sauvegardes sont effectuées de manière autonomes quotidiennement, hebdomadairement et mensuellement. Les copies des fichiers de Docker ainsi que les configurations et les données des conteneurs sont stockés à deux endroits différents de manière à être accessible à tout moments :
Catégories : PROJETS