Ingénieur CLoud & DevOps
Quinten
10/2021 -
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’architecture 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.
â—Â
Environnement Technique : Linux, Debian, Samba, AWS, Kubernetes, Terraform,
Prometheus, Grafana, ELK Stack, Python, Django, ReactJS, Ansible.
Architecte CLOUD & DEVOPS
Veolia
1/2020 - 7/2021
Contexte : Mise en place et développement d'une solution de contrôle, de mise en
format, et d'intégration en masse des données des abonnés de Veolia dans le
système central de gestion des abonnements et des facturations, APIsation dans
AWS de la solution cœur de Veolia développée en Cobol et déployée dans Z/OS.
1 - Conception et mise en place de l’architecture de 3 projet:
â— Design:
â— Architecture sur AWS et sur GCP.
â— Choix des services et des outils en faisant des benchmarks.
â— Build:
â— Mise en place des architectures sur AWS et GCP avec Terraform.
â— Documentation des composants de l’architecture.
â— Run:
â— Déploiement continu des applications dans le Cloud AWS et GCP sur
trois environnements (Dev, Preprod, Prod).
2 - Mise en place d'une architecture CI/CD et de versionning du code:
â— Design:
â— Conception de pipelines CI/CD avec différentes étapes (build, test,
packaging, déploiement) et mise en place de webhooks pour la
connexion entre Jenkins et BitBucket.
â— Automatisation de la création de l'infrastructure dans AWS et GCP.
â— Build:
â— Configuration de pipelines dans Jenkins pour le CI/CD en utilisant un
Jenkinsfile qui lance le CI pour toutes les branches et le déploiement
uniquement pour les branches liées aux environnements (dev, preprod,
prod).
â— Mise en place d'une chaîne dans Jenkins pour le contrôle qualité du
code sur Sonarqube.
â— Run:
â— Déploiement continu des applications dans le Cloud AWS et GCP sur
trois environnements (Dev, Preprod, Prod).
3 - Mise en place des infrastructures (IAC) AWS et GCP de manière automatisée via
Terraform:
â— Design:
â— Conception de l'architecture des différents services GCP et AWS et
établissement de la connexion entre ces services.
â— Services AWS utilisés : Lambda, API Gateway, S3, DynamoDB, Kinesis,
IAM, Secret Manager.
â— Services GCP utilisés : App Engine, BigQuery, Cloud Task, Datastore,
Storage, Secret manager, Cloud Scheduler.
â— Build:
â— Développement des scripts Terraform en tant que code infrastructure.
â— Mise en place de la connexion entre les services AWS et GCP.
â— Run:
â— Déploiement continu de l'infrastructure avec Jenkins.
â— Gestion des secrets dans Secret Manager.
4 - Conception et mise en place d'un API pour un backend basé sur une solution
Cobol déployéedans Z/OS, accessible via des appels HTTP REST:
â— Design:
â— Conception de l'architecture des différents services GCP et AWS et
connexion entre ces services.
â— Services GCP utilisés : App Engine, Big Query, Cloud Task, Datastore,
Storage, Secret manager, Cloud Scheduler.
â— Build:
â— Mise en place d'une architecture dans AWS basée sur API Gateway,
Lambda, S3 pour exécuter le code développé en Python via Chalice.
â— Développement de l'API en Python et Chalice en utilisant Lambda.
Communication entre BigQuery et S3 pour l'importation de données
depuis S3 vers BigQuery.
â— Enregistrement des logs dans Cloud Watch.
â— Communication entre l'API développée et une autre API déployée sur
Apigee pour gérer les habilitations et les rôles des utilisateurs.
â— Développement et automatisation des tests unitaires des fonctions en
utilisant Pytest.
â— Run:
â— Intégration des contrats gagnés par Veolia (contenant la liste des
abonnés) dans deux systèmes : l'un pour la facturation et la gestion des
abonnements, et le second pour la gestion de la relation client
(Salesforce).
5 - Développement et déploiement de la solution d’automatisation de l'intégration
des données en masse dans un backend basé sur une solution Cobol déployé dans
Z/OS.
â— DESIGN:
â— Choix des services et de la Stack à utiliser pour le développement.
â— Définition des étapes préalables à la mise en place de l'intégration en masse.
â— Définition des différents services de la solution et la communication entre ces
services.
â— BUILD:
â— Développement d'un API Backend basé sur Flask et déployé sur App Engine.
â— Création d'un service Handler pour gérer les requêtes nécessitant un temps
d'exécution important.
â— Établissement de la communication entre le backend et le handler via
l’utilisation de Cloud Task
Développement des fonctions de contrôle de données en masse,
configurables en Python.
â— Création de scripts SQL sur BigQuery pour le formatage des données.
â— Gestion des statuts de l'intégration et des utilisateurs/Rôles/Habilitations.
â— RUN:
Intégration des contrats remportés par Veolia (contenant la liste des abonnés)
dans deux systèmes distincts : l'un pour la facturation et la gestion des
abonnements, et l'autre pour la gestion de la relation client (Salesforce).
Environnement Technique : AWS, Lambda, API Gateway, IAM, Kinesis, GCP, BigQuery,
Datastore, Cloud Task, KMS, Secret Manager, App Engine, Jenkins, Terraform,
Python, Chalice, Javascript.
INGÉNIEUR Cloud & DEVOPS
QUINTEN
6/2018 - 12/2019
Contexte : Déploiement automatique des environnements sur AWS, et mise en place
de la chaîne CI/CD ainsi que le support des équipes dev.
1 - Mise en place d’une architecture de CI/CD et de versionning du code:
â— Cahier des charges:
â— Pour faciliter la collaboration, création de deux instances Gitlab (France
et Maroc) avec un fichier Gitlab-CI partagé.
â— Design:
â— Proposition d’architecture avec deux instances de Gitlab (France en
local et Maroc chez OVH), et deux déploiements continus pour les deux
instances dans le même fichier Gitlab-CI.
â— Build:
â— Mise en place d'un Gitlab dans Docker pour le versionning du code dans
un subnet privé protégé derrière Nginx.
â— Implémentation d'un mécanisme de CI/CD avec Gitlab-CI.
â— Run:
â— Déploiement continu des applications avec Gitlab Runner et Docker sur
un serveur OVH.
2 - Mise en place d’une infrastructure AWS de manière automatisée via Terraform:
â— Design:
â— Définition des différents composants de l’architecture.
â— Association de chaque composant au service AWS approprié.
â— Build:
â— Création des scripts Terraform.
â— Élaboration des playbooks ANSIBLE.
â— Ru...