Les entreprises sont à la recherche de solutions conciliation innovation et stabilité. L’innovation est au cœur même de l’ADN des sociétés qui réussissent et la réalisation de cette dernière est étroitement liée à l’infrastructure IT. Pour preuve, les entreprises investissent massivement dans la digitalisation afin d’être plus performante et surtout répondre aux besoins sans cesse en évolution de leur client.
Afin de soutenir de besoins d’innovation, les services informatiques doivent redoubler d’effort et proposer de nouvelles méthodologies de gestion de projet. On a vu arriver l’agilité avec le SCRUM, qui permettait aux équipes de développement d’être plus efficientes et réactives aux besoins du client.
Néanmoins subsistait un dernier rempart, l’équipe Opérationnel, garante la stabilité et la sécurité du système d’information. Les Devs produisent plus vite mais les Ops ne déploient pas à la même fréquence que la production des livrables applicatifs.
C’est pour résoudre ce problème que le DevOps est né afin de rassurer les deux parties (Dev et Ops) sur le fait qu’elles peuvent collaborer de façon plus proactive et répondre conjointement aux défis liés à la livraison de l’application en continue. Deux concepts majeurs sont nés, la CI (Intégration Continue) et la CD (Déploiement Continu). Grâce à ces dernières les passages en production étaient plus sûres et les retours en arrières mieux gérés.
La CD pour son bon fonctionnement a besoin d’être automatisée afin de réaliser les tâches suivantes
- Provisionner l’environnement de test de façon automatique
- Installer les prérequis systèmes et applicatifs
- Installer l’application
- Vérifier le fonctionnement de l’application
- Patcher l’application
- Upgrader l’application
- Backuper l’application
Bien évidement l’ensemble de ces tâches de type Ops doivent être tracées et validées en amont de leur réalisation. Afin de garantir la stabilité du système, il fallait un outil qui nous permette de déclarer l’infrastructure et son état souhaité via des fichiers descripteurs, on appelle cela de l’Infrastructure As Code (IaC). Plusieurs outils existent sur le marché afin de répondre à ces problématiques de centralisation de la gestion de l’infrastructure, le plus connu étant Ansible (dont vous pourrez trouver une formation sur le site eazytraining.fr). Mais avant Ansible, les entreprises utilisaient d’autres technologies, en l’occurrence chef et puppet.
Après plusieurs années en tant que consultants, j’ai pu observer que de nombreuses entreprises utilisent encore Puppet, solution proposée par PuppetLabs qui nous permettra d’automatiser notre infrastructure.
A la fin de cette formation, vous serez capable d’automatiser votre infrastructure à l’aide de Puppet. Nous verrons les modules suivants :
- Pourquoi Puppet et quel est son lien avec le DevOps ?
- Prérequis, Architecture et Installation de Puppet Master
- Configuration de puppet et commandes de base
- Ecriture de manifests *.pp
- Variabilisation de nos déploiements avec les facts et les built-in variables
- Création de module afin de distribuer notre code
- Installation et configuration des agents Puppet et gestions de plusieurs environnements (Dev, Production)
Afin de mettre en œuvre nos infrastructures virtualisées de labs, Vagrant aura besoin d’un outil qu’il va piloter, et dans notre cas se sera Virtualbox, outil de virtualisation très connu et OpenSource. Virtualbox sera le socle qui hébergera nos infrastructures.
Cette formation est destinée :
- Aux développeurs
- Aux administrateurs systèmes et réseaux
- Aux managers et chef de projet IT
- Aux ingénieurs DevOps
Prérequis :
- Les bases sur linux et dans l’IT de façon générale
Durée de la formation : 4 Heures
NB : Cette formation est activement mise à jour
Formateur : Dirane TAFEN (Consultant et Instructeur dans le Cloud et le DevOps)