Introduction au DevSecOps, Culture Management et Considérations stratégiques Considérations générales sur la sécurité IAM : Gestion des identités et des accès Sécurité des applications Sécurité opérationnelle Gouvernance, Risque, Conformité et Audit Journalisation, surveillance et réponse
Introduction à l’administration Azure Mise en œuvre et gestion réseau dans Azure Mise en œuvre des machines virtuelles Configuration et mise en œuvre du stockage Azure AD Gestion centralisée et automatisation avec Azure Azure DevOps
Introduction à AWS Basics Introduction et automatisation avec CloudFormation Introduction à AWS CodeCommit, CodeBuild et CodePipeline Introduction à la gestion et à l’optimisation des couts dans AWS
Ansible Essentials : Simplicity in Automation (By RedHat) Deploying Containerized Applications Technical Overview (by RedHat) Introducing Spring Boot Introduction to Docker for Java Developers Java Design Patterns and Architecture Learn Microsoft Azure : The complete introduction Spring Framework And Dependency Injection Docker Technologies for DevOps and Developers Learn Kubernetes from a DevOps guru Master Jenkins CI For DevOps and Developers
Introduction à Docker : création des images Docker en utilisant des Dockerfiles Utilisation et création d’un docker-compose pour la Stack (Php, Wordpress, MariaDb) Utilisation et séparation des différents Network à l’aide de docker-network Introduction à l’orchestration des conteneurs Docker avec Docker Swarm Administration de Red Hat OpenShift I (DO280) - By Red Hat Le cours Administration de Red Hat OpenShift prépare les administrateurs système à installer, configurer et gérer la solution Red Hat OpenShift Container Platform. Cette offre PaaS de Red Hat fournit des environnements de déploiement prédéfinis pour les applications en tous genres via l'utilisation de la technologie de conteneurs.
Introduction de l’intégration continue, des outils Devops, utilisation d’une plateforme d’intégration et déploiement continue afin d’utiliser un pipeline complet (de la phase développement jusqu’à la production)
• Mise en place de l’architecture du projet HAPI ( Event Driven ) • Mise en place d’une VM pour héberger minio en mode gateway vers S3 • Mise à disposition de l’infrastructure via cloudformation ( EC2, VPC, Lambda, S3, Api Gateway, ELB, RDS mysql )
• Mise en place et configuration des machines bastions pour établir une connexion privée sur la VM minio • Mise à disposition des job Jenkins pour construire le projet HAPI-ETL et HAPI-BI Environnement technique : AWS VPC, IGW, Subnet, Route Table, NACL, EC2, Lambda, Api Gateway, S3, ACM, SSM,… Jenkins, Gitlab, Docker, Minio, OpenSSL, Keytool
Projet : ATLAS
• Etude des solutions cloud ( AWS, Azure, GPC ) pour la migration du cluster Openshift sur K8S • Mise en place de l’architecture du cluster EKS ( VPC, Route Table, NACL, IGW, … ) • Mise en place d’un cluster EKS via eksctl • Création des templates CloudFormation pour automatiser les déploiements sur AWS et le provisionning des différents services EKS ( MetricServer, Traefik, Kubernetes UI, Let’sEncrypt, Calico, Prometheus, Grafana, … ) • Mise en place et configuration des machines bastions pour établir une connexion privée sur les nœuds EKS • Migration du patrimoine applicatif existant sur Openshift sur EKS • Migration des templates Openshift à Helm et automatisation du déploiement des différents services. • Migration des pipelines Jenkins • Cablage du cluster EKS avec CloudWatch et CloudTrail pour Auditer les actions sur le cluster • Création et mise en place de l’offre KubernetesAsAService
• Etude et mise en place de la solution Openshift en mode SaaS ( Openshift Online ) • Etude et mise en place du socle applicatif de l’application MyESN ( MicroService Spring Boot, BDD MongoDB,
• Etude et mise en place de la Software Factory ( Sonatype Nexus 3, SonarQube, Jenkins, GitLab, GitLabCI, ..) • Configuration des Objets Openshift ( PO, CM, DC , ROUTE , SVC, SA, ...) • Industrialisation du déploiement des objets Openshift via les templates Openshift ( SonarQube, Nexus, Jenkins, Minio ) • Etude et mise en place d’une solution de génération de certificats ( Openshift-Acme ) • Mise en place des templates GitLabCI pour le Build • Mise en place des pipeline Jenkins pour la construction de l’image via Openshift • Développement d’un générateur de projet MicroService pour le BackEnd avec Maven Archetype • Mise en place et industrialisation de KeyCloak sur Openshift • Etude et mise en place de Minio • Déploiement et gestion de base de données mongoDB sur Openshift • Gestion des certificats applicatifs • Mise en place des services Prometheus / Alertmanager et configuration des PromQL • Mise en place des dashboards Grafana en utilisant Prometheus • Former les équipes Devops • Mise en place d'un service SMTP Relay sur du CaaS • Etude et POC des architectures des projets • Accompagnement projet sur les migrations Legacy vers Openshift • Développement des briques techniques (Absence, Cra, Contrat, Notification) • Développement d’un générateur de projet (Maven Archetype) • Création d’une image Docker générique pour les projets Spring Boot • Création d’une image Docker générique pour les projets NodeJS
• Configuration des Objets Kubernetes ( PO, CM, DEPLOY , ING, SVC, SA, ...) • Étude et mise en place du POC Hashicorp Vault, Consul-Template. • Mise en place des sidecars Consul-template pour récupérer des données depuis Vault • Étude et mise en place du POC Helm • Création des Charts Helm pour rendre générique l’utilisation des objets K8S • Création et configuration des Jobs Jenkins pour automatiser les déploiements • Gestion des certificats applicatifs • Migration des jobs Jenkins vers des Pipelines • Création des SharedLibs Jenkins • Mise en place des services Prometheus / Alertmanager et configuration des PromQL • Mise en place des dashboards Grafana en utilisant Prometheus • Mise en place d'un mécanisme de migration Elasticsearch en se basant sur elasticdump et les jobs K8S • Automatisation du provisionning des dashboards kibana • Automatiser l'unseal de Vault et la configuration du backend Kubernetes de Vault • Mise en place des security contexts de Kubernetes sur l'ensemble des deployments • Mise en place des networks policies afin de sécuriser les échanges inter et intra pod de Kuberentes • Former les équipes Devops - utilisation de Helm et best practice Devops • Mise en place d'un service SMTP relay sur du CaaS • Standardisation du déploiement avec Helm au sein de la BDF • Mise en place des Job Autosys pour automatiser certaines actions de production. • Création et mise en place des déploient du projet BI ( Dockerisation des application Rshiny + Helm ) • Etude et POC des architectures des projets • Accompagnement projet sur les migrations Legacy vers du CaaS / PaaS • POC Keycloak • Automatisation de migration de cluster K8S • Préparation migration de K8S vers Openshift • Gestion des objets OCP / K8S • Automatisation du déploiement de l’écosystème CEPH via Terraform et Helm, pilotage des migrations et des montées de versions des clusters via terraform
• Configuration des Objets Kubernetes ( PO, CM, DEPLOY , ING, SVC, SA, ...) • Accompagnement projet et aide à la migration vers du CaaS • Création et configuration des Jobs Jenkins pour automatiser les déploiements • Gestion des certificats applicatifs • Mise en place des services Prometheus / Alertmanager et configuration des PromQL • Mise en place des dashboards Grafana en utilisant Prometheus • Automatisation du provisionning des dashboards kibana • Former les équipes Devops afin d’integrer le projet ACC • Etude et POC des architectures des projets • Accompagnement projet sur les migrations Legacy vers du CaaS / PaaS • Automatisation de migration de cluster K8S • Préparation migration de K8S vers Openshift • Gestion des objets OCP / K8S
• Configuration des Objets Openshift ( PO, CM, DEPLOY , ING, SVC, SA, ...) • Accompagnement projet et aide à la migration vers de K8S vers Openshift • Création et configuration des Jobs Jenkins pour automatiser les déploiements • Gestion des certificats applicatifs • Mise en place des services Prometheus / Alertmanager et configuration des PromQL • Mise en place des dashboards Grafana en utilisant Prometheus • Automatisation du provisionning des dashboards kibana • Former les équipes Devops afin d’integrer le projet Mars • Etude et POC des architectures des projets • Accompagnement projet sur les migrations Legacy vers du CaaS / PaaS • Automatisation de migration de cluster Openshift • Gestion des objets OCP / K8S • Mise en place des template Openshift Environnement technique : VSCode Jenkins, Git, Wildfly, Docker, Kubernetes, Openshift, Helm, Minio, Hashicorp Vault, ELK, RHEL7, Gitlab, OpenSSL, Keytool; Prometheus, Grafana, Python, Angular
• Audit de l’infrastructure existante déployé sur Azure • Audit de l’infrastructure déployé sur Agarik (hébergeur de l’infrastructure de production) • Mise en place et organisation de l’infrastructure, découpage des groupes de ressource ( RG ), séparation des environnements. • Mise en place des normes de sécurités Linux sur les différentes VM ( seccomp, gestion utilisateur, flux réseau ) • Mise en place de l’architecture des réseaux privés virtuelles ( Vnet ) et sécurisation de l’existant • Transformation et migration de l’infrastructure actuelle vers de l’Infra As Code via Terraform • Déploiement des composants applicatifs via Ansbile pour pouvoir réutiliser l’existant • Mise en place des pipelines Azure DevOps pour automatiser • Mise en place d’un système de monitoring ( Prometheus / Grafana ) • Mise en place d’un système de gestion de log ( ELK ) • Scripting shell/bash pour le lancement interactif des déploiements en production • Découpage des taches projet • Pilotage de l’équipe projet (3 personnes) • Pilotage de l’équipe hébergeur (2 personnes) • Support en préproduction et en production & gestion des SLA • Mise en place d’une politique de reprise d’activité / politique de continuité d’activité
• Création des images docker générique. • Création d'environnement Openshift • Configuration des Objets Openshift/ Kubernetes ( POD, CM, DC, BC , QUOTA, ...) • Administration de la plateforme Openshift 3.5 • Administration de SCM Manager et de Gitlab • Etude et mise en place des Pocs applicatifs. • Etude des différentes solutions de caching (Varnish, Memcached, Squid) • Élaboration et mise en place de l’architecture du caching API Varnish pour l’ensemble des Backends • Configuration de Varnish. • Configuration des Pods Varnish (DC, Pods, BC, PV, PVS, SVC, Routes, ….) • Création des Jobs Jenkins pour automatiser le déploiement avec Openshift • Création d’un script Shell pour automatiser la recherche et le téléchargement des jars sources d’un projet donné • Création des templates Openshift pour automatiser la creation des projets • Etude sur les outils de provisioning et automatisation de déploiement (CA automic et XL Deploy) • Élaboration des jobs Jenkins. • Élaboration des scripts shell qui accompagne les images Docker. • Automatisation du lancement des commandes OC pour certaines opérations quotidiennes
• Maintenance Evolutive et Corrective de l’application Cap Santé • Analyse et développement en respectant les normes et les bonnes pratiques JAVA • Analyse et paramétrage des composants applicatifs et développement des évolutions souhaitées • Identification et correction d’anomalies • Assurer la maintenance évolutive et corrective • Assurer les tests unitaires JUnit, Mockito • Analyse de performance (robustesse, fuite de mémoire). • Assurer et corriger les tests de non régression. • Etude sur les outils de provisioning et automatisation de déploiement. • Mise en place de ansible sur les Vm de déploiement. • Intégration Continue et déploiement continue utilisant Jenkins • Code review, merge, releasing et tag des branches git. • Configuration des environnements de test ( Provisionning des VMs Vagrant ) • Élaboration des scripts Ansbile pour automatiser le déploiement. • Élaboration et configuration de XL Deploy pour automatiser le déploiement. • Etude sur les outils de provisioning et automatisation de déploiement (Ansible, Puppet, Chef et XL Deploy) • Développement d’un outil de reporting qui fait l’analyse des résultats des tests de non régression JAVA, POI. • Suivi des anomalies et de leurs corrections. • Élaboration des plans Jenkins. • Élaboration des scripts Ansbile pour automatiser le déploiement des applicatifs (application web + batch + configuration). • Élaboration et configuration de XL Deploy pour automatiser le déploiement. • Automatisation de création des plans Jenkins (Utilisation de Jenkins CLI) • Tests unitaires avec JUnit 4. • Tests de performance robustesse JMeter, JVisualVM • Tests de fuite de mémoire JMeter, JvisualVM
• Création des outils SDLC • Développement d’un outil générateur de graphe de dépendances entre les composants et d’une suite de rapport à partir d’une base de code. • Développement d’un outil qui permet de mettre à jour l’ensemble des parents des composants à partir d’une base de code local. • Création et Elaboration des plugins Maven, Profiles Parent afin d’assurer l’automatisation de génération de la documentation Asciidoc. • Création des projets de documentation Asciidoc pour l’ensemble des composants + Automatisation de génération de certaines parties pour des composants donnés. • Administration système et Exploitation, Haute Disponibilité de l’application, automatisation de création de plan Bamboo / Jenkins. • Intégration Continue Bamboo / Jenkins (Releasing + Intégration Continue). • Code review (vérification des pom.xml, des dépendances cycliques) • Exécution des tests SonarQube. • Encadrement des nouveaux Stagiaires PFE. • Développement d’un outil avec JAVA utilisant le Framework Spring (Core, Boot, Data), et les bibliothèques Apache POI, SvnKit, Eclipse Aether et Sonatype Nexus. • Développement front avec AngularJS, HTML 5, CSS 3 (Bootstrap, Bootstrap UI). • Développement d’un plugin Maven avec JAVA utilisant les annotations et API Mojo de Maven qui permet de compléter l’exécution du plugin asciidoctor-maven-plugin. • Développement d’un plugin Maven avec JAVA utilisant les bibliothèque Eclipse Aether et Sonatype Nexus pour la résolution des artéfacts. • Développement d’un Bundle OSGI utilisant JAVA qui permet d’injecter un Set de propriété d’un fichier de configuration externe dans les variables système du conteneur • Création d’un script Shell qui permet d’automatiser la création des plans Bamboo à distance utilisant les bibliothèques Bamboo Cli • Mise à jour du script Ansible qui permet de démarrer et d’installer les différents environnements en parallèle. • Création d’un script qui permet de faire le releasing des projets non-mavenized utilisant Apache Ant • Tests unitaires avec JUnit 4.
• Mise en place et Customisation de l’outil Atlassian JIRA. • Développement et personnalisation des vues clients. • Développement d’un plugin de Reporting qui permet d’analyser les tickets dans une durée temporelle selon un état donné. • Développement de plusieurs requêtes SQL qui permettent d’identifier les nettoyages à faire dans l’environnement actuel. • Développement des scripts journaliers qui permettent d’automatiser les nettoyages effectués. • Mise en place et configuration de l’outil Graylog. • Création des scripts de vérification des comptes Utilisateur Unix et des failles de sécurité. • Recueil des besoins • Etude des différentes versions de JIRA existante. • Etude des solutions de Gestion et de centralisation des logs. • Identification des besoins et extraction des informations sensibles pouvant être filtré par l’outil de centralisation des logs. • Conception et modélisation avec UML (diagrammes des cas d’utilisation, diagrammes de classes, diagrammes de séquences) • Développement d’un plugin JIRA utilisant JAVA, le Framework Spring et Atlassian SDK • Personnalisation des vues de JIRA utilisant JSF, WebWork, Velocity, JS et CSS • Mise en place et configuration de l’application Atlassian JIRA sur le serveur • Mise en place et configuration de l’application de centralisation de log Graylog, Configuration du serveur ElasticSearch, Configuration du serveur MongoDB, Configuration des Agents Graylog pour collecter les données. • Elaboration des requêtes SQL Oracle sur la base de données de JIRA • Création d’un Script Shell qui permet d’exécuter plusieurs requêtes SQL de filtrer et de formater le résultat obtenu et l’envoyer par Mail • Création d’un script Shell utilisant Expect, et Awk pour identifier et tester les infractions de sécurité suite à des mots de passe faible. • Tests de non régression et test fonctionnel de JIRA
• Développement d’une application web et de gestion des news. • Développement d’une bibliothèque JS Spécifique pour la gestion d’un Agenda Culturel. • Développement d’une application Android pour la visualisation du flux de news. • Mise en place de l’environnement (configuration du VPN OVH, installation et configuration des services httpd) • Mise en place du serveur d’application Tomcat 7 • Détection et envoi d’alerte Espace Disque Faible • Développement front avec AngularJs, HTML 5 et CSS 3 • Développement d’une application web avec JAVA utilisant le Framework Spring (Core, MVC, Security, Data) • Création d’un script Shell qui permet d’effectuer des vérifications sur l’espace disque utilisé du serveur et envoyer des alertes en cas de dépassement d’un certain seuil.