Objectifs de formation
A l’issue de cette formation, vous serez capable de :
- Identifier les origines et le rôle de la culture DevOps
- Décrire l'IaC (Infrastructure as Code) et son rapport au Cloud
- Identifier les outils d'automatisation et d'orchestration adaptés à la gestion des applications dans le Cloud
- Lister les bénéfices des technologies d'intégration et de déploiement continus
- Déployer une application sur plusieurs Clouds publics.
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
Avoir connaissance des concepts du Cloud, ainsi que les bases de l'un des trois grands "Cloud Providers" suivants : AWS, Azure ou GCP. Disposer de solides compétences en système / réseau et en Linux / Unix ; et idéalement, avoir suivi le cours CLOUD-MIGR "Les bonnes pratiques de la migration vers le Cloud".
Public concerné
Architectes systèmes et réseaux, architectes logiciel, développeurs ou ingénieurs systèmes.
Programme
Origine et définition de la culture Devops
Origine DevOps
- Les principes DevOps
- Les enjeux liés au Cloud
- Les impacts organisationnels
Pourquoi l'arrivée du DevOps ?
- Les bonnes pratiques issues du développement logiciel
- L'IaC (Infrastructure as Code)
- Le développement logiciel (Agilité, 12 facteurs, micro-services)
- Chaîne de production logicielle
- L'intégration, le déploiement et la livraison continus
Chaîne de développement logiciel
Gestion des sources
- Objectifs des outils de VCS / SCM (Version Control System / System Control Management)
- Terminologie (branches, tags, commits...)
- Comment gérer les branches ?
- Mettre en place un workflow de collaboration
- Exemple avec Git
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'une solution de VCS avec GitLab et manipulations
- Création de branche, merge, pull request, commit...
Outils de build
- Objectifs des outils de build logiciel
- Terminologie (artefacts, formats...)
- Comment gérer ses builds ?
- Tests, qualité, mesures...
- Mettre en place un outil de build avec SonarQube
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de SonarQube
- Lancement de build logiciel
- Rapport de build
CI/CD (Continuous Integration / Continuous Delivery)
- Objectifs des outils de CI/CD
- Concepts (pipeline, testing, historique, logs...)
- Architecture maîtres / esclaves
- Comment construire ses pipelines CI/CD ?
- Analyse du code, tests, build, livraison
- Mettre en place un outil de CI/CD avec Jenkins
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de Jenkins
- Intégration à GitLab
- Création de pipeline
IaC (Infrastructure as Code)
Automatisation
- Objectifs des outils d'automatisation
- Provisioning et infrastructure immutable
- Présentation des outils du marché
- Exemple avec Ansible
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'Ansible et déploiement automatisé d'un serveur
- Automatisation de l'installation de serveurs dans une architecture multi-tiers
Orchestration
- Objectifs des outils d'orchestration
- Provisioning d'architectures complexes
- Présentation des outils du marché
- Exemple avec Terraform
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de Terraform
- Déploiement d'une application multi-tiers sur 2 Clouds publics
CaaS (Container as a Service)
Conteneurisation
- Origine et apports des conteneurs avec Docker
- Concepts et architecture Docker
- Outils Docker : CLI, Dockerfile, Docker Compose
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de Docker
- Découverte de la CLI
- Création de Dockerfile
- Construction d'images Docker
- Création d'images d'une application multi-tiers
- Provisioning avec Docker Compose
Intégration Docker et CI/CD
- Apports de conteneurs dans une chaîne de développement logiciel
- Intégration de Docker à Jenkins, gestion des esclaves
- Pilotage des conteneurs de Docker build depuis Jenkins
- Gestion des artefacts sous forme d'images Docker
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre de Docker dans un pipeline CI/CD
- Création d'esclaves Docker dans Jenkins
- Build d'images Docker depuis le pipeline Jenkins
- Déploiement automatisé avec Docker Compose depuis Jenkins
Orchestration de containers CaaS
- Objectifs des outils d'orchestration de containers
- Présentation des outils du marché : Docker Swarm, Kubernetes...
- Architecture Kubernetes
- Présentation des ressources Kubernetes
- Présentation des concepts de mises à jour et de scalabilité des applications en micro-services
Exemples de travaux pratiques (à titre indicatif)
- Mise en oeuvre de Kubernetes en local
- Création des manifests de déploiement de l'application multi-tiers
- Mise à l'échelle de l'application
- Mise à jour de l'application
- Déploiement de l'application multi-tiers en Multi-Cloud
- Provisioning d'un cluster Kubernetes dans 2 Clouds publics
- Déploiement de l'application multi-tiers précédente dans les 2 Clouds publics
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.