Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Gestion de projets/MOA > DevOps - Mise en œuvre de l'usine logicielle avec des solutions Open Source

DevOps - Mise en œuvre de l'usine logicielle avec des solutions Open Source

Démarche et outils

Les interactions entre les équipes de développement et les équipes opérationnelles sont souvent assez problématiques. Et les nouveaux enjeux de déploiement continu ainsi que la montée en puissance des méthodologies agiles viennent encore amplifier les difficultés qui peuvent exister. La démarche DevOps propose, sur les plans technique comme opérationnel, des solutions visant précisément à faciliter les échanges, l'agilité et la collaboration entre ces deux types d'équipes qui ont un objectif commun : délivrer un service de qualité de façon fiable en répondant à des besoins de changement permanents, pour diminuer les délais entre l'expression du besoin utilisateur et la mise en production d'une nouvelle version de l'application.

Objectifs

  • Pouvoir identifier les problèmes liés à la communication inter-équipes
  • Savoir mettre en place des objectifs d'équipe communs
  • Être en mesure de former les développeurs aux opérations de production
  • Comprendre comment standardiser les livrables en accord avec les équipes
  • Savoir automatiser le provisionnement des environnements
  • Maîtriser l'automatisation des déploiements applicatifs
  • Disposer des compétences nécessaires à la mise en œuvre d'un monitoring applicatif

Public

  • Développeurs
  • Architectes Techniques
  • Administrateurs Systèmes et Réseaux
  • Chefs de projet

Prérequis

  • Connaissance des services IT

Programme de la formation

1) La problématique DevOps

  • Ce qui a changé : la Digital
  • Les différents métiers, du DEV à la PROD (MOA/MOE, Développeurs, Opérationnels)
  • Les divergences entre les équipes de développement et les équipes opérationnelles
  • Les sources de conflits entre équipes (déploiement, technologies mises en œuvre...)
  • DevOps, les pratiques C.A.L.M.S. (Culture Automation Lean Measurement Sharing)
  • DevOps vs automatisation
  • Les "5C" de DevOps
  • DevOps et l'agilité
  • La valeur de DevOps

2) La virtualisation des environnements

  • Présentation des différents types de virtualisation
  • Présentation de Vagrant pour faciliter la gestion des environnements de développement
  • Présentation de Docker pour faciliter la gestion des socles
  • Docker et les solutions d'orchestration de conteneurs (Kubernetes, Swarm, Mesos)
  • Docker, retour d'expérience et bonnes pratiques
  • Ateliers : Installation et paramétrage de Vagrant - Installation et paramétrage de

3) Le Cloud et la virtualisation

  • Les apports des infrastructures Cloud, PaaS et IaaS
  • Les apports de la virtualisation hardware
  • Les nouveaux outils de virtualisation
  • Atelier : Prise en main de la plate-forme Cloud Microsoft Azure

4) Industrialisation des déploiements

  • Standardisation des livrables
  • Mise en place d'une usine logicielle et de l'intégration continue
  • Standardisation du provisioning
  • Exemple d'usine logicielle
  • Ateliers : Installation paramétrage et mise en œuvre de Jenkins

5) Automatisation du provisionnement des environnements

  • Définir un processus commun et répétable
  • Présentation des alternatives (Dockerfile, Puppet, Chef, Ansible, Salt)
  • Comparatif des outils de provisionnement
  • Ateliers : Mise en œuvre de Docker Compose

6) Automatisation des déploiements applicatifs

  • Présentation des options (Capistrano, Fabric, Ansible, Salt)
  • Gérer les évolutions de base de données avec Liquibase
  • Ateliers : Installation et paramétrage d'Ansible

7) Monitoring applicatif

  • Centralisation des logs applicatifs (ElasticSearch - Logstash - Kibana)
  • Définition du plan de monitoring
  • Ateliers : Mise en œuvre d'ELK (ElasticSearch - Logstash - Kibana)

8) Collaboration entre les équipes

  • Les types d'organisations possibles
  • Prise en compte des user stories de production
  • Organisation de cérémonies communes
  • Coopération sur les choix techniques
  • Outils de communication issus de la démarche ChatOps (Hubot, Lita...)

9) Retour d'expériences

  • La transition DevOps
  • Ateliers : Moment d'échanges et séance de Questions/Réponses

Les + de cette formation

L'apprentissage par la pratique intensive : la majeure partie de la formation est consacrée à la mise en œuvre des outils open Source dans une démarche DevOps. Un cursus très concret durant lequel s'alternent les phases d'apports théoriques, d'échanges, de partage d'expériences et d'ateliers réalisés au travers d'un cas pratique "fil rouge". Chaque chapitre abordé est mis en œuvre et appliqué concrètement à travers un outil Open Source, ce qui favorise un ancrage immédiat des acquis et une meilleure appréhension des sujets traités. Les ateliers constituant le cas pratique "fil rouge" reposent sur la mise en œuvre des outils Open Source DevOps sur une application existante fournie aux stagiaires. Cette application Web développée selon les derniers standard (Front-End an Angular et Back-End en micro-services) amèneront progressivement les participants à développer une application de gestion de contacts. Durant la formation, les participants sont amenés à installer, configurer et utiliser les principaux outils tels que : Vagrant, Docker, Jenkins, Ansible, Sonar et ELK (ElasticSearch - Logstash - Kibana).