Contexte :Migration progressive des applications legacy de l’infrastructure VM OVH
vers un environnement conteneurisé basé sur Kubernetes (OVH Public Cloud).
Standardisation de la stack DevOps autour de Helm, GitLab CI, Terraform, Vault et
MongoDB Percona.
Objectif : améliorer la scalabilité, automatiser les déploiements, renforcer la
sécurité et fiabiliser les processus de sauvegarde/restauration.
1 - Migration d'applications legacy vers Kubernetes chez OVH :
● Étude de l𠆞xistant et conception des architectures cibles Kubernetes
adaptées à OVH Public Cloud (instances, LB, stockage, DNS).
● Migration des services applicatifs depuis des VMs OVH vers des clusters
Kubernetes avec Helm Chart, CI/CD GitLab.
● Mise en place de la configuration réseau (Ingress, DNS, firewall,
LoadBalancer) et des PVC.
- Déploiement et gestion de MongoDB sharded avec Percona Operator :
● Installation et configuration de clusters MongoDB 7 sharded dans
Kubernetes avec Helm Chart Percona.
● Migration de données depuis des instances MongoDB 3
(mongos/cfg/shards) sur VMs vers Kubernetes avec stratégie de
réplication/restauration.
● Automatisation des backups/restores vers S3 OVH avec contrôle de
l’intégrité.
3 - Intégration de Vault dans Kubernetes pour la gestion des secrets applicatifs :
● Déploiement de HashiCorp Vault dans Kubernetes (auth Kubernetes,
policies, approles).
● Intégration avec MongoDB pour la rotation automatique des credentials.
● Déploiement du Vault Secrets Operator pour l’injection dynamique des
secrets dans les pods.
4 - Sécurisation SSL complète des services MongoDB et Ingress :
● Génération automatique de certificats via cert-manager et Vault.
● Configuration TLS sur les endpoints MongoDB avec injection des certificats
depuis Vault.
● Gestion des DNS, certificats et sécurisation SSL des services exposés via
Ingress NGINX
- Normalisation et industrialisation des Helm Charts pour les stacks internes :
● Refonte des valeurs Helm (values.yaml) pour automatiser les déploiements
(Mongo, Gravitee, monitoring).
● Gestion fine des stratégies d’update, des probes, des resources et des
secrets.
● Déploiement standardisé multi-environnement avec GitOps, variables,
secrets chiffrés et CI Helm.
Contexte : Conception et mise en place des architectures AWS.
1 - Conception et mise en place d’une architecture de base pour tous les projets:
â Design:
â Conception de l'architecture des services AWS et établissement de la
connexion entre eux.
â Services AWS utilisés : EC2, S3, IAM, RDS, ALB, Secret Manager, VPC,
Route53.
â Build:
â Développement des scripts Terraform IaC.
â Mise en place de la connexion entre les services AWS.
â Run:
â Déploiement continu de l'infrastructure avec Gitlab CI.
â Configuration et changement des architecture au besoin du projet
2 - Migration des applications depuis le déploiement sur des serveurs vers
Kubernetes.
Design:
â Conception de l'architecture des services actuels.
â conception de l𠆚rchitecture cible micro-services.
â Build:
â Développement des scripts Terraform.
â Écriture des HELM Chart.
â Run:
â Déploiement continu de l'infrastructure avec Gitlab CI et AgroCD.
â Gestion des secrets dans Vault.
â Mise en place du monitoring avec Thanos, Prometheus, et Grafana.
â Transformation de la stack vers Kubernetes
â Support des équipes de Dev sur la nouvelle architecture.
3 - Migration de l’infrastructure locale vers AWS:
â Design:
â Conception de l'architecture des services AWS et établissement de la
connexion entre eux.
â Services AWS utilisés : EC2, ALB, RDS, S3, IAM, ECS, Secret Manager,
Fargate.
â Build:
â Développement des scripts Terraform en tant que code infrastructure.
â Mise en place de la connexion entre les services AWS.
â Run:
â Déploiement continu de l'infrastructure avec Gitlab CI.
â Gestion des secrets dans Secret Manager.
4 - Gestion des Landing Zone sur AWS:
â Gestion de multi-account sur AWS, sous forme de projets clients.
â Création des services sur les comptes AWS.
â Gestion de l’interconnexion entre les services inter-account.
5 - Automatisation de la configuration des serveurs:
â Build:
â Implémentation des Playbooks Ansible.
â Run:
â Utilisation d'Ansible pour l'installation des packages et des services
nécessaires (Docker, Python, Zsh, etc.).
6 - Mise en production d'applications web sur des clusters Kubernetes:
â Design:
â Conception de la nouvelle architecture.
â Choix des services AWS et des ressources Kubernetes.
â Build:
â Configuration de Kubernetes, EKS, et HELM.
â Développement du backend en Python et Django, du frontend en
ReactJS, et de l'API GraphQL.
â Run:
â Mise en production avec UWsgi, Daphne, et Supervisord.
â Utilisation de Nginx pour les déploiements de préproduction et
d'Apache pour la production.
7 - Support technique au niveau Système et Hardware:
â Environnement:
â Maîtrise des systèmes Linux, Debian, Samba, etc.
â Gestion des ressources physiques des serveurs et postes de travail
(RAM, Stockage, etc.).
8 - Supervision:
Utilisation de Prometheus, Grafana, Karma, et ELK Stack pour la
supervision.
â Orchestration des tâches Databricks avec Apache Airflow
9 - Réalisation des PoC:
â Build:
â Comparaison des solutions de monitoring pour les jobs Spark
(SparkLint, Sparkoscope, Dr-elephant).
â Run:
Automatisation de l'installation de Kubernetes sur un cluster de
serveurs physiques.
â Test de la haute disponibilité des applications web.
âÂÂÂÂ