2S Agency · AWS · GitLab CI/CD
2S Agency : héberger sur AWS et automatiser avec GitLab CI/CD
Pour héberger ses applications web, 2S Agency avait besoin d’un socle sécurisé et capable d’évoluer. J’ai mis en place l’infrastructure sur AWS et automatisé la configuration et la gestion des serveurs avec GitLab CI/CD.

Donner aux applications web un socle qui puisse évoluer
2S Agency avait besoin d’une infrastructure web sécurisée sur AWS pour héberger ses applications. Le projet devait aussi permettre de les faire évoluer sans dissocier le travail sur les serveurs de la chaîne de déploiement.
J’ai pris en charge la mise en place de l’infrastructure ainsi que la configuration et la gestion automatisées des serveurs avec GitLab CI/CD. L’enjeu était de relier l’hébergement aux opérations nécessaires pour livrer les solutions web de l’agence de façon continue et fiable.
Relier GitLab CI/CD aux opérations sur les serveurs
Les pipelines GitLab CI/CD ne servent pas seulement à déclencher un déploiement applicatif. Dans cette mission, ils prennent aussi en charge la configuration et la gestion des serveurs. Le travail réalisé associe donc le socle AWS aux opérations automatisées qui permettent de le faire vivre.
Pour l’agence, cette continuité entre infrastructure et déploiement est importante : les changements applicatifs et les besoins côté serveurs font partie d’un même parcours technique. La configuration ne reste pas une suite d’interventions isolées à refaire en dehors des pipelines.
Le schéma résume cette articulation : GitLab CI/CD pilote les opérations de configuration, au service des applications hébergées sur AWS.

Plusieurs façons d’héberger, un même besoin d’automatisation
Les travaux comprennent des configurations AWS avec Terraform, la préparation des machines par cloud-init et des playbooks Ansible pour installer ou mettre à jour les composants applicatifs. Réseau, instances, répartition de charge et certificats font partie des éléments pris en charge dans les configurations d’infrastructure.
Un autre volet concerne les applications conteneurisées : les pipelines construisent les images Docker, les publient dans ECR et préparent leur déploiement sur ECS. Ce parcours répond aux besoins de la variante conteneurisée ; les playbooks serveur et les opérations Docker Compose couvrent d’autres modes d’hébergement.
La logique commune est de transformer les opérations de livraison en code : on peut les lire, les faire évoluer et les relancer dans le cadre prévu, plutôt que dépendre d’une suite de manipulations conservées à part.
Les exigences à concilier
Sécuriser l’hébergement
L’infrastructure devait fournir un socle sécurisé aux applications de l’agence. La configuration des serveurs fait partie de ce périmètre, au même titre que leur mise à disposition.
Accompagner les évolutions
Le socle AWS devait pouvoir évoluer avec les solutions web. L’automatisation permet de reprendre le travail de configuration lors des changements, plutôt que reconstruire chaque opération.
Fiabiliser les déploiements
La chaîne GitLab CI/CD devait soutenir un déploiement continu et fiable. Les opérations récurrentes sur les serveurs sont intégrées à cette logique de livraison.
Les livrables de la mission
Le projet a abouti à une infrastructure web sur AWS et à une gestion des serveurs automatisée via GitLab CI/CD. L’hébergement et les opérations de configuration sont ainsi traités ensemble.
- Les configurations Terraform AWS pour décrire les ressources d’hébergement et leurs paramètres.
- Les fichiers d’amorçage et playbooks Ansible pour préparer les serveurs et installer les composants.
- Les pipelines GitLab CI/CD pour automatiser les opérations de livraison, dont la construction et la publication d’images Docker pour la variante conteneurisée.
- Les procédures de mise à jour pour reprendre le code et relancer les services concernés.
- Des playbooks de sauvegarde et de restauration, incluant le traitement d’exports de base de données et de snapshots Restic.
Le rendu final est une base applicative accompagnée de ses mécanismes de déploiement. Le travail ne s’arrête pas à la création des ressources : il couvre aussi la manière d’appliquer les changements nécessaires à leur utilisation.
Ce que l’agence peut réutiliser au quotidien
L’intérêt de cette organisation est de rendre les opérations de déploiement et de configuration réutilisables. Une tâche prise en charge dans un pipeline peut être relancée dans le cadre prévu, plutôt que dépendre d’une nouvelle série de manipulations manuelles.
Pour la maintenance, la même logique aide à organiser les changements sur le socle applicatif. Les configurations et les opérations automatisées deviennent des éléments de travail que l’on peut faire évoluer avec les besoins de l’agence.
Le bénéfice économique recherché se situe dans cette réutilisation : consacrer l’effort technique à préparer et améliorer les opérations, plutôt qu’à les répéter à chaque livraison. AWS apporte l’environnement d’hébergement ; GitLab CI/CD structure les opérations qui l’accompagnent.

Préparer la maintenance dès la construction
Le périmètre ne s’arrête pas au premier déploiement. Les playbooks couvrent aussi les mises à jour applicatives, les opérations de sauvegarde et la restauration de données. Ces éléments donnent une base de travail aux personnes qui reprennent l’exploitation, à adapter aux contraintes de l’environnement concerné.
Sur le pipeline de déploiement conteneurisé, l’authentification auprès d’AWS passe par OIDC et des identifiants temporaires. Ce mécanisme permet d’éviter une clé AWS persistante pour ce parcours de livraison. Il complète le travail sur la configuration de l’hébergement et les accès.
Le dimensionnement reste un arbitrage entre besoins applicatifs et ressources mobilisées. Le paramétrage dans le code permet de retrouver les choix de configuration et de les faire évoluer. Les économies ne viennent pas d’une promesse générale du cloud, mais d’un travail suivi sur les ressources et les opérations réellement nécessaires.
Vos applications et vos déploiements doivent avancer ensemble ?
Parlons de votre hébergement, de votre chaîne CI/CD et des opérations serveur que vous souhaitez automatiser.