DevOps en pratique : ce qu'on a appris en mission
De Jenkins a GitLab CI : retour de migration
Mission de 6 mois chez un editeur SaaS, equipe de 40 devs. Le CI/CD tournait sur un Jenkins vieillissant : 12 minutes de build moyen, des pipelines fragiles, et un seul ops qui savait les maintenir. On a migre vers GitLab CI avec de l'IaC Terraform. Voici ce qu'on a appris.
Le pipeline en pratique
Architecture cible : monorepo avec 3 services (API Node.js, front React, worker Python). Pipeline GitLab CI en 4 stages :
- Build : Docker multi-stage, cache des layers (~2 min)
- Test : parallelisation sur 4 runners, coverage gate a 80%
- Security : Trivy pour les images, Semgrep pour le code
- Deploy : ArgoCD vers Kubernetes, rollback automatique si health check KO
Temps de build moyen : passe de 12 a 4 minutes. Frequence de deploiement : de 2/semaine a 3/jour.
IaC et metriques DORA
Toute l'infra AWS (EKS, RDS, ElastiCache) geree en Terraform avec des modules maison. State remote sur S3 + DynamoDB pour le locking. Dashboard Grafana branche sur les 4 metriques DORA :
- Lead time : 12h a 2h
- Frequence de deploiement : x6
- Taux d'echec : 15% a 4%
- Temps de restauration : 45 min a 8 min
Le DevOps, ce n'est pas un poste. C'est une culture. Le plus dur n'a pas ete de configurer GitLab CI — c'a ete de convaincre 40 devs d'ecrire des tests avant de push.
Mehdi
Consultant chez AGATE IT
Expert en cloud & devops, notre consultant partage ses retours d’expérience et ses bonnes pratiques pour vous aider dans vos projets.