PLB CONSULTANT : 01. DevOps : démarche et outils
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
À l’issue de cette session, chaque stagiaire bénéficiaire sera contacté par un prestataire choisi par l’Opco Atlas afin d’évaluer « à chaud » la qualité de la formation suivie.
Prix
Public
Développeurs, Architectes, Chef de projet, Responsable et acteur de la DSI, décideur
Pré-requis
Avoir une connaissance des services IT.
Une expérience sur un projet informatique est souhaitable (développement, intégration, exploitation…)
Objectifs pédagogiques
- Comprendre les principes et les bénéfices du mouvement DevOps
- Appréhender les enjeux du DevOps dans une organisation
- Connaître les éléments constitutifs d’une usine logicielle DevOps
- Identifier les principaux outils de gestion de configuration
- Identifier les étapes de mise en œuvre de la démarche, incluant l’anticipation des risques
Programme détaillé
Cette formation ne se substitue pas aux formations spécialisées sur les technologies DevOps comme Git, GitLab, Maven, Jenkins, Docker, Kubernetes, Ansible, etc. L’objectif principal de cette formation est de comprendre la complémentarité de tous ces concepts et outils à travers des exemples concrets de livraison d’applications, de mise en production et de maintenance sous une forme « moderne » et performante. Chaque outil et sa configuration ne seront donc pas abordés en détail mais le formateur propose des ateliers pratiques corrigés que chacun pourra mettre en œuvre avec ou sans personnalisation selon ses objectifs.
Jour 1
Principes du mouvement DevOps
L’argumentaire et les principes DevOps
Impacts sur les services informatiques, sur les profils recherchés
Limites de l’approche et risques lors d’une transition brutale
Gestion des risques et mise en place progressive
Équilibre entre rigueur et agilité
Intégration/Livraison et Déploiement continus, Chaîne de production logicielle (Build, Deploy, Run)
Contraintes sur l’infrastructure DevOps : Zero-downtime, Monitoring, Scaling
Les alternatives : Infrastructure as Code – Orchestrateurs de conteneurs – Serverless - Déploiement immuable (Principes et Bénéfices)
Pilotage de projet DevOps
Les acteurs d’un projet DevOps
Les méthodes agiles et leurs variantes, les besoins en terme de pilotage
Panorama des outils proposés, les solutions intégrées comme Gitlab ou Github
Souplesse des outils à travers les issues, milestones et labels
Travaux Pratiques
Mise en place projet DevOps dans Gitlab, Collaboration autour d’issues. Organisation de tableau de bord
Gestion des sources
Unique source de vérité, outils as Code, introduction à GitOps
Mission d'un SCM : Commit, Branches et Tags
Typologie des branches d'un projet. Workflows de collaboration, trouver le bon pattern pour votre équipe
Rappel des principales commandes Git
Pull et Merge Requests
Travaux Pratiques
Mise en place du dépôt de source dans Gitlab, création de Merge Request à partir des issues précédentes
Les outils de build
Caractéristiques et Apports d'un outil de build. Exemples
Automatisation, Reproductibilité, Gestion des dépendances
Build is Test. Typologie des tests. Intégration build avec les outils de test
Analyse statique de code, qualité et vulnérabilités. Mise en oeuvre avec SonarQube
Formats des artefacts, les dépôts d’artefacts, le processus de releasing
Travaux Pratiques
Adaptation cycle de vie Maven, Déploiements des artefacts dans Nexus (jar et images conteneurs)
Pipelines de CI/CD
Rôles de la plateforme CI/CD
Architecture Maître/Esclaves. Provisionnement des esclaves
Notion de pipeline. Historique des builds
Pipeline As code. L'exemple de Jenkins
Travaux Pratiques
Mise au point d'une pipeline CI scriptée (Jenkinsfile)
Jour 2
Virtualisation et gestion de configuration
Présentation des différents types de virtualisation, Cloud public, Cloud privé
Les besoins du provisionnement et IaaS
Présentation et comparaison des outils de gestion de configuration Chef, Puppet et Ansible
Les outils d’Hashicorp Vagrant, Packer, Terraform
Migration des schémas de bases de données avec Liquibase
Travaux Pratiques
Mise au point de configurations avec Vagrant et Ansible, Mise au point d’un playbook Ansible et intégration dans la pipeline CI
Containerisation
Les avantages de la containerisation, Docker et ses alternatives
Le format OCI, techniques de construction d’images, intégration dans le build
Usages de docker en développement, en CI/CD en production :
- Les principales commandes Docker
- Provisionnement des machines de build, pipeline de construction d’image
- DevOps/Container et micro-services
Travaux Pratiques
Définition et construction des images Docker d’un micro-services, intégration dans la pipeline CI
Orchestration de conteneurs : Surveillance continue et Mise à l’échelle
Rappels des contraintes DevOps sur l’infrastructure de production
Rôle et apports d’un orchestrateur de conteneurs
Kubernetes architecture du cluster, services techniques apportés, API Rest, le client kubectl
Les principales ressources applicatives : Deployment, Service, Pods
Déploiement, principes du roll-out, le roll-back, le scaling
L’écosystème Kubernetes : Helm, Ingress, Service Mesh, Prometheus/Grafana
Mise en place d’un monitoring continu
L’usage de Kubernetes dans une pipeline CD
Travaux Pratiques
Déploiement, roll-out, mise à l’échelle du micro-service précédent, Mise en place des outils de surveillance, intégration de kubernetes dans la pipeline CD