Terraform dans Azure Meetup 20/11/2018 DevCon #7 13/12/2018.

Slides:



Advertisements
Présentations similaires
#azurecamp 07 juillet 2015 Microsoft Azure Camp. #azurecamp 07 juillet 2015 Automatisation avec Azure Resource Manager Stéphane Goudeau Cloud Architect.
Advertisements

Retour d’expérience sur Azure Stack Fabien William
Subversion. 2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – La durée de vie du projet peut être longue : besoin de gérer.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
Formation ExtJS 1 Vendredi 21 aout 2009 – Villeurbanne – Société IZEO.
Guide de l'enseignant SolidWorks, leçon 1 Nom de l'établissement Nom de l'enseignant Date.
Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Présentation de Plone Gestionnaire de contenus. 2 Présentation de Plone à Toulibre Présentations Eric Bréhaut Développeur / Chef de projet Emmanuelle.
Ministère de l'Écologie, du Développement durable, des Transports et du Logement jEOLE 23 – 24 novembre 2011 eSML Laurent.
Date : 9/27/2016 Title : Introducing The Fedora Project and Live CDs_ by Chitlesh GOORAH
1 CoRFiLaC Ragusa, Regione Siciliana. Expérience de coopération transfrontalière pour la réalisation d’un network d’excellence.
Module 14 : Installation et configuration des services Terminal Server.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
NOTIONS INFORMATIQUES : RAPPEL
Créer un site web avec WordPress
PRESENTATION MODULE CAISSE Inclus dans le portail collaboration MEG.
Nouveautés Version 4.1 et mai 2017.
Les commandes externes
Programmez! DevCon #2 15-dec-2016
JAVA.
Thomas Hofer Secure-it Valais - 17 février 2017 HES-SO Sierre
Session de partage : l’autohébergement
Solutions EOLE pour les ENR
Système de vidéo surveillance
JT12-RSI mars 1999 Délégation aux systèmes d'information
PPE : Gestion de parc informatique
Présentation de l'association CENABUMIX
Un langage pour tous les lié
Centre Universitaire des Ressources Informatiques CURI-UH2MC
PowerShell sur Linux : pourquoi et comment ?
Programmation Impérative II
Séminaire EOLE Dijon octobre 2010
Fedora 26 Quelles nouveautés ? License CC-BY-SA.
Collecte de données CAPI
KeePass Introduction - Les services Conseils I6T.
- Comment changer le titre WebVPN
Réalisation d'agents de surveillance Zephir
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Support – info Sauvegarde des données locales des postes clients
Dossier d’inscription Nom de l’équipe
Ecole Informatique IN2P3
GENEVA SHOW CASE 28/04/15.
Windev.
Ubuntu + Mobile Loïc Minier 11/09/
Speed Presa Presents Le Jeudi 6 Juin 2017.
Mini projet Système Automatisme Modulaire
Notion De Gestion De Bases De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Un Projet IaaS ? Emmanuel Braux
Prise en main Emmanuel Braux Institut Mines Telecom / Télécom Bretagne
Sfaihi Yassine Rabai Fatma Aissaoui Walid
Package R Markdown: Un outil pour générer des pages html avec R Studio
Développement d’applications interactives
Integrated Business intelligence
Cloud Management Platform
Programmation Android Première application Android
Introduction à la démarche DevOps
11/16/2018 3:56 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Base de donnée de support
7 Contraintes d’intégrité en SQL
Serveurs d’applications
DevCon #2 15 décembre 2016.
Michel Jouvin Comité des utilisateurs 14 Mai 2007
Donnez votre avis ! Depuis votre smartphone, sur :
Aymeric Weinbach MVP Microsoft
Parcours vers l’adoption d’une méthode de prestation DevOps (Opérations de développement) Applications offertes sur le marché et applications de SPC.
Sauter dans les nuages …
13 – Contribuer sur Les ODD & nous
1ère liste : une personne doit réussir un des examens ci-dessous
Transcription de la présentation:

Terraform dans Azure Meetup 20/11/2018 DevCon #7 13/12/2018

Cellenza est un cabinet de conseil, d’expertise technique et de réalisation. Experts des technologies Microsoft et des bonnes pratiques agiles, nous intervenons sur toute la chaîne de valeur IT : conseil, développement d’applications, coaching, transfert de savoir-faire et formation.

Qui sommes nous MIKAEL KRIEF DevOps Technical manager chez Cellenza James Dumont Le Douarec Azure Solution Architect – Freelance @james_dld

Sommaire Introduction et présentation de Terraform Commencer avec Terraform dans Azure Quelques bonnes pratiques d’utilisation Terraform et DevOps avec Azure DevOps (a.k.a VSTS) Annonces HashiConf / What next dans la version 0.12

Pourquoi Terraform ? Langage simple HCL plus lisible que le JSON des ARM templates Supporte plusieurs fournisseurs (Azure, AWS, Google, OpenStack, ….) Sépare la planification de l’exécution (dry run) Support de la parallélisation des opérations Outil Open source, maintenu par une grande communauté Simple exécutable, multi plateforme (windows, linux, mac, ..)

Débuter avec TERRAFORM dans AZURE INSTALLATION sur POSTE Installer la dernière version de Terraform https://www.terraform.io/downloads.html  (+ mettre dans PATH) Installer Visual Studio Code et quelques extensions: Terraform (https://marketplace.visualstudio.com/items?itemName=mauve.terraform) Azure Account (https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account) AUNCUNE INSTALLATION Azure Cloud Shell pour l’exécutable de Terraform Azure Cloud Shell Editor pour éditer votre code CONFIGURATION de TERRAFORM Créer un service principal (ou app Registration) dans le Tenant ( Azure AD) et donner les droits sur la suscription Créer un fichier provider.tf avec vos informations de connexion obtenu ainsi que vos fichiers .tf avec les resources à provisioner.

Prerequis Azure

Provisionner vos resources Azure avec Terraform DEMO Provisionner vos resources Azure avec Terraform

Best Practices Terraform dans Azure

Bonnes pratiques (Terraform & Azure) Utiliser des remote backends →  les tfstates dans des Azure Storage Account Maîtriser les versions de Terraform, des providers et des modules à utiliser Utiliser les dépendance implicites Utiliser des modules (custom ou depuis le public registry https://registry.terraform.io ) Les template ARM qu’en cas de dernier recours  Lien vers les démos de ces bonnes pratiques : https://jamesdld.github.io/terraform/Best-Practice/  

Utiliser des remote backends Lien vers le LAB : https://jamesdld.github.io/terraform/Best-Practice/BestPractice-1/  Authentification avec une access key :  Authentification avec un Service Principal : 

Maîtriser les versions de Terraform, des providers et des modules à utiliser Lien vers le LAB : https://jamesdld.github.io/terraform/Best-Practice/BestPractice-2/  Version de Terraform Module Provider AzureRm

Utiliser les dépendances implicites Lien vers le LAB : https://jamesdld.github.io/terraform/Best-Practice/BestPractice-3/  Dépendances implicites et explicites

Utiliser des modules Création de vos modules stockés dans votre code Terraform Création de vos modules hébergés dans des repository Git (utilisation des tags ou branches) Utilisation des modules fournies dans le public registry https://registry.terraform.io/search?q=azure&verified=false 

Les template ARM qu’en cas de dernier recours Lien vers le LAB : https://jamesdld.github.io/terraform/Best-Practice/BestPractice-4/  Privilégier l'usage de resources Terraform natives Si la resources Terraform Azure n'existe pas, créer une feature request ici : https://github.com/terraform- providers/terraform-provider-azurerm/issues/new/choose Exemple d'appel de la resource :

Intégré Terraform dans un pipeline DevOps dans Azure DevOps (VSTS) DevOps et Terraform Intégré Terraform dans un pipeline DevOps dans Azure DevOps (VSTS)

CI / CD avec Azure DevOps La Build copie les fichiers Terraform en artefacts La pipeline exécute les actions : terraform init terraform plan Génération d'un tfplan ==> vérification manuel du plan généré 3.   terraform apply sur le tfplan généré lors du plan

News from HashiConf 18

Annonces Mise à jour dans le Cloud Shell Editor Toutes les announces HashiCorp : https://www.hashicorp.com/blog/hashicorp-product-announcements-at-hashiconf-2018 Partneriat avec Azure : https://azure.microsoft.com/fr-fr/blog/expanding-the-hashicorp-partnership/ Mise à jour dans le Cloud Shell Editor Nouvelles resources Azure dans le provider azurerm Azure Stack pris en compte Module Terraform dans le public registry Integration de Vault avec Azure AD et Azure Key Vault Integration avec Azure VM image Builder

What news in Terraform 0.12

Terraform 0.12 https://www.hashicorp.com/blog/terraform-0-1-2-preview

Merci À vous Tous

Resources Download: https://www.terraform.io/downloads.html Doc azure provider: https://www.terraform.io/docs/providers/azurerm/index.html Github azurerm: https://github.com/terraform-providers/terraform-provider-azurerm Doc modules: https://www.terraform.io/docs/modules/sources.html VSCode Extensions: https://marketplace.visualstudio.com/items?itemName=mauve.terraform https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account Public registry: https://registry.terraform.io/search?q=azure&verified=false Lien vers les démos : https://jamesdld.github.io/terraform/Best-Practice/