SlideShare une entreprise Scribd logo
1  sur  15
Cabinet de conseil IT et Agilité
REX : Azure ARM
Bonnes pratiques
REX : Azure ARM
Wilfried Woivré
ABOUT ME
MVP Microsoft Azure
http://blog.woivre.fr
wilfried.woivre@soat.fr
@wilfriedwoivre
REX : Azure ARM
• Déployer et gérer plusieurs souscriptions Azure
• Fournir des « modules » à des entités tierces contenant les éléments
suivants
• Règles de nommage
• Règles de sécurité
• Logs & Monitoring
• Intégration AD
• Tags obligatoires
• Choix « single » Cloud
REX : ARM en entreprise
REX : Azure ARM
• Utilisation des outils Azure
• Azure DevOps
• Azure Blueprint
• Management Group
• Suivi des déploiements
• Déploiements des policies et des ressources
REX : ARM en entreprise
REX : Azure ARM
• Portail Azure
• Azure Powershell
• Azure CLI
• Azure REST API
• Azure ARM
• Terraform
Déployer sur Azure
REX : Azure ARM
• Connaître le découpage des souscriptions / applications
• Définir la règle de nommage
• Connaître les besoins de l’entreprise
• Pas la peine de faire un template pour du AKS si l’entreprise ne souhaite pas l’utiliser
Prérequis à l’industrialisation
REX : Azure ARM
Tenant
Root Group
Mngt
Group 1
Sub D
Mngt
Group 3
Sub C
Mngt
Group 2
Sub A
RG 1
RG 2
Sub B
Niveau de déploiement ARM
• Souscription
• ResourceGroup
Déclaration de Blueprint
• Management Group
Organisation des souscriptions sur Azure
REX : Azure ARM
• Créer des templates unitaires pour les ressources
• Ex : Virtual Machine
• Public IP
• Network Interface
• Disks
• Storage
• Availability Set
• Virtual Machine
Qui peut le plus, peut le moins
REX : Azure ARM
Main Template
Composed
Templates
Resource
Template
Composed
Templates
Resources
Templates
Resource
Template
Parameters
Template liés
REX : Azure ARM
Uniformiser les « outputs »
Chaque template unitaire a pour sortie
• id
• name
Templates liés: Bonnes pratiques
REX : Azure ARM
• 800 déploiements par groupe de ressources
• Penser à la purge
• 5 groupes de ressources différents par déploiement
• Pas possible de toujours tout déployer en « one shot »
• Erreurs ARM parfois obscurs
• New-AzResourceGroupDeployment : 10:14:25 - Error: Code=InvalidTemplate;
Message=Deployment template validation failed: 'The template 'copy' definition at line '0' and
column '0' has an invalid copy count. The copy count must be a positive integer value and
cannot exceed '800'. Please see https://aka.ms/arm-copy for usage details.'.
Limites ARM
REX : Azure ARM
• Hébergement des templates liées de manières sécurisées
• Choix : Blob Storage + SAS Token
• JSON pas très lisible avec les champs « complexes »
• "nsgId": "[if(equals(parameters('subnets')[copyIndex('subnets')].nsgRules, json('null')), '',
resourceId('Microsoft.Network/networkSecurityGroups', concat('nsg', '-',
parameters('applicationFuncDomain'), parameters('environment'), '-',
variables('shortlocation'), '-', if(equals(parameters('subnets')[copyIndex('subnets')].name,
'GatewaySubnet'), 'gwy', if(equals(parameters('subnets')[copyIndex('subnets')].name,
'AzureFirewallSubnet'), 'fwl', parameters('subnets')[copyIndex('subnets')].name)))))]",
Difficultés rencontrées
REX : Azure ARM
• Git
• Azure DevOps
• Visual Studio Code
• Visual Studio Code Extensions
• Microsoft - Azure Resource Manager Tools
• Sam Cogan (MVP) - Azure Resource Manager Snippets
• Wilfried Woivré (MVP) - ARM Params Generator
• N’importe quelle extension qui parse du JSON
Outils
REX : Azure ARM
• Snippets de l’extensions
• Extraction de template depuis le portail Azure « Automation Script »
• Quick Start Template
• https://github.com/Azure/azure-quickstart-templates
• Docs Template Reference
• https://docs.microsoft.com/en-us/azure/templates/
• Ressources Azure
• https://resources.azure.com
Liens pour concevoir vos templates ARM
Cabinet de conseil IT et Agilité
Retrouvez-nous sur
Merci à tous !

Contenu connexe

Tendances

Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
AZUG FR
 

Tendances (20)

Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
 
DevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A CodeDevOps Day - Infrastructure As A Code
DevOps Day - Infrastructure As A Code
 
DevCon 2 ; Infra as Code avec Azure
DevCon 2  ; Infra as Code avec AzureDevCon 2  ; Infra as Code avec Azure
DevCon 2 ; Infra as Code avec Azure
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
 
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
 
Bonnes pratiques anti-DDOS
Bonnes pratiques anti-DDOSBonnes pratiques anti-DDOS
Bonnes pratiques anti-DDOS
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
 
Modèle de sécurité AWS
Modèle de sécurité AWSModèle de sécurité AWS
Modèle de sécurité AWS
 
Bonnes pratiques pour la gestion des opérations de sécurité AWS
Bonnes pratiques pour la gestion des opérations de sécurité AWSBonnes pratiques pour la gestion des opérations de sécurité AWS
Bonnes pratiques pour la gestion des opérations de sécurité AWS
 
Deep Dive AWS CloudTrail
Deep Dive AWS CloudTrailDeep Dive AWS CloudTrail
Deep Dive AWS CloudTrail
 
Powershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShellPowershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShell
 
Infrastructure As Code
Infrastructure As CodeInfrastructure As Code
Infrastructure As Code
 

Similaire à Azug fr rex arm

Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
Microsoft Technet France
 
Tech days2013aspectize
Tech days2013aspectizeTech days2013aspectize
Tech days2013aspectize
Fredy Fadel
 

Similaire à Azug fr rex arm (20)

4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur AzureModèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure
 
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme EgronXebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
 
Gouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommageGouvernance Azure - La charte de nommage
Gouvernance Azure - La charte de nommage
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Azugfr 2703 - service fabric
Azugfr   2703 - service fabricAzugfr   2703 - service fabric
Azugfr 2703 - service fabric
 
Node.js dans Azure
Node.js dans AzureNode.js dans Azure
Node.js dans Azure
 
20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform
 
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
Commencer le IaaS sur Azure - aOS Tahiti 03-03-2020
 
Tech days2013aspectize
Tech days2013aspectizeTech days2013aspectize
Tech days2013aspectize
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft Techdays
 
Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100Windows HPC server sur Windows Azure (100
Windows HPC server sur Windows Azure (100
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Cnam cours azure ze cloud intro et présentation generale 2016
Cnam cours azure ze cloud intro et présentation  generale 2016Cnam cours azure ze cloud intro et présentation  generale 2016
Cnam cours azure ze cloud intro et présentation generale 2016
 

Azug fr rex arm

  • 1. Cabinet de conseil IT et Agilité REX : Azure ARM Bonnes pratiques
  • 2. REX : Azure ARM Wilfried Woivré ABOUT ME MVP Microsoft Azure http://blog.woivre.fr wilfried.woivre@soat.fr @wilfriedwoivre
  • 3. REX : Azure ARM • Déployer et gérer plusieurs souscriptions Azure • Fournir des « modules » à des entités tierces contenant les éléments suivants • Règles de nommage • Règles de sécurité • Logs & Monitoring • Intégration AD • Tags obligatoires • Choix « single » Cloud REX : ARM en entreprise
  • 4. REX : Azure ARM • Utilisation des outils Azure • Azure DevOps • Azure Blueprint • Management Group • Suivi des déploiements • Déploiements des policies et des ressources REX : ARM en entreprise
  • 5. REX : Azure ARM • Portail Azure • Azure Powershell • Azure CLI • Azure REST API • Azure ARM • Terraform Déployer sur Azure
  • 6. REX : Azure ARM • Connaître le découpage des souscriptions / applications • Définir la règle de nommage • Connaître les besoins de l’entreprise • Pas la peine de faire un template pour du AKS si l’entreprise ne souhaite pas l’utiliser Prérequis à l’industrialisation
  • 7. REX : Azure ARM Tenant Root Group Mngt Group 1 Sub D Mngt Group 3 Sub C Mngt Group 2 Sub A RG 1 RG 2 Sub B Niveau de déploiement ARM • Souscription • ResourceGroup Déclaration de Blueprint • Management Group Organisation des souscriptions sur Azure
  • 8. REX : Azure ARM • Créer des templates unitaires pour les ressources • Ex : Virtual Machine • Public IP • Network Interface • Disks • Storage • Availability Set • Virtual Machine Qui peut le plus, peut le moins
  • 9. REX : Azure ARM Main Template Composed Templates Resource Template Composed Templates Resources Templates Resource Template Parameters Template liés
  • 10. REX : Azure ARM Uniformiser les « outputs » Chaque template unitaire a pour sortie • id • name Templates liés: Bonnes pratiques
  • 11. REX : Azure ARM • 800 déploiements par groupe de ressources • Penser à la purge • 5 groupes de ressources différents par déploiement • Pas possible de toujours tout déployer en « one shot » • Erreurs ARM parfois obscurs • New-AzResourceGroupDeployment : 10:14:25 - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'The template 'copy' definition at line '0' and column '0' has an invalid copy count. The copy count must be a positive integer value and cannot exceed '800'. Please see https://aka.ms/arm-copy for usage details.'. Limites ARM
  • 12. REX : Azure ARM • Hébergement des templates liées de manières sécurisées • Choix : Blob Storage + SAS Token • JSON pas très lisible avec les champs « complexes » • "nsgId": "[if(equals(parameters('subnets')[copyIndex('subnets')].nsgRules, json('null')), '', resourceId('Microsoft.Network/networkSecurityGroups', concat('nsg', '-', parameters('applicationFuncDomain'), parameters('environment'), '-', variables('shortlocation'), '-', if(equals(parameters('subnets')[copyIndex('subnets')].name, 'GatewaySubnet'), 'gwy', if(equals(parameters('subnets')[copyIndex('subnets')].name, 'AzureFirewallSubnet'), 'fwl', parameters('subnets')[copyIndex('subnets')].name)))))]", Difficultés rencontrées
  • 13. REX : Azure ARM • Git • Azure DevOps • Visual Studio Code • Visual Studio Code Extensions • Microsoft - Azure Resource Manager Tools • Sam Cogan (MVP) - Azure Resource Manager Snippets • Wilfried Woivré (MVP) - ARM Params Generator • N’importe quelle extension qui parse du JSON Outils
  • 14. REX : Azure ARM • Snippets de l’extensions • Extraction de template depuis le portail Azure « Automation Script » • Quick Start Template • https://github.com/Azure/azure-quickstart-templates • Docs Template Reference • https://docs.microsoft.com/en-us/azure/templates/ • Ressources Azure • https://resources.azure.com Liens pour concevoir vos templates ARM
  • 15. Cabinet de conseil IT et Agilité Retrouvez-nous sur Merci à tous !

Notes de l'éditeur

  1. Bonjour, je m’appelle Wilfried. Je travail en tant que Cloud Architect Azure pour SOAT. SOAT c’est quoi ? c’est un cabinet de conseil en IT et en Agilité. On travail dans différents domaines fonctionnels (Banque, e-commerce, …). On intervient, ou on forme, sur les domaines tel que Frontend, Architecture, Big Data ou encore Craft. Et ce qu’on aime faire à SOAT, c’est aussi pour partager nos connaissances. C’est pour ça que je vais vous présenter «Du legacy aux microservices "en douceur” avec Service Fabric ». D’ailleurs, avant de commencer, si le partage est une de vos valeurs : on recrute.