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
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.