← Project page

Soutenance RNCP
Administrateur systèmes DevOps

Projet: Déploiement de l'application Taiga Concevoir, Automatiser, Déployer, Superviser et Sécuriser une plateforme cloud.
Portrait du présentateur

Professional background: Ed-Tech Software Developer, USACursus Ingenieur Informatique, Fulton School of Engineering, ASU

Équipe projet
3 administrateurs DevOps Fatima Zahra Lazaar · Frédéric Hébert · Kevin Sidbon Infrastructure, déploiement et exploitation
01 · Contexte

Problème, contraintes, objectif.

Problème
Visibilité limitée sur les sprints, priorités dispersées et temps perdu entre équipes.
Contraintes
Une solution clé en main, auto-hébergée, avec staging et production séparés.
Objectif
Une plateforme agile centralisée, sécurisée, exploitable et maîtrisée en interne.
02 · Cahier des charges
01
Taiga auto-hébergé sur AWS
02
Staging et production séparés
03
Accès sécurisé, données privées
04
Sauvegarde et reprise maîtrisées
05
Déploiement automatisé et reproductible
06
Capacité à absorber la croissance
07
Supervision et alertes exploitables
08
Documentation et décisions argumentées
03 · Vue d'ensemble

Une architecture en trois plans.

Plan applicatifWorkloads conteneurisés sur EKS
Plan donnéesServices AWS managés et privés
Plan opérateurGitLab, SSM et observabilité
2 environnementsÉtats Terraform et clusters séparés
04 · Conteneurs

Un chemin utilisateur, quatre workloads.

  • Frontend : SPA Angular servie par Nginx
  • Backend : API Django/Gunicorn et logique métier
  • Events : mises à jour temps réel en WebSocket
  • Celery : traitements asynchrones via RabbitMQ
Probesreadiness + liveness
Ressourcesrequests + limits
Production2 replicas par workload
HPAfrontend, backend, events
05 · Infrastructure as Code

Terraform construit la fondation AWS.

  • VPC réparti sur 2 zones de disponibilité
  • Sous-réseaux publics, applicatifs privés et données privées
  • EKS privé, nœuds managés et contrôleurs AWS
  • RDS PostgreSQL, ElastiCache Redis et Amazon MQ
  • Paramètres et secrets transmis au déploiement
06 · Livraison continue

La pipeline orchestre l'ensemble du changement.

LintKustomize
Buildimages SHA
PlanTerraform
DeploySSM
Testsmoke + charge
  • Staging déclenché depuis la branche dédiée
  • Production manuelle depuis main
  • Référence SHA propagée lorsque l'image est construite
  • Migration Django exécutée par un Job unique
07 · Sécurité

Réduire la surface, séparer les responsabilités.

  • Entrée publique unique : ALB sur 80/443
  • API EKS privée : aucune administration directe depuis Internet
  • SSM plutôt que SSH : pas de port 22 ni de clé longue durée
  • Security Groups for Pods : flux autorisés vers 5432, 6379 et 5671
  • Secrets Manager + SSM : secrets hors du dépôt

IAM contrôle AWS · le réseau limite les communications.

08 · Observabilité

Détecter, comprendre, agir.

MMétriquesPrometheus
VVueGrafana
AAlerteAlertmanager
LLogsLoki + Alloy
5 règlescrash, CPU, mémoire, Pending, NotReady
Blackboxdisponibilité HTTP synthétique
Targets applicativesfrontend, backend, events
Notificationroutage Alertmanager vers Slack
09 · Exemple significatif & recherche

Le worker démarre.
Les tâches n'arrivent pas.

ObserverComparer logs backend, Celery et Events.
IsolerPort, version RabbitMQ, vhost et URL producteur.
CorrigerRabbitMQ 3.13 · Port 5671 · AMQP/AMQPS
VérifierConnexion du worker puis réception d'une tâche réelle.
11 · Synthèse RNCP

Trois activités types. Onze compétences professionnelles.

Activité type 01 · 4 compétences

Automatiser le déploiement d’une infrastructure dans le cloud

Activité type 02 · 4 compétences

Déployer en continu une application

Activité type 03 · 3 compétences

Superviser les services déployés

12 · Améliorations futures

Onze renforcements

Priorité 01 · Réduire l’exposition

Sécurité

Limiter les mouvements latéraux
Externaliser les secrets
Priorité 02 · Tolérer les pannes

Résilience

Autoscaler les workers Celery
Améliorer le placement des Pods
Rendre les services de données hautement disponibles
Ajouter NAT multi-AZ
Tester la restauration et le rollback
Priorité 03 · Bloquer les régressions

Livraison

Durcir les quality gates
Fiabiliser les images et le rollback
Priorité 04 · Piloter par les faits

Exploitation

Définir SLI, SLO et alertes
Valider capacité et coûts
Annexe 1 · Mermaid live

Architecture

Initialisation de Mermaid…
Molette : zoom · Glisser : déplacer · Double-clic : réinitialiser
Annexe 2 · Mermaid live

Ressources AWS

Initialisation de Mermaid…
Molette : zoom · Glisser : déplacer · Double-clic : réinitialiser
Annexe 3 · Mermaid live

Kubernetes

Initialisation de Mermaid…
Molette : zoom · Glisser : déplacer · Double-clic : réinitialiser