Passer la navigation

Simplification des déploiements déclaratifs dans Azure

Publié le 22 juin, 2020

Chief Technology Officer and Technical Fellow, Microsoft Azure

Azure offre aux clients un moyen simple et intuitif de configurer et de gérer de manière déclarative l’infrastructure via des modèles ARM (Azure Resource Manager). Vous pouvez décrire l’intégralité de votre environnement Azure à l’aide du langage du modèle, puis utiliser votre outil CI/CD ou de script pour configurer cet environnement en quelques minutes. Le langage de modèle ARM prend la forme JSON et est une représentation directe du schéma de ressource. Cela signifie que vous pouvez créer n’importe quelle ressource Azure en utilisant d’emblée un modèle ARM et configurer n’importe quel paramètre sur les ressources. À l’aide de modèles ARM, vous pouvez décrire les ressources nécessaires pour créer l’environnement de manière déclarative et paramétrée. Étant donné que les modèles ARM sont déclaratifs, vous ne devez spécifier que ce que vous souhaitez, et Azure Resource Manager déterminera le reste.

Au cours des derniers mois, nous nous sommes repenchés sur les déploiements de modèles ARM, en nous concentrant sur la résolution de certains des principaux défis partagés par nos clients. Aujourd’hui, nous partageons certains des investissements que nous avons consentis pour résoudre certains de ces problèmes.

Expérience de modification simplifiée avec Visual Studio Code

Les utilisateurs les plus récents ont indiqué que leur première expérience de création et de modification d’un modèle ARM avait été intimidante. Nous avons simplifié l’expérience de prise en main en vous permettant de créer les ressources dont vous avez besoin dans le portail Azure et en exportant un modèle ARM que vous pouvez réutiliser. Nous disposons également d’une galerie de modèles de démarrage rapide comptant plus de 800 exemples de modèles pour la configuration de ressources. Mais nous avons fait évoluer les choses pour vous.

Avec les nouveaux outils ARM (Azure Resource Manager) dans Visual Studio Code, nous avons ajouté la prise en charge des extraits de code (définitions de ressources précréées), IntelliSense, colorisation, structure des modèles ARM et commentaires. Avec la prise en charge des commentaires dans les modèles ARM, vous pouvez déployer très simplement n’importe quel modèle avec des commentaires à l’aide de l’interface CLI, de PowerShell et du portail Azure. Voici une brève vidéo sur la nouvelle expérience de création de modèles ARM dans VS Code.

Que faire : Analyse de l’impact du prédéploiement

Picture2Nos clients ont souvent besoin d’évaluer l’impact du déploiement sur un environnement avant d’apporter des modifications aux ressources déployées. Avec de nouvelles fonctionnalités de simulation dans Azure, les clients peuvent effectuer des évaluations de prédéploiement pour déterminer quelles ressources seront créées, mises à jour ou supprimées, ainsi que des modifications au niveau des propriétés des ressources. La commande de simulation effectue une vérification en temps réel de l’état actuel de l’environnement et élimine la nécessité de gérer l’un ou l’autre état. Prise en main de la fonctionnalité de simulation. Pendant que la fonctionnalité de simulation est en version préliminaire, communiquez-nous les problèmes et demandes de fonctionnalités dans notre référentiel GitHub.

Scripts de déploiement : réalisation des scénarios de finalisation

Il existe souvent des scénarios où les clients doivent exécuter du code de script personnalisé dans un déploiement de modèle ARM pour terminer la configuration de leur environnement. Ces scripts qui nécessitaient auparavant une étape en dehors d’un déploiement de modèle peuvent maintenant être exécutés dans un déploiement de modèle à l’aide de la ressource deploymentScript. La nouvelle ressource deploymentScript exécute n’importe quel script PowerShell ou bash dans le cadre de votre déploiement de modèles. Ce script peut être inclus dans le cadre de votre modèle ARM ou référencé à partir d’une source externe. Les scripts de déploiement vous permettent désormais d’effectuer la configuration de votre environnement de bout en bout dans un modèle ARM unique. En savoir plus sur les scripts de déploiement avec cette documentation. Si certaines actions des ressources Azure ne sont pas exposées dans nos API et que vous souhaitez les voir apparaître en mode natif dans notre plan de contrôle, entrez votre demande ici.

Configuration du groupe d’administration et des abonnements à grande échelle

Au fur et à mesure qu’une organisation étend son utilisation d’Azure, de plus en plus de conversations ont lieu sur la nécessité de créer une hiérarchie de groupe d’administration (construction de regroupement) et des abonnements Azure pour garantir la séparation des environnements, des applications, de la facturation ou de la sécurité. Les clients ont besoin d’un moyen cohérent et déclaratif de configurer le groupe d’administration et les abonnements pour gagner du temps et des ressources. Avec les nouvelles API de déploiement du locataire et du groupe d’administration, nous prenons maintenant en charge la configuration de groupes et d’abonnements utilisant des modèles ARM. Cela vous permet d’automatiser la configuration de l’ensemble de votre patrimoine et des ressources d’infrastructure associées dans un modèle ARM unique. Apprenez-en plus à ce sujet et obtenez des exemples de modèles ici. En outre, nous prenons désormais en charge le marquage des abonnements, nous avons supprimé les 800 déploiements par limite de groupe de ressources, nous avons augmenté la limite du nombre de groupes de ressources par déploiement à 800 et le nombre d’abonnements par Contrat Entreprise à 2000, ce qui vous permet de configurer et de gérer à grande échelle.

ARM1

Focalisation continue sur la qualité et la fiabilité

La qualité et la fiabilité sont deux priorités chez Microsoft. Nous sommes restés particulièrement vigilants à ce niveau, avant tout par l’amélioration de la qualité de nos schémas et la couverture des schémas pour toutes les ressources. Les avantages de cette approche sont présentés dans l’expérience de création améliorée et les fonctionnalités d’exportation de modèles. Nous travaillons en collaboration pour améliorer les messages d’erreur et la qualité de notre validation préliminaire afin de détecter les problèmes avant le déploiement. Nous avons également investi énormément dans l’amélioration de notre documentation en publiant toutes les versions de l’API dans des références de modèle et ajouté des extraits de modèle dans la documentation des ressources.

Pour vous aider à tester le code de votre modèle ARM, nous avons proposé en open source le kit de ressources du modèle ARM que nous utilisons en interne chez Microsoft pour nous assurer que nos modèles ARM suivent les meilleures pratiques. Enfin, nous avons conscience que la vitesse importe et nous avons apporté des améliorations significatives pour réduire nos délais de déploiement d’environ 75 % pour les déploiements à grande échelle.

Le futur de l’infrastructure en tant que code avec des modèles Azure Resource Manager

Nous venons de commencer notre parcours sur l’amélioration des déploiements de modèles ARM, et les équipes mettent tout en œuvre pour résoudre les lacunes actuelles et continuer d’innover. Vous pouvez en savoir plus sur certains de nos investissements à venir que nous avons pu aborder à l’occasion de la conférence Microsoft Build 2020.

Nous aimerions connaître votre avis en continu sur les déploiements ARM. Si vous souhaitez discuter en profondeur avec l’équipe d’ingénieurs, rejoignez notre groupe Yammer Déploiements et gouvernance.