Objectifs de formation
A l’issue de cette formation, vous serez capable de :
- Décrire les principes et les bénéfices du mouvement DevOps
- Reconnaître les enjeux du DevOps dans une organisation
- Identifier les éléments constitutifs d'une usine logicielle DevOps
- Enumérer les principaux outils de gestion de configuration
- Identifier les étapes de mise en oeuvre de la démarche, incluant l'anticipation des risques.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Prérequis
Connaître les fondamentaux des principes Agile, Scrum, Lean et ITSM est souhaitable. Une première expérience en développement et/ou en production informatique est également recommandée.
Public concerné
Développeurs, lead développeurs, architectes techniques, administrateurs systèmes et/ou tout professionnel impliqué dans le développement et la fourniture de services informatiques, en vue d'améliorer la qualité de ces services.
Programme
Fondamentaux
Principes et bénéfices
- Les métiers de la DSI (Direction des Systèmes d'Information) : du développement au maintien en conditions opérationnelles
- Les développeurs vus par les administrateurs
- Les administrateurs vus par les développeurs
- Comment expliquer les conflits entre ces différentes équipes et le manque d'industrialisation actuelle ?
- Pourquoi parle-t-on de DevOps ? D'où vient ce modèle ? Qu'est-ce que le NoOps ?
L'impact du Cloud
- Rappels des définitions du Cloud
- Les 5 caractéristiques
- Les 3 modèles de services
- Les 4 modèles de déploiement
- Quels sont les impacts du Cloud sur l'organisation de la DSI ?
- Pourquoi le Cloud modifie-t-il l'organisation des administrateurs et des développeurs dans l'entreprise ?
- Quelles différences entre les applications Cloud Native et les applications héritées (legacy) ?
- Pourquoi l'automatisation est-elle nécessaire au Cloud ?
- L'impact sur l'interopérabilité
L'organisation DevOps
Fondamentaux et enjeux
- Pourquoi parle-t-on de culture DevOps ?
- Qu'est-ce qu'une organisation DevOps ?
- Est-ce uniquement lié aux outils ?
Démarche
- Comment évoluer vers cette organisation ?
- Quelles actions pour faciliter l'adoption des équipes IT à cette nouvelle architecture tout en maintenant l'infrastructure existante ?
- L'entreprise doit-elle faire évoluer ses compétences internes ?
- Faut-il acquérir de nouvelles compétences ?
- Définir l'organisation du projet pour réussir sa mise en oeuvre
La collaboration entre les équipes
- Que sont les "user stories" de production ?
- La notion de cérémonies communes
- Comment faire coopérer les équipes sur les choix techniques
- Les outils de communication associés : les ChatOps
DevOps et usine logicielle
Fondamentaux
- Pourquoi parle-t-on d'Assurance Qualité (QA) ?
- Qu'est-ce que l'Intégration Continue (CI) ?
- Qu'est-ce que la Livraison Continue (CD) ?
- Qu'est-ce que le Déploiement Continu (CD) ?
- Quelle adoption de ces pratiques dans les entreprises ?
Gestionnaire de code Git
- Pourquoi Git est essentiel ?
- Quels bénéfices ?
- Qu'est-ce qu'une branche ?
- Quels sont les risques dans l'usage des branches ?
- Existe-t-il des bonnes pratiques ?
Intégration et déploiement continus
- Les objectifs des builds
- Les dépendances des builds
- Les dépendances système
- Les dépendances de code
- Outils (gestionnaire de tâches, package manager)
- Les pipelines de déploiement
- Construction du logiciel
- Stratégie de tests
- Intégration continue
- Livraison continue
- Déploiement continu
DevOps et IaC (Infrastructure as Code)
Fondamentaux
- Qu'est-ce que l'IaC ?
- Quel lien avec la gestion de configuration ?
- Quels sont ses objectifs ?
- Quels sont les grands principes de l'IaC ?
- Comment peut-on y répondre et existe-t-il des bonnes pratiques ?
- Quel lien avec la démarche DevOps ?
IaaS (Infrastructure as A Service)
- Rappels sur les infrastructures IaaS et le SDDC (Software Definied Data Center)
- Quels éléments faut-il gérer dans ce type d'infrastructure ?
- De quels types de plateformes parle-t-on : Cloud Public ? Privé ? Hybride ?
- Quelle importance donner à la portabilité ?
- Le IaC peut-il favoriser cette portabilité ?
Présentation des outils IaC
- Quels sont les principes des outils d'automatisation actuels ?
- Qu'est-ce que la gestion de configuration ?
- Les exemples de Puppet, Chef et Ansible
- Qu'est-ce que le provisioning ?
- L'exemple de Vagrant
- Qu'est-ce que l'orchestration ?
- L'exemple de Terraform
- Existe-t-il des particularités entre les solutions du marché ?
- Comment les classer et quelles sont les fonctions attendues ?
- Existe-t-il des bonnes pratiques dans leur utilisation ?
- Comment implémenter ces outils dans votre infrastructure ?
Du développeur à l'administrateur
- Les outils du développeur pour l'administrateur ?
- Peut-on parler de qualité de l'infrastructure ?
- Doit-on utiliser des outils de versioning pour l'infrastructure ?
- Peut-on appliquer les modèles de CI/CD à l'infrastructure ?
DevOps
Tour d'horizon des outils d'une chaîne DevOps
- SCM (Software Configuration Management)
- CI (Continuous Integration)
- Deployment
- Cloud IaaS / PaaS
- Monitoring
- Database Management
- Repository / Management Package
- Configuration / Provisioning
- Release Management
- Logging
- Build
- Testing
- Containerization
- Collaboration
- Security
Réussir sa mise en oeuvre
- Par où commencer ?
- Adapter les outils à son développement
- Gérer la promotion des artefacts entre environnements
- Le cas des applications en monolithes
- L'orientation des applications vers les microservices et le Cloud Native
- Les spécificités des containers et Kubernetes
- Intégrer la sécurité et évoluer vers le DevSecOps
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation.