DevOps - Mise en oeuvre de l'usine logicielle avec des solutions Open Source
Développement
Objectifs
Les interactions entre les équipes de développement et les équipes opérationnelles sont souvent assez problématiques. La démarche DevOps propose, sur les plans techniques comme opérationnels, 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
A l’issu de la formation le stagiaire sera capable de :
- 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
Methodes et outils pédagogiques
- Alternance exposés théoriques et exercices pratiques (80% pratique)
- Support de cours adapté au logiciel étudié et au niveau suivi
- Assistance téléphonique gratuite et illimitée
Modalité d'évaluation
- Evaluation formative au travers de nombreux exercices tout au long de la formation permettant de valider les compétences acquises.
Attestation de stage. - Emargement quotidien d’une feuille de présence
- Possibilité de passage de la certification Tosa en fin de formation
Accessibilité aux personnes handicapées
Pour tout besoin d’adaptation, retrouver le contact de notre référent handicap et les modalités d’accueil sur la page : Infos pratiques/Situation de Handicap
Public concerné
Développeurs / Architectes Techniques / Administrateurs Systèmes et Réseaux / Chefs de projet
Pré-requis
Connaissance des services IT
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 oeuvre...)
- 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
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 Docker
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
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 oeuvre de Jenkins
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 oeuvre de Docker Compose
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
Monitoring applicatif
- Centralisation des logs applicatifs (ElasticSearch - Logstash - Kibana)
- Définition du plan de monitoring
- Ateliers : Mise en oeuvre d'ELK (ElasticSearch - Logstash - Kibana)
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...)
Retour d'expériences
- La transition DevOps
- Ateliers : Moment d'échanges et séance de Questions/Réponses
Travaux pratiques
- Pour chaque point du programme abordé :
Présentation et démonstration par le formateur, mise en pratique sur les fonctionnalités abordées par le stagiaire avec l’appui du formateur et du groupe, feedbacks du formateur tout au long de l’activité.