img

Formation DevOps : démarche et outils

L’objectif principal de l’approche DevOps est de délivrer un service de qualité, répondant à des besoins de changement permanents, tout en diminuant au maximum les délais entre l’expression du besoin utilisateur et la mise en production. Dans les faits, l’approche DevOps a des impacts sur le déploiement des applications. Au lieu de les déployer sur des infrastructures exploitée...

Bookmark 1 Intervenant 5 Inscrits

Objectifs

Objectif opérationnel :

  • Connaître les concepts fondateurs de DevOps, ses impacts sur l’organisation des services informatiques et les outils les plus répandus sur le marché.

Objectifs pédagogiques

  • À l'issue de cette formation DevOps, vous aurez acquis les connaissances nécessaires pour :
  • Comprendre la problématique d’industrialisation des déploiements et du provisionnement d’infrastructure
  • Connaître les apports, les enjeux et les atouts de l’approche DevOps face à ces problématiques
  • Savoir mettre en œuvre une usine logicielle DevOps
  • Connaître les produits de gestion de configuration les plus utilisés et applicables pour le Cloud et la virtualisation
  • Être capable de mettre en œuvre la démarche DevOps d’un bout à l’autre du processus en incluant notamment l'offre de surveillance continue, l’anticipation des risques et la mise à l’échelle

À qui s'adresse cette formation ?

Public concerné

  • Cette formation DevOps est destinée aux développeurs ou opérationnels désirant obtenir un profil full-stack en vue de développer et fournir des systèmes complets incluant l’infrastructure serveur et les applications s’y exécutant.
  • Elle intéressera également les chefs de projet et acteurs de la DSI cherchant à acquérir une vision claire de la démarche DevOps ainsi qu’une première pratique des outils Open Source incontournables de ce domaine.

Prérequis

  • Pour bien comprendre les apports de la démarche DevOps, ce cours requiert une précédente activité dans un service informatique, que ce soit au travers d'une expérience de développement, d’intégration, d’exploitation ou d’encadrement. Sans être indispensables, des notions préalables relatives à la conteneurisation seront utiles pour assimiler plus rapidement la rationalisation de l’utilisation des ressources matérielles au sein d’une usine logicielle DevOps.

Programme de la formation

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 œuvre 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

Projet final

L’objectif principal de l’approche DevOps est de délivrer un service de qualité, répondant à des besoins de changement permanents, tout en diminuant au maximum les délais entre l’expression du besoin utilisateur et la mise en production. Dans les faits, l’approche DevOps a des impacts sur le déploiement des applications. Au lieu de les déployer sur des infrastructures exploitées par des équipes opérationnelles, des équipes projets full-stack développent et fournissent des systèmes complets incluant l’infrastructure serveur et les applications s’y exécutant. La mise au point de l’infrastructure de production et son provisionnement automatisé font donc partie du développement de l’application. Elle est exprimée soit en termes de configuration de machine virtuelle, comme dans les outils Open Source Vagrant, Ansible, soit en termes d’images de conteneur Docker et Kubernetes. DevOps inclut également la livraison ou le déploiement continu, ce qui implique que les nouvelles infrastructures de production soient testées, surveillées, orchestrées et mises à l’échelle en permanence. Sur ces aspects, encore une fois, l’Open Source règne avec des produits comme Jenkins, Gitlab CI ou autres… Important, concernant cette formation : 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.

Nous couvrirons les cours suivants:

-.-

Sur 5.0

5stars
(90%)
4stars
(65%)
3stars
(49%)
2stars
(25%)
1stars
(15%)

Formations Recommandées

Mot Clés

Recherche

Nos Formateurs

Newsletter

Abonnez-vous pour plus informations.