IAC : CICD - Actia
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.
L’automatisation des tâches d’intégration, delivery et déploiement sont un enjeu important de ces mécanismes de provisionning.
Ce workshop vise à aborder l’ensemble de ces concepts vus au travers de différentes technologies : Terraform, Ansible, Docker et Gitlab.
A l’issu 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.
- +15ans d'expérience pour tous nos formateurs
- 5jours
À qui s’adresse cette formation "IAC : CICD - Actia" ?
Description de la formation "IAC : CICD - Actia"
-
Méthodes pédagogiques
- 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 (version électronique) sera remis à chaque participant comprenant les slides sur la théorie, les exercices.
-
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.
L’automatisation des tâches d’intégration, delivery et déploiement sont un enjeu important de ces mécanismes de provisionning.
Ce workshop vise à aborder l’ensemble de ces concepts vus au travers de différentes technologies : Terraform, Ansible, Docker et Gitlab.
A l’issu 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.
-
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 et d’infrastructure
- Utiliser terraform pour automatiser le déploiement de vos infrastructures
- Utiliser Ansible pour automatiser l’administration et le déploiement de votre couche logicielle
- Automatiser le déploiement d’une infrastructure complète via un Gitlab
-
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 peut être adapté en fonction de votre contexte : Google Cloud, Azure, VMWare. Contactez-vous pour que nous nous organisions
Provisioning applicatif
- Définition
- Limite du provisioning d’infrastructure / provisioning applicatif
- Quelles solutions techniques pour le provisioning 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
Git et les forges logicielles (Gitlab)
- Git un outil de gestion de configuration du code source de vos applications
- Différence et points communs entre Git et Github, Gitlab ou Bitbucket
- Travail collaboratif : les branches dans Git
- Pull request : merger le travail des différents collaborateurs
- Définir un Gitflow d’entreprise
- Les acteurs du build : makefile, maven, dockerfile, …
- Automatiser le build dans une chaine d’intégration continue
- Automatisation de la construction et livraison des artefacts via Gitlab (ou autre outil de CI)
Kubernetes : Rappels
- Présentation de Kubernetes : un orchestrateur de conteneur
- Kubernetes : déploiement sur un cloud public (AKS, EKS, GCP) ou cloud privé
- Architecture de Kubernetes
- Les différentes ressources de Kubernetes
- Helm : un package manager pour Kubernetes
- Livraison et déploiement d’un chart Helm
-
Tarif
Nous consulter