2. Scénario
1 site web
1 API
Mise à jour des données
1 base de données
1 scheduler
Appels réguliers à l’API
Déploiement des ressources Azure (IaaS
et PaaS) nécessaires pour:
• Environnements Dev/Test de façon rapide
• Diminution des coûts liés à l’infrastructure
• Gestion de la configuration
Besoins
4. Azure Resource Manager
Regroupement logique des ressources
azure: Resource Group
Ressources nécessaires pour tester le site et
l’API dans un même Resource Group
Projet « Azure Resource Group » dans
Visual Studio
Déploiement > Tests > Suppression
5. Script
Powershell script
ARM Template ARM
Parameters
Powershell script
Impératif Déclaratif
XML
Script :
Paramétrage
Ressources
Configuration
Script impératif :
Tester l’existant
Gestion de
l’ordonnancement
Script déclaratif :
Liste d’éléments
Dépendances entre les
éléments
Idempotent
Config DSC
6. Script
ARM Template ARM
Parameters
Powershell script
Création du Resource Group
Création du déploiement
Config DSC
Définition des paramètres
Définition et configuration
des ressources azure
Configuration des VM
9. Aide à la définition d’un template
Azure Quickstart templates
- https://azure.microsoft.com/en-us/documentation/templates/
- https://github.com/Azure/azure-quickstart-templates
Azure Resource Explorer
- http://resources.azure.com
ARM Client
- https://github.com/projectkudu/ARMClient
Déploiements dans le Portail Azure
11. PowerShell DSC
2 modes :
Push
Pull
DSC = Desired State Configuration
Script déclaratif
Configuration d’une VM (nœud)
Installé avec PowerShell dès la version
4.0
3 modes de configuration:
Apply Only
Apply And Monitor
Apply And Auto Correct
12. Automation DSC
Serveur DSC Pull en PaaS
Compte Azure Automation
Configuration des VMs:
Azure
On-Premise
17. Suivi du déploiement
Azure Resource Explorer
- Partie « InstanceView »
- http://resources.azure.com
VM
- Logs des extensions de VMs
(C:WindowsAzureLogsPluginsMicrosoft.Powershell.DSC)
- Installations spécifiques
Déploiements dans le Portail Azure
18. Conclusion
•Azure Resource Manager
•Azure Resource Groups
Concepts
•Templates ARM
Ressources Azure
•Powershell DSC
•Automation DSC
Configuration des VM
•Azure Resource Explorer
•Azure Quickstart Templates
•ARMClient
Outils aide & debug
Gestion de la configuration: eviter les erreurs liées aux prérequis
« Si vous êtes dans un contexte où vous avez besoin de déployer des… »
« Alors déployer de façon automatique des environnements dans Azure peut vous être utile »
« On va voir comment déployer des ressources IaaS et PaaS à travers ce scénario »
Avec le nouveau portail Azure, nouveau modèle ARM et groupes de ressource
Conteneur logique de vos ressources: même déploiement, suppression. Gestion et surveillance d’un groupe
Une ressource peut exister dans un seul resource group
Dans Visual Studio: projet Azure Resource Group
Avant: script impératif, tests sur l’existant
Maintenant: favoriser le déclaratif surtout pour les scripts réutilisables
Template ARM: declaratif / JSON / liste des ressources Azure
Déploiement idempotent
Création nouveau projet dans Visual Studio « Azure Resource Group »
Partie Script
Partie Templates
Fichier de paramètres: 1 par environnement (avec nom de base de données différents etc…)
Template organisés en 4 parties:
Paramètres
Variables
Ressources
Output
Syntaxe des templates:
Json
Fonctions sur les chaines de caractères, nombres etc.. + fonctions spécifiques aux resource groupes
Azure Quickstart templates: site azure ou github
Cf. partie troubleshooting
PS DSC: pour déployer et gérer vos données de configuration pour vos environnements.
Liste d’éléments:
Les rôles Windows Server,
Les fonctionnalités (features),
Les clés de registre et leur valeur,
Les fichiers,
Les logiciels
Création de modules supplémentaires
Moteur DSC = Local Configuration Manager
Azure Automation : gérer vos processus automatisés avec PowerShell.
Présentation du fichier de config DSC défini pour les VM Web:
Framework installé via Choco
Présentation de Automation DSC:
Le compte
Les modules supplémentaires
Les configs
Déploiment via:
Visual Studio
PowerShell direct
Release Management (cf. Session suivante)
Logs disponibles:
Portail
Azure resource explorer
Logs des VMs (extensions DSC)
ARM Client (API) éventuellement