Que sont les Environnements de déploiement Azure ?
Les Environnements de déploiement Azure permettent aux équipes de développeurs de mettre rapidement facilement en place une infrastructure d’applications à l’aide de modèles basés sur des projets, ce qui a pour effet d’instaurer une cohérence et des meilleures pratiques tout en optimisant la sécurité. Cet accès à la demande aux environnements sécurisés accélère les étapes du cycle de vie du développement logiciel de manière conforme et rentable.
Un environnement de déploiement est une collection de ressources d’infrastructure Azure définies dans un modèle appelé définition d’environnement. Les développeurs peuvent déployer une infrastructure définie dans les modèles dans les abonnements auxquels ils ont accès et générer leurs applications sur l’infrastructure. Par exemple, vous pouvez définir un environnement de déploiement qui inclut une application web, une base de données et un compte de stockage. Votre développeur web peut commencer à coder l’application web sans se soucier de l’infrastructure sous-jacente.
Les ingénieurs de la plateforme peuvent créer et gérer des définitions d’environnement. Pour spécifier les définitions d’environnement disponibles pour les développeurs, les ingénieurs de la plateforme peuvent associer aux projets des définitions d’environnement et attribuer des autorisations aux développeurs.
Les environnements de déploiement Azure aident vos ingénieurs de plateforme à appliquer le bon ensemble de stratégies et de paramètres sur divers types d’environnements, à contrôler la configuration des ressources que les développeurs peuvent créer et à suivre les environnements dans tous les projets. Ils peuvent appliquer une gouvernance Azure en fonction du type d'environnement, tel qu’un environnement de bac à sable, de test, de mise en lots ou de production.
Le diagramme suivant présente une vue d’ensemble des fonctionnalités des environnements de déploiement Azure. Les ingénieurs de la plateforme définissent des modèles d’infrastructure et configurent des abonnements, des identités et des autorisations. Les développeurs créent des environnements basés sur les modèles, génèrent et déploient des applications sur l’infrastructure. Les environnements peuvent prendre en charge différents scénarios, tels que des environnements à la demande, de bac à sable pour tests et des pipelines CI/CD pour une intégration et un déploiement continus.
Vous pouvez en apprendre davantage sur les concepts clés des Environnements de déploiement Azure.
Scénarios d’usage
Scénarios courants pour des environnements de déploiement Azure :
Environnements dans le cadre d’un pipeline CI/CD
La création et la gestion des environnements dans une entreprise peuvent nécessiter un travail considérable. Avec Azure Deployment Environments, les développeurs peuvent incorporer différents types d'environnements de cycle de vie des produits (tels que le développement, les tests, la mise en scène, la préproduction et la production) dans un pipeline d'intégration continue et de livraison continue (CI/CD).
Dans ce scénario :
- Les équipes de développement peuvent connecter leurs environnements à des pipelines CI/CD pour permettre des scénarios DevOps.
- Les équipes informatiques centrales en charge du développement peuvent suivre de manière centralisée les coûts, les alertes de sécurité et gérer les environnements dans différents projets et centres de développement.
Environnements de bac à sable pour les investigations
Les développeurs examinent souvent différentes technologies ou conceptions d’infrastructure. Par défaut, tous les environnements créés avec Environnements de déploiement Azure se trouvent dans leur propre groupe de ressources. Les membres du projet obtiennent par défaut un accès contributeur à ces ressources.
Dans ce scénario :
- Les développeurs peuvent ajouter et changer les ressources Azure à mesure que leur besoins évoluent dans leurs environnements de développement ou de test.
- Les équipes informatiques centrales en charge du développement peuvent facilement suivre les coûts pour tous les environnements utilisés à des fins d’investigation.
Environnements de test à la demande
Les développeurs peuvent créer des environnements ad hoc qui imitent leurs environnements de développement ou de test formels, ceci afin de tester une nouvelle fonctionnalité avant d’enregistrer le code et d’exécuter un pipeline.
Dans ce scénario :
- Les développeurs peuvent tester la dernière version d’une application à l’aide de modèles réutilisables pour créer rapidement de nouveaux environnements ad hoc.
Formation, ateliers pratiques et hackathons
Un projet dans Environnements de déploiement Azure fait office de conteneur pour des activités temporaires comme des ateliers, des ateliers pratiques, des formations ou des hackathons. Vous pouvez créer un projet pour fournir des modèles personnalisés à chaque utilisateur.
Dans ce scénario, le service Environnements de déploiement Azure offre les avantages suivants :
- Chaque utilisateur peut utiliser des environnements identiques et isolés pour la formation.
- Vous pouvez facilement supprimer un projet et toutes les ressources associées à la fin de la formation.
Avantages
Les Environnements de déploiement Azure offrent les avantages suivants pour créer, configurer et gérer des environnements dans le cloud :
Normalisation et collaboration : capturez et partagez des modèles IaC dans le contrôle de code source au sein de votre équipe ou organisation, pour créer facilement des environnements à la demande. Promouvez la collaboration via un approvisionnement interne de modèles par des référentiels de contrôle de code source.
Conformité et gouvernance : les équipes d’ingénieurs de plateforme peuvent organiser des définitions d’environnement pour appliquer des stratégies de sécurité d’entreprise et mapper des projets à des abonnements, identités et autorisations Azure par types d’environnement.
Configurations basées sur un projet : Organiser des définitions d’environnement en fonction du type d’application sur lequel travaillent les équipes de développement, plutôt que d’utiliser une liste non organisée de modèles ou une configuration IaC traditionnelle.
Libre-service sans souci : permettez à vos équipes de développement de créer rapidement et facilement des ressources(PaaS, serverless et plus) d’infrastructure d’applications à l’aide d’un ensemble de modèles préconfigurés. Vous pouvez aussi suivre les coûts sur ces ressources de façon à respecter votre budget.
Intégration avec votre chaîne d’outils existantes : utilisez les API pour approvisionner des environnement directement à partir de votre outil CI préféré, d’un environnement de développement intégré (IDE) ou d’un pipeline de mise en production automatisé. Vous pouvez également utiliser l’outil en ligne de commande complet.
Composants partagés avec Microsoft Dev Box
Microsoft Dev Box et les Environnements de déploiement Azure sont des services complémentaires qui partagent certains composants architecturaux. Dev Box fournit aux développeurs une station de travail cloud pour le développement, appelée une dev box, qui est configurée avec les outils dont ils ont besoin pour leur travail. Les centres de développement et les projets sont communs aux deux services, et ils aident à organiser les ressources dans une entreprise.
Lors de la configuration des Environnements de déploiement, vous pouvez voir des ressources et des composants Dev Box. Vous pouvez même voir des messages d’information concernant les fonctionnalités Dev Box. Si vous ne configurez aucune fonctionnalité Dev box, vous pouvez ignorer ces messages en toute sécurité.