SlideShare uma empresa Scribd logo
1 de 24
Online Conference
June 17th and 18th 2015
WWW.COLLAB365.EVENTS
Modèles Azure Resource Manager:
Améliorer vos déploiements sur Azure
WWW.COLLAB365.EVENTS
Stephane Lapointe
Orckestra
Email :
stephane@stephanelapointe.net
Twitter : @s_lapointe
Facebook :
stephane.lapointe.azure
LinkedIn
ca.linkedin.com/in/stephanelapointe
Stephane Lapointe a 20 ans d’expérience avec les technologies
Microsoft. Il travaille depuis 2008 chez Orckestra où il occupe le
poste de Cloud Solutions Architect. Stephane est très passionné
par tout ce qui touche Microsoft Azure, l’automatisation, la
pratique DevOps, PowerShell et ALM. Il est très impliqué dans la
communauté msdevmtl à Montréal où il est coorganisateur du
groupe Azure. Il est aussi un Azure Advisor.
Vous pouvez lire Stephane sur son blog au
http://www.codeisahighway.com/ et sur twitter sous le compte
@s_lapointe.
WWW.COLLAB365.EVENTS
Agenda
• Aperçu ARM
• Outils pour l’édition de vos modèles
• Expressions et fonctions
• Scénarios de modèles avancés: CSE & Copy
• Astuces de Sécurité et Débogage
WWW.COLLAB365.EVENTS
Consistent
Management
Layer
WWW.COLLAB365.EVENTS
Aperçu ARM
• Limites et quotas sur ARM sont au niveau régional
• 1 Groupe de ressources peut s’étendre sur plusieurs régions
• Un déploiement ne peut viser qu’un seul Resource Group
• 1 Groupe de ressources peut contenir jusqu’à 800
déploiements
• L’emplacement d’un Groupe de ressources est pour les
métadonnées
• Supporte les modèles de déploiement impératif et déclaratif
WWW.COLLAB365.EVENTS
Format de modèle{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { }
}
NOM DE L'ÉLÉMENT REQUIS DESCRIPTION
$schema Yes Emplacement du fichier de schéma JSON qui décrit la version du langage du modèle.
contentVersion Yes Version du modèle (par exemple, 1.0.0.0). Quand vous déployez des ressources à l'aide du modèle, cette valeur
permet de vous assurer que le bon modèle est utilisé
parameters No Valeurs fournies lors de l'exécution du déploiement pour personnaliser le déploiement des ressources.
variables No Valeurs utilisées en tant que fragments JSON dans le modèle pour simplifier les expressions du langage du modèle.
resources Yes Types de services déployés ou mis à jour dans un groupe de ressources.
outputs No Valeurs retournées après le déploiement.
WWW.COLLAB365.EVENTS
Outils pour l'édition de modèles
• Visual Studio et Azure SDK 2.7 ou mieux avec
les projets Groupe de ressources
• Visual Studio Code
• Notepad++
• Tout autre éditeurs de textes capable de
traiter les fichiers JSON et leurs schemas
WWW.COLLAB365.EVENTS
Expressions
• Étend la syntaxe JSON disponible dans le modèle
• Permet de créer des valeurs qui ne sont pas des valeurs
littérales strictes
• Peuvent être n'importe où dans une valeur de chaîne JSON
• Les expressions sont placées entre crochets [ ]
• Évalué au moment du déploiement du modèle
• Habituellement utilisé avec les fonctions
• Référencement des propriétés avec le point (.) et [indice]
WWW.COLLAB365.EVENTS
Fonctions de modèles
Plusieurs types de fonctions visant:
• Objets
• Chaines de caractères
• Nombres
• Ressources
• Modèles
WWW.COLLAB365.EVENTS
Fonctions pour objets
• int(valeur_à_convertir)
• length(tableau)
• string(valeur_à_convertir)
WWW.COLLAB365.EVENTS
Fonctions chaines de caractères
• base64(chaîne_entrée)
• concat(arg1, arg2, arg3, ...)
• padLeft(chaîne_à_remplir, longueur_totale, caractère_de_remplissage)
• replace(chaîne_initiale, ancien_caractère, nouveau_caractère)
• split(chaîne_entrée, délimiteur)
• toLower(chaîne_à_modifier)
• toUpper(chaîne_à_modifier)
WWW.COLLAB365.EVENTS
Fonctions pour nombres
• add(opérande1, opérande2)
• div(opérande1, opérande2)
• mod(opérande1, opérande2)
• mul(opérande1, opérande2)
• sub(opérande1, opérande2)
WWW.COLLAB365.EVENTS
Fonctions pour ressources
• listKeys(nom_ressource ou identificateur_ressource, [version_api])
• providers(espacedenoms_fournisseur, [type_ressource])
• reference(nom_ressource ou identificateur_ressource, [version_api])
• resourceGroup()
• resourceId([nom_groupe_ressources], type_ressource,
nom_ressource1, [nom_ressource2]...)
• subscription()
WWW.COLLAB365.EVENTS
Fonctions pour modèles
• copyIndex()
• deployment()
• parameters(nom_paramètre)
• variables(nom_variable)
WWW.COLLAB365.EVENTS
Démo
Créer une machine virtuelle à l'aide de Visual Studio 2015 et des
projets Groupe de ressources
WWW.COLLAB365.EVENTS
Scénarios avancés pour modèles
• Extensions de ressources
• Création de plusieurs instances de ressources
• Modèles imbriqués
WWW.COLLAB365.EVENTS
Extensions de ressources
• Machines Virtuelles
– CustomScript, DSC, Chef, Puppet, VmAccess
• Bases de données SQL
– Importation base de données
• Applications Web
– MSDeploy
WWW.COLLAB365.EVENTS
CustomScriptExtension
• Personnaliser vos machines virtuelles comme
vous le désirer
• Supporte .exe, scripts batch & PowerShell
• Permet de télécharger un ou plusieurs fichiers
sur la machine
• Disponible pour Windows and Linux
WWW.COLLAB365.EVENTS
CustomScriptExtension
Vos fichiers peuvent être téléchargés depuis:
• Emplacement publique sur HTTP (Comptes de stockage,
GitHub, etc.)
• Compte de stockage par défaut
• Tout comptes de stockage non par défaut en utilisant une clef
de stockage
• Un ou plusieurs comptes de stockage à l’aide des signatures
d’accès partagés (SAS - Shared Access Signature)
WWW.COLLAB365.EVENTS
Démo
Scénarios avancés pour votre modèle de machine virtuelle:
CustomScriptExtension & création de plusieurs instances
WWW.COLLAB365.EVENTS
Astuces de sécurité avec CSE
• Utilisez les signatures d’accès partagés le plus possible
• Ne jamais utiliser une chaîne de caractères pour vos clefs de
stockage, utiliser plutôt la fonction listKeys dans une section
protectedSettings
"protectedSettings": {
"storageAccountName": "[parameters('customScriptStorageAccountName')]",
"storageAccountKey": "[listKeys(variables('accountid'),'2015-05-01-preview').key1]"
}
WWW.COLLAB365.EVENTS
Astuces de débogage
• Résolution de problèmes pour vos déploiements avec
– Détails du déploiement dans le nouveau portail Azure
– Cmdlet Get-AzureResourceGroupLog
– Cmdlet Get-AzureResourceGroupDeploymentOperation
• Résolution de problèmes pour CustomScriptExtension avec
– Cmdlet Get-AzureVMCustomScriptExtension avec –Status
– C:WindowsAzureLogsPluginsMicrosoft.Compute.CustomScriptExtension1.4
– C:PackagesPluginsMicrosoft.Compute.CustomScriptExtension1.4Downloads
– C:PackagesPluginsMicrosoft.Compute.CustomScriptExtension1.4Status
– Avancé en utilisant outil psexec de Sysinternals: psexec.exe /i /s powershell.exe
WWW.COLLAB365.EVENTS
Resources
• Fonctions des modèles de gestionnaire des ressources Azure
https://azure.microsoft.com/fr-fr/documentation/articles/resource-group-template-functions/
• Abonnement Azure et limites, quotas et contraintes du service
https://azure.microsoft.com/fr-fr/documentation/articles/azure-subscription-service-limits/
• ARM Template deployment schemas
https://github.com/Azure/azure-resource-manager-schemas
• Azure Resource Manager QuickStart Templates
https://github.com/Azure/azure-quickstart-templates
• Ryan Jones’s ARM examples
https://github.com/rjmax/ArmExamples
• ARM Explorer
https://resources.azure.com/subscriptions
WWW.COLLAB365.EVENTS
Stay tuned for more great sessions …
Merci pour votre présence!
Restez brancher pour d’autres belles sessions …

Mais conteúdo relacionado

Destaque

New base 988 special 17 january 2017 energy news
New base 988 special 17 january 2017 energy newsNew base 988 special 17 january 2017 energy news
New base 988 special 17 january 2017 energy newsKhaled Al Awadi
 
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean Leaders
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean LeadersKaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean Leaders
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean LeadersKaiNexus
 
Gestão de Stakeholders e seu impacto na cultura organizacional
Gestão de Stakeholders e seu impacto na cultura organizacionalGestão de Stakeholders e seu impacto na cultura organizacional
Gestão de Stakeholders e seu impacto na cultura organizacionalOtávio Souza
 
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...South Fraser Blog
 
Tsunami awareness in Bander Chabahar, south of Iran
Tsunami awareness in Bander Chabahar, south of IranTsunami awareness in Bander Chabahar, south of Iran
Tsunami awareness in Bander Chabahar, south of IranGlobal Risk Forum GRFDavos
 
Port opportunities (bhaskar bardhan)
Port opportunities (bhaskar bardhan)Port opportunities (bhaskar bardhan)
Port opportunities (bhaskar bardhan)Bhaskar Bardhan
 
Multimedia Presentations
Multimedia PresentationsMultimedia Presentations
Multimedia PresentationsMichael Nantais
 
Introduction to Running Records
Introduction to Running RecordsIntroduction to Running Records
Introduction to Running RecordsCarla Piper
 
Cognition and Language
Cognition and LanguageCognition and Language
Cognition and LanguageFatima Noor
 
Convegno la mela nel mondo interpoma bz - 16-11-2012 3 - luisa manici
Convegno la mela nel mondo   interpoma bz - 16-11-2012 3 - luisa maniciConvegno la mela nel mondo   interpoma bz - 16-11-2012 3 - luisa manici
Convegno la mela nel mondo interpoma bz - 16-11-2012 3 - luisa maniciImage Line
 
Digital Marketing Plan Template Smart Insights
Digital Marketing Plan Template Smart InsightsDigital Marketing Plan Template Smart Insights
Digital Marketing Plan Template Smart InsightsJasonmiller484
 

Destaque (16)

New base 988 special 17 january 2017 energy news
New base 988 special 17 january 2017 energy newsNew base 988 special 17 january 2017 energy news
New base 988 special 17 january 2017 energy news
 
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean Leaders
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean LeadersKaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean Leaders
KaiNexus - Jacob Stoller, The 3 Primary Assumptions of Successful Lean Leaders
 
Breaking the Code
Breaking the CodeBreaking the Code
Breaking the Code
 
Certification
CertificationCertification
Certification
 
Gestão de Stakeholders e seu impacto na cultura organizacional
Gestão de Stakeholders e seu impacto na cultura organizacionalGestão de Stakeholders e seu impacto na cultura organizacional
Gestão de Stakeholders e seu impacto na cultura organizacional
 
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...
Towards a Less Carbon Intensive Built Environment: Evidence and Ideas for Sou...
 
Customer Clinic
Customer ClinicCustomer Clinic
Customer Clinic
 
Research Poster
Research PosterResearch Poster
Research Poster
 
Tsunami awareness in Bander Chabahar, south of Iran
Tsunami awareness in Bander Chabahar, south of IranTsunami awareness in Bander Chabahar, south of Iran
Tsunami awareness in Bander Chabahar, south of Iran
 
Port opportunities (bhaskar bardhan)
Port opportunities (bhaskar bardhan)Port opportunities (bhaskar bardhan)
Port opportunities (bhaskar bardhan)
 
Multimedia Presentations
Multimedia PresentationsMultimedia Presentations
Multimedia Presentations
 
Sociedad colectiva-
Sociedad colectiva-Sociedad colectiva-
Sociedad colectiva-
 
Introduction to Running Records
Introduction to Running RecordsIntroduction to Running Records
Introduction to Running Records
 
Cognition and Language
Cognition and LanguageCognition and Language
Cognition and Language
 
Convegno la mela nel mondo interpoma bz - 16-11-2012 3 - luisa manici
Convegno la mela nel mondo   interpoma bz - 16-11-2012 3 - luisa maniciConvegno la mela nel mondo   interpoma bz - 16-11-2012 3 - luisa manici
Convegno la mela nel mondo interpoma bz - 16-11-2012 3 - luisa manici
 
Digital Marketing Plan Template Smart Insights
Digital Marketing Plan Template Smart InsightsDigital Marketing Plan Template Smart Insights
Digital Marketing Plan Template Smart Insights
 

Semelhante a Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure

BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Amazon Web Services
 
L’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleL’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleManon PERNIN
 
SharePoint saturday montreal 2016- automatisation powershell
SharePoint saturday montreal   2016- automatisation powershellSharePoint saturday montreal   2016- automatisation powershell
SharePoint saturday montreal 2016- automatisation powershellNikolas Charlebois-Laprade
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Microsoft Technet France
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureThe Incredible Automation Day
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancé
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancéAzure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancé
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancéManon PERNIN
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Cellenza
 
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 KeynoteMicrosoft
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote Cellenza
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action Denys Chamberland
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière Cellenza
 
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAmazon Web Services
 
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 AzureMicrosoft Technet France
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 

Semelhante a Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure (20)

BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test
 
L’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitaleL’intégration, facteur clef de succès d’une transformation digitale
L’intégration, facteur clef de succès d’une transformation digitale
 
SharePoint saturday montreal 2016- automatisation powershell
SharePoint saturday montreal   2016- automatisation powershellSharePoint saturday montreal   2016- automatisation powershell
SharePoint saturday montreal 2016- automatisation powershell
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
 
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft AzureTIAD 2016 : Accenture Devops Platform dans Microsoft Azure
TIAD 2016 : Accenture Devops Platform dans Microsoft Azure
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancé
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancéAzure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancé
Azure Logic Apps - Bonnes pratiques et industrialisation pour un départ lancé
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
 
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
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
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
 
[DevTestday] Keynote
[DevTestday] Keynote [DevTestday] Keynote
[DevTestday] Keynote
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
 
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
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 

Modèles d'Azure Resource Manager: Améliorer vos déploiements sur Azure

  • 1. Online Conference June 17th and 18th 2015 WWW.COLLAB365.EVENTS Modèles Azure Resource Manager: Améliorer vos déploiements sur Azure
  • 2. WWW.COLLAB365.EVENTS Stephane Lapointe Orckestra Email : stephane@stephanelapointe.net Twitter : @s_lapointe Facebook : stephane.lapointe.azure LinkedIn ca.linkedin.com/in/stephanelapointe Stephane Lapointe a 20 ans d’expérience avec les technologies Microsoft. Il travaille depuis 2008 chez Orckestra où il occupe le poste de Cloud Solutions Architect. Stephane est très passionné par tout ce qui touche Microsoft Azure, l’automatisation, la pratique DevOps, PowerShell et ALM. Il est très impliqué dans la communauté msdevmtl à Montréal où il est coorganisateur du groupe Azure. Il est aussi un Azure Advisor. Vous pouvez lire Stephane sur son blog au http://www.codeisahighway.com/ et sur twitter sous le compte @s_lapointe.
  • 3. WWW.COLLAB365.EVENTS Agenda • Aperçu ARM • Outils pour l’édition de vos modèles • Expressions et fonctions • Scénarios de modèles avancés: CSE & Copy • Astuces de Sécurité et Débogage
  • 5. WWW.COLLAB365.EVENTS Aperçu ARM • Limites et quotas sur ARM sont au niveau régional • 1 Groupe de ressources peut s’étendre sur plusieurs régions • Un déploiement ne peut viser qu’un seul Resource Group • 1 Groupe de ressources peut contenir jusqu’à 800 déploiements • L’emplacement d’un Groupe de ressources est pour les métadonnées • Supporte les modèles de déploiement impératif et déclaratif
  • 6. WWW.COLLAB365.EVENTS Format de modèle{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "", "parameters": { }, "variables": { }, "resources": [ ], "outputs": { } } NOM DE L'ÉLÉMENT REQUIS DESCRIPTION $schema Yes Emplacement du fichier de schéma JSON qui décrit la version du langage du modèle. contentVersion Yes Version du modèle (par exemple, 1.0.0.0). Quand vous déployez des ressources à l'aide du modèle, cette valeur permet de vous assurer que le bon modèle est utilisé parameters No Valeurs fournies lors de l'exécution du déploiement pour personnaliser le déploiement des ressources. variables No Valeurs utilisées en tant que fragments JSON dans le modèle pour simplifier les expressions du langage du modèle. resources Yes Types de services déployés ou mis à jour dans un groupe de ressources. outputs No Valeurs retournées après le déploiement.
  • 7. WWW.COLLAB365.EVENTS Outils pour l'édition de modèles • Visual Studio et Azure SDK 2.7 ou mieux avec les projets Groupe de ressources • Visual Studio Code • Notepad++ • Tout autre éditeurs de textes capable de traiter les fichiers JSON et leurs schemas
  • 8. WWW.COLLAB365.EVENTS Expressions • Étend la syntaxe JSON disponible dans le modèle • Permet de créer des valeurs qui ne sont pas des valeurs littérales strictes • Peuvent être n'importe où dans une valeur de chaîne JSON • Les expressions sont placées entre crochets [ ] • Évalué au moment du déploiement du modèle • Habituellement utilisé avec les fonctions • Référencement des propriétés avec le point (.) et [indice]
  • 9. WWW.COLLAB365.EVENTS Fonctions de modèles Plusieurs types de fonctions visant: • Objets • Chaines de caractères • Nombres • Ressources • Modèles
  • 10. WWW.COLLAB365.EVENTS Fonctions pour objets • int(valeur_à_convertir) • length(tableau) • string(valeur_à_convertir)
  • 11. WWW.COLLAB365.EVENTS Fonctions chaines de caractères • base64(chaîne_entrée) • concat(arg1, arg2, arg3, ...) • padLeft(chaîne_à_remplir, longueur_totale, caractère_de_remplissage) • replace(chaîne_initiale, ancien_caractère, nouveau_caractère) • split(chaîne_entrée, délimiteur) • toLower(chaîne_à_modifier) • toUpper(chaîne_à_modifier)
  • 12. WWW.COLLAB365.EVENTS Fonctions pour nombres • add(opérande1, opérande2) • div(opérande1, opérande2) • mod(opérande1, opérande2) • mul(opérande1, opérande2) • sub(opérande1, opérande2)
  • 13. WWW.COLLAB365.EVENTS Fonctions pour ressources • listKeys(nom_ressource ou identificateur_ressource, [version_api]) • providers(espacedenoms_fournisseur, [type_ressource]) • reference(nom_ressource ou identificateur_ressource, [version_api]) • resourceGroup() • resourceId([nom_groupe_ressources], type_ressource, nom_ressource1, [nom_ressource2]...) • subscription()
  • 14. WWW.COLLAB365.EVENTS Fonctions pour modèles • copyIndex() • deployment() • parameters(nom_paramètre) • variables(nom_variable)
  • 15. WWW.COLLAB365.EVENTS Démo Créer une machine virtuelle à l'aide de Visual Studio 2015 et des projets Groupe de ressources
  • 16. WWW.COLLAB365.EVENTS Scénarios avancés pour modèles • Extensions de ressources • Création de plusieurs instances de ressources • Modèles imbriqués
  • 17. WWW.COLLAB365.EVENTS Extensions de ressources • Machines Virtuelles – CustomScript, DSC, Chef, Puppet, VmAccess • Bases de données SQL – Importation base de données • Applications Web – MSDeploy
  • 18. WWW.COLLAB365.EVENTS CustomScriptExtension • Personnaliser vos machines virtuelles comme vous le désirer • Supporte .exe, scripts batch & PowerShell • Permet de télécharger un ou plusieurs fichiers sur la machine • Disponible pour Windows and Linux
  • 19. WWW.COLLAB365.EVENTS CustomScriptExtension Vos fichiers peuvent être téléchargés depuis: • Emplacement publique sur HTTP (Comptes de stockage, GitHub, etc.) • Compte de stockage par défaut • Tout comptes de stockage non par défaut en utilisant une clef de stockage • Un ou plusieurs comptes de stockage à l’aide des signatures d’accès partagés (SAS - Shared Access Signature)
  • 20. WWW.COLLAB365.EVENTS Démo Scénarios avancés pour votre modèle de machine virtuelle: CustomScriptExtension & création de plusieurs instances
  • 21. WWW.COLLAB365.EVENTS Astuces de sécurité avec CSE • Utilisez les signatures d’accès partagés le plus possible • Ne jamais utiliser une chaîne de caractères pour vos clefs de stockage, utiliser plutôt la fonction listKeys dans une section protectedSettings "protectedSettings": { "storageAccountName": "[parameters('customScriptStorageAccountName')]", "storageAccountKey": "[listKeys(variables('accountid'),'2015-05-01-preview').key1]" }
  • 22. WWW.COLLAB365.EVENTS Astuces de débogage • Résolution de problèmes pour vos déploiements avec – Détails du déploiement dans le nouveau portail Azure – Cmdlet Get-AzureResourceGroupLog – Cmdlet Get-AzureResourceGroupDeploymentOperation • Résolution de problèmes pour CustomScriptExtension avec – Cmdlet Get-AzureVMCustomScriptExtension avec –Status – C:WindowsAzureLogsPluginsMicrosoft.Compute.CustomScriptExtension1.4 – C:PackagesPluginsMicrosoft.Compute.CustomScriptExtension1.4Downloads – C:PackagesPluginsMicrosoft.Compute.CustomScriptExtension1.4Status – Avancé en utilisant outil psexec de Sysinternals: psexec.exe /i /s powershell.exe
  • 23. WWW.COLLAB365.EVENTS Resources • Fonctions des modèles de gestionnaire des ressources Azure https://azure.microsoft.com/fr-fr/documentation/articles/resource-group-template-functions/ • Abonnement Azure et limites, quotas et contraintes du service https://azure.microsoft.com/fr-fr/documentation/articles/azure-subscription-service-limits/ • ARM Template deployment schemas https://github.com/Azure/azure-resource-manager-schemas • Azure Resource Manager QuickStart Templates https://github.com/Azure/azure-quickstart-templates • Ryan Jones’s ARM examples https://github.com/rjmax/ArmExamples • ARM Explorer https://resources.azure.com/subscriptions
  • 24. WWW.COLLAB365.EVENTS Stay tuned for more great sessions … Merci pour votre présence! Restez brancher pour d’autres belles sessions …