-
Filière :
DevOps & Infrastructure
-
Sous-filière :
DevOps
-
Référence
TF-OC
-
Durée
2 jours (14 h)
-
Prix par personne HT
Sur demande
Objectifs pédagogiques
- Connaître le fonctionnement et les cas d’usage de Terraform
- Comprendre les apports d’une solution d’orchestration et d’automatisation pour votre infrastructure
- Savoir mettre en œuvre les bonnes pratiques permettant d’optimiser son efficacité dans la gestion d’infrastructures avec Terraform
- Connaître et décrire les solutions tierces permettant d’enrichir ses outils d’Infrastructure as Code
Public cible
Cette formation s’adresse aux administrateurs, développeurs et architectes souhaitant apprendre à utiliser Terraform pour orchestrer leurs applications et piloter leurs workloads sur leurs infrastructures virtuelles ou Cloud.
Pré-requis
- Connaissances de base de l’administration d’un système Unix/Linux
- Connaissance des architectures cloud et plus particulièrement des spécificités des acteurs du marché (Azure, AWS, GCP)
Modalités d’évaluation
L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.
Programme de la formation
Jour 1
Introduction à l’Infrastructure As Code
- Objectifs de l’Infrastructure As Code
- Culture DevOps et IaC
- Philosophie d’une infrastructure immutable
- Infrastructure As Code – Les outils IaC
- Origine de l’automatisation
- Les apports d’une solution d’orchestration et d’automatisation
Les trois grandes familles de l’automatisation et leurs outils
- Outils de gestion des templates
- Outils d’orchestration
Outils de gestion de configuration
- Les solutions tierces
Travaux pratiques :
Démonstration autour des outils précédents sous forme de « tour d’horizon fonctionnel »
Introduction à Terraform
- Les principes fondamentaux de Terraform
- Présentation des autres outils d’HashiCorp
- Introduction au langage HCL de Terraform (HashiCorp Configuration Language)
- Le standard JSON
Travaux pratiques :
- Installation de Terraform,
- Introduction au langage Terraform
Présentation succincte de la plateforme de Cloud Azure
- Présentation des ressources de base Terraform sur Azure :
- Providers
- Ressources
- Variables
- Data-source
- Visualisation des ressources créées avec Terragraph
Travaux pratiques :
Déploiement de ressources sur Azure :
- Déploiement d’un serveur sur Azure
- Déploiement d’un serveur web sur Azure
- Déploiement d’un cluster de Serveurs Web sur Azure
- Déploiement d’un LoadBalancer sur Azure
Jour 2
Faciliter la réutilisation du Code Terraform
- Présentation du système de modules Terraform
- Présentation du Hub communautaire Terraform
- Création d’un module
- Gestion des Input
- Gestion des Output
Travaux pratiques :
- Création d’un module Terraform pour Azure
- Créer un module Terraform de gestion d’un cluster de Serveurs Web avec LoadBalancer frontal sur Azure
Terraform et Multi-Cloud
- Présentation succincte de la plateforme de cloud Google Cloud Platform (GCP)
- Présentation des ressources de base Terraform sur GCP
Travaux pratiques :
- Création d’un module Terraform pour GCP
- Créer un module Terraform de gestion d’un cluster de Serveurs Web avec LoadBalancer frontal sur GCP
Terraform : notions avancées
- Les conditions
- Les boucles
- Terraform et mise à jour de l’infrastructure sans interruption de service
- Bonnes pratiques
Travaux pratiques :
- Création d’un module de gestion des utilisateurs IAM sur Azure (boucle)
- Modification du module de Cluster WEB sur Azure pour ajouter la possibilité d’activer le monitoring Azure Monitor (condition)
- Mise à jour du cluster de Serveurs Web avec Terraform sans interruption de service
Utiliser Terraform en équipe
- Présentation du fichier « Terraform State »
- Partager le fichier « Terraform State »
- Protéger le fichier « Terraform State » des écritures concurrentielles
- Versionner le fichier « Terraform State »
- Best-Practice de gestion du Code Terraform en équipe
- Gestion des Secret dans Terraform
- Tester et valider le code Terraform
Travaux pratiques :
- Mise en place d’une solution de gestion du fichier « Terraform State » sur Azure
- Versionner et stocker le code Terraform sur Azure
- Mise en place d’un test automatique du code Terraform sur Azure
Programme mis à jour le