Course objectives
Objectif opérationnel :
Savoir maîtriser les outils DevOps.
Objectifs pédagogiques :
À l’issue de cette formation Infrastructures Outils 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 distinctions entre les solutions de Cloud, la virtualisation et la containerisation
- Connaître les produits de gestion de configuration les plus utilisés et applicables pour le Cloud et la virtualisation
- Mettre en œuvre avec Jenkins et Docker
- Connaître l’offre de surveillance continue et de mise à l’échelle
- Faire ses premiers pas avec Kubernetes et ElasticStack.
Who is this course for?
Cette formation est destiné aux développeurs ou opérationnels désirant obtenir un profil full-stack.
À l’issue de ce stage, les participants auront une vision claire de la démarche DevOps et une première pratique des outils Open Source incontournables de ce domaine.
Prerequisites
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.
Programme
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, Équilibre entre rigueur et agilité Intégration/Livraison et Déploiement continu Contraintes sur l’nfrastructure DevOps : Zero-downtime, Monitoring, Scaling Chaîne de production logicielle Infrastructure as Code – Infrastructure immutable (Principes et Bénéfices) Introduction à GitOps
Gestion des sources
- Mission d’un SCM. Commit, Branches et Tags Typologie des branches d’un projet. Workflows de collaboration (GitFlow) L’exemple de Git. Revue des Principales commandes Pull et Merge Requests
Outils de build
- Caractéristiques et Apports d’un outils de build. Exemples Artefacts et formats utilisés Build is Test. Typologie des tests. Exemples d’outils Analyse qualité et métriques. Standard et mise en oeuvre avec SonarQube
Plateforme de CI/CD
- Rôles de la plateforme. Architecture Maître/Esclaves. Provisionnement des esclaves Notion de pipeline. Historique des builds Pipeline As code. L’exemple de Jenkins
Virtualisation et gestion de configuration
- Présentation des différents types de virtualisation, Cloud public, Cloud privé Automatisation du provisionning Présentation et comparaison de Vagrant, Terraform, Chef, Puppet Automatisation des déploiements applicatifs avec Ansible Automatiser la création des « templates » avec Packer Mise à jour des schémas de bases de données avec Liquibase
Containerisation
- Les avantages de la containerisation, l’outil Docker Le fichier Dockerfile Les principales commandes Docker Architecture micro-services et Docker Compose Containerd, CRI-O et norme CRI/OCI
Intégration continue et Containerisation
- Apports de Docker dans l’intégration continue Plugins Jenkins pour Docker Provisionnement des machines de build Plateformes d’intégration Déploiement des images Docker dans les dépôts d’entreprise
Mise à l’échelle, Surveillance continue et Mise à jour
- Principes de Kubernetes et liens avec Docker Concepts de nœuds, de cluster. Services techniques apportés : annuaire, répartition de charge… Mise à jour progressive de cluster, Retour en arrière Centralisation et gestion des logs applicatifs, l’approche d’ElasticStack (EFK) Introduction à HELM
Description de la formation DevOps
Traditionnellement, les équipes informatiques étaient cloisonnées. La communication entre développeurs et opérationnels était alors inexistante ou fortement entravée, ce qui conduisait à des difficultés lors des déploiements d’applications. L’approche DevOps essaie de gommer ces défauts afin de rassembler développeurs et opérationnels dans des équipes projet.
L’objectif principal de cette approche 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 fait 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, Puppet, Chef, Ansible, soit en termes de conteneur Docker.
L’approche Docker (la containerisation), permettant de rationaliser l’utilisation des ressources matérielles et de fusionner dans un livrable unique l’infrastructure et l’applicatif, présente d’énormes avantages dans l’approche DevOps. Cette solution Open Source a tendance à se répandre massivement dans les entreprises. 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, Kubernetes, Docker Swarm ou autres…
Cette formation Infrastructure Outils DevOps de trois jours fait un rappel sur les concepts fondateurs de DevOps et ses impacts sur l’organisation des services informatiques, puis présente les outils Open Source DevOps les plus utilisés actuellement et propose des ateliers associés.
Topics: DevOps

