Workshop IaC (Infrastructure as Code) – Terraform et Ansible
Si l’approche DevOps aime à rappeler que les personnes se situent au-dessus des process qui se situent eux même au-dessus des outils (« People over process over tools »), la capacité d’identifier les outils pour faire les bonnes tâches est un enjeu important dans la prise en main de cette démarche.
Le provisionning est la capacité de mettre en place rapidement les ressources nécessaires au déploiement de vos applications. Mais cette notion demeure assez vague et dépendante de votre contexte : On peut provisionner une VM, de l’espace de stockage, des règles de routage, etc, mais on peut aussi provisionner une base de données, un serveur web voire un environnement complet de supervision de logs.
Ce workshop vise à aborder l’ensemble de ces concepts vus au travers de différentes technologies : Terraform, Ansible et Gitlab. A l’issue de ce workshop vous maîtriserez les enjeux de l’approche Infrastructure As Code, au travers des outils Terraform et Ansible.
- %de travaux pratiques
- %de nos formateurs travaillent sur le terrain
- jours
À qui s’adresse ce workshop IaC ?
Description du worskhop IaC (Infrastructure as Code)
Présentation
Si l’approche DevOps aime à rappeler que les personnes se situent au-dessus des process qui se situent eux même au-dessus des outils (« People over process over tools »), la capacité d’identifier les outils pour faire les bonnes tâches est un enjeu important dans la prise en main de cette démarche.
Le provisionning est la capacité de mettre en place rapidement les ressources nécessaires au déploiement de vos applications. Mais cette notion demeure assez vague et dépendante de votre contexte : On peut provisionner une VM, de l’espace de stockage, des règles de routage, etc, mais on peut aussi provisionner une base de données, un serveur web voire un environnement complet de supervision de logs.
Ce workshop vise à aborder l’ensemble de ces concepts vus au travers de différentes technologies : Terraform, Ansible et Gitlab. A l’issue de ce workshop vous maîtriserez les enjeux de l’approche Infrastructure As Code, au travers des outils Terraform et Ansible.
_Remarque : Ce workshop utilise AWS comme cloud provider. Des adaptations peuvent-être envisagées pour utiliser des alternatives à ces outils (Azure, Google CloudPlatform, jenkins, …).
Il vous suffit de vous rapprocher de nous afin que nous réfléchissions ensemble à la configuration qui vous sera bénéfique._
Méthode pédagogique
La formation se compose de 75% de travaux pratiques (Mises en situation, débats, exercices). Le formateur alterne entre théorie et pratique ; chaque participant dispose d’un ordinateur sur lequel il réalisera les exercices proposés.
Une évaluation quotidienne de l’acquisition des connaissances de la veille est effectuée.
Une synthèse est proposée en fin de formation. Une évaluation à chaud sera proposée au stagiaire à la fin du cours.
Un support de cours sera remis à chaque participant comprenant les slides sur la théorie, les exercices et les corrigés de ces derniers. Une feuille d’émargement par demi-journée de présence est fournie en fin de formation ainsi qu’une attestation de fin de formation si le stagiaire a bien assisté à la totalité de la session.
Objectifs
- Maîtriser l’approche de l’Infrastructure as Code (IaC)
- Mettre en place Terraform pour provisionner vos ressources d’infrastructures
- Découvrir le provider AWS de Terraform
- Comprendre la notion de provisionning applicatif
- Utiliser Ansible pour automatiser l’administration et le déploiement de votre couche logicielle
- Automatiser le déploiement d’une infrastructure complète via une forge
Audience
- Administrateur
- Développeur
- Chef de projet technique
Pré-requis
Une connaissance de AWS est nécessaire pour suivre une petite partie de cette formation (exercice Terraform). Des rappels AWS seront néanmoins effectués au besoin. Aucun besoin AWS n’est nécessaire pour la partie Ansible.
Le formateur
Le formateur est un expert du domaine qui intervient sur le sujet depuis plusieurs années en formation mais aussi en conseil sur des projets d’envergures où DevOps et Agilité sont le quotidien.
Doté d’une grande qualité d’écoute, sa pédagogie et sa compétence technique vous permettront d’acquérir la fibre DevOps.
Le programme
Introduction
- Présentation de l’approche Devops et des pratiques CI/CD
- IaC : une composante essentielle de l’automatisation
- Le concept d’infrastructure immuable
- Tour d’horizon des différents outils d’automatisation : Terraform,
- Ansible, Puppet, Chef, … Cas d’usage de Terraform
Terraform
- Installation
- Configuration d’un projet Terraform
- Les modules
- Providers
- Ressources
- Plan d’exécution
- States et Remote States
- Graphe des ressources
- Utiliser la documentation officielle en ligne
Terraform et AWS
- Analyse du provider AWS
- Connection à AWS
- Les ressources EC2
- Création / Mise à jour / Suppression d’une instance EC2Utilisation des tags AWS
- Les ressources VPC : Le « Network Layer » d’AWS
- Mise en place d’un Security Group
- Interpolation de variables
- Déploiement d’une infrastructure complète (AWS ELB)
- Remarque : ce chapitre peut être adapté en fonction de votre contexte : Google Cloud, Azure, VMWare. Contactez-vous pour que nous nous organisions
Provisionning applicatif
- Définition
- Limite du provisioning d’infrastructure / provisionning applicatif
- Quelles solutions techniques pour le provisionning applicatif
Principes Ansible
- Origine d’Ansible
- Définitions et terminologie
- Les concepts
- Structure d’un projet Ansible
Playbook Ansible
- Ansible-playbook et les outils complémentaires
- Écriture de playbook et langage YAML
- Modules et tâches
- Variables, boucles, conditions
- Rôles et inclusion
Inventaire Ansible
- Définition
- Création d’inventaires simple
- Inventaires avancés
- Gestion de groupe
- Variables de groupe
- Variable de host
- Inventaire dynamique
Utiliser les rôles avec Ansible
- Présentation des rôles
- Pourquoi utiliser des rôles ?
- Comment architecturer son code avec des rôles ?
- Exemples de travaux pratiques (à titre indicatif)
- Création de rôles
- Intégration de rôles aux playbooks
IaC et Intégration continue
- Rappel de l’approche Devops / CICD
- Premiers pas avec une forge logicielle
- Coupler une forge à Terraform ou Ansible
- Utiliser Gitlab pour automatiser le déploiement d’une infrastructure
Tarif
2300 € HT
Formation à distance
Retengr vous permet aussi de suivre cette formation à distance, sous forme de classe virtuelle (6 participants maximum), avec un formateur expert sur le sujet. La formation se déroule via une connexion en visio conférence (ZOOM, GoogleMeet, Teams ou autres) et vous permet d’alterner théorie et pratique de façon accompagnée ou autonome, le tout dans le respect des objectifs pédagogiques et des évaluations des acquis.
Les émargements, évaluations, attestation de formation, remises des supports de cours et autres documents se feront en ligne.
En ce qui concerne le matériel informatique du participant, il est seulement préconisé un ordinateur et une connexion internet. Nous nous chargeons du reste.
Chaque participant se verra attribuer une Machine Virtuelle qui sera exécutée dans le Cloud d’Amazon. Il disposera alors de la puissance et des outils nécessaires pour le bon déroulement de la formation. Aucune installation de la part du participant n’est requise avant la formation.
Une journée type de formation à distance se décompose de la façon suivante :
Matin :
- 2h de théorie en visioconférence
- 10 à 15 minutes de présentation d’exercices en visio
- 1h de TP en autonomie avec possibilité de solliciter le formateur (partage d’écran à distance pour une assistance efficace).
Après-midi :
- 2h de théorie en visioconférence
- 10 à 15 minutes de présentation d’exercices en visio
- 1h de TP en autonomie avec possibilité de solliciter le formateur (partage d’écran à distance pour une assistance efficace).