Vue d'ensemble de l'ecosysteme
Architecture DevOps complete :
+------------------------------------------------------------------+
| DEVELOPPEUR |
| Ecrit du code, commit, push sur GitLab |
+------------------------------------------------------------------+
|
v
+------------------------------------------------------------------+
| GITLAB (CI/CD) |
| - Heberge le code (Git) |
| - Execute les pipelines CI/CD |
| - Build les images Docker |
| - Lance les tests |
| - Deploie sur Kubernetes |
+------------------------------------------------------------------+
| |
v v
+-------------------------+ +-------------------------+
| DOCKER | | TERRAFORM |
| - Conteneurise les | | - Cree l'infra cloud |
| applications | | - VMs, reseaux, BDD |
| - Image reproductible | | - Etat dans tfstate |
| - Registry (stockage) | | - Plan + Apply |
+-------------------------+ +-------------------------+
|
v
+-------------------------+
| ANSIBLE |
| - Configure les VMs |
| - Installe les paquets |
| - Deploie les configs |
| - Playbooks YAML |
+-------------------------+
|
v
+------------------------------------------------------------------+
| KUBERNETES (K8s) |
| - Orchestre les conteneurs Docker |
| - Scaling automatique |
| - Self-healing, rolling updates |
| - Services, Ingress, ConfigMaps |
+------------------------------------------------------------------+
| |
v v
+-------------------------+ +-------------------------+
| KEYCLOAK | | MONITORING |
| - Authentification | | - Prometheus (metrics) |
| - SSO (Single Sign-On) | | - Grafana (dashboards) |
| - Gestion des acces | | - Loki (logs) |
| - OAuth2 / OIDC | | - Alertmanager |
+-------------------------+ +-------------------------+
Resume des roles
| Outil | Role | Categorie |
|---|---|---|
| GitLab | Code + CI/CD + Registry | Pipeline |
| Docker | Conteneurisation | Packaging |
| Terraform | Provisioning infrastructure | IaC |
| Ansible | Configuration des serveurs | IaC |
| Kubernetes | Orchestration conteneurs | Runtime |
| Keycloak | Authentification / SSO | Securite |
| Prometheus + Grafana | Monitoring | Observabilite |
Terraform vs Ansible : Terraform cree l'infrastructure (serveurs, reseaux). Ansible configure ce qui tourne dessus (paquets, fichiers, services). Ils sont complementaires, pas concurrents.