IaC FOAD
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 un enjeu important : il s’agit de la capacité de mettre en place rapidement les ressources nécessaires au déploiement de vos applications. Mais la notion de provisioning demeure assez vague et dépendante de votre contexte : On peut provisionner une instance de calcul, de l’espace de stockage, des règles de routage, 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, Packer, Docker et Gitlab.
A l’issu de ce workshop vous pourrez utiliser Terraform pour automatiser le déploiement d’infrastructures simple dans AWS, Ansible pour initialiser la couche logicielle sur vos infras, utiliser Packer pour créer des AMIs sur AWS, et enfin Gitlab comme usine logicielle pour intégrer ces différents types de provisionning dans une stratégie d’intégration continue (CI/CD)
Remarque : Ce workshop utilise AWS comme cloud provider et Gitlab comme forge logicielle. 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.
- +15ans d'expérience pour tous nos formateurs
- 4.5jours
À qui s’adresse cette formation "IaC FOAD" ?
Description de la formation "IaC FOAD"
-
Méthodes pédagogiques
- Composée à 80% de pratique, cette formation à distance, utilise des exercices illustrés, présentés et accomplis avec le formateur, et des exercices à réaliser en autonomie.
- Une journée 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).
- 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 (version électronique) sera remis à chaque participant comprenant les slides sur la théorie, les exercices. L'émargement, par demi-journée de présence se fera de façon numérique.
- Enfin, une attestation de formation sera envoyée si le stagiaire a bien assisté à la totalité de la session.
- En ce qui concerne le matériel informatique du stagiaire, 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.
-
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 un enjeu important : il s’agit de la capacité de mettre en place rapidement les ressources nécessaires au déploiement de vos applications. Mais la notion de provisioning demeure assez vague et dépendante de votre contexte : On peut provisionner une instance de calcul, de l’espace de stockage, des règles de routage, 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, Packer, Docker et Gitlab.
A l’issu de ce workshop vous pourrez utiliser Terraform pour automatiser le déploiement d’infrastructures simple dans AWS, Ansible pour initialiser la couche logicielle sur vos infras, utiliser Packer pour créer des AMIs sur AWS, et enfin Gitlab comme usine logicielle pour intégrer ces différents types de provisionning dans une stratégie d’intégration continue (CI/CD)
Remarque : Ce workshop utilise AWS comme cloud provider et Gitlab comme forge logicielle. 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.
-
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
- Administrateurs
- Chefs de projet
- Développeurs
-
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.
-
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.
-
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 EC2
- Utilisation 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 ci-dessus peut être adapté en fonction de votre contexte : Google Cloud, Azure, VMWare. Contactez-vous afin que nous nous organisions
Provisionning applicatif
- Définition
- Limite du provisioning d’infrastructure / provisionning applicatif
- Quelles solutions techniques pour le provisionning applicatif
- Packer : créer votre image (AMI)
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
- Définir un gitflow adapté à Terraform
- Utiliser Gitlab pour automatiser le déploiement d’une infrastructure
-
Tarif
Nous consulter