Partager via


Concepts clés pour les environnements de déploiement Azure

Dans cet article, vous allez découvrir les principaux concepts et composants des Environnements de déploiement Azure. Ces connaissances vous aideront à déployer plus efficacement des environnements pour vos scénarios.

À mesure que vous découvrez les Environnements de déploiement, vous pouvez rencontrer également des composants de Microsoft Dev Box, un service complémentaire qui partage 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.

Ce diagramme montre les composants clés d’Environnements de déploiement ainsi que la façon dont ils sont liés les uns aux autres. Vous pouvez en savoir plus sur chaque composant dans les sections suivantes.

Diagramme montrant les composants clés des environnements de déploiement.

Centres de développement

Un centre de développement est une collection de projets qui nécessitent des paramètres similaires. Les centres de développement permettent aux ingénieurs de plateforme de :

  • Utiliser des catalogues pour gérer les modèles d’infrastructure en tant que code (IaC) accessibles aux projets.
  • Utiliser des types d’environnement pour configurer les types d’environnement que les équipes de développement peuvent créer.

Dev Box utilise également des centres de développement pour organiser les ressources. Une organisation peut utiliser le même centre de développement pour les deux services.

Projects

Dans Environnements de déploiement, un projet représente une équipe ou une fonction métier au sein de l’organisation. Quand vous associez un projet à un centre de développement, tous les paramètres du centre de développement sont appliqués automatiquement au projet.

Chaque projet ne peut être associé qu’à un seul centre de développement. Les ingénieurs plateforme peuvent configurer des environnements pour un projet en spécifiant les types d’environnement qui conviennent pour l’équipe de développement. Pour rendre les définitions d’environnement disponibles pour une équipe de développement spécifique, les administrateurs de projet peuvent attacher un catalogue à un projet.

Pour permettre aux développeurs de créer leurs propres environnements de déploiement, vous devez leur fournir l’accès aux projets en affectant le rôle Utilisateur d’Environnements de déploiement.

Vous pouvez configurer des projets pour les environnements de déploiement et les projets pour les ressources Dev Box dans le même centre de développement.

Environments

Un environnement est une collection de ressources Azure dans laquelle votre application est déployée. Par exemple, pour déployer une application web, vous pouvez créer un environnement composé d’Azure App Service, d’Azure Key Vault, d’Azure Cosmos DB et d’un compte de stockage. Un environnement peut être constitué à la fois de ressources PaaS (Platform as a Service) et IaaS (Infrastructure as a Service), telles qu’un cluster Azure Kubernetes Service (AKS), des machines virtuelles et des bases de données.

Identities

Dans les environnements de déploiement, vous utilisez des identités managées pour fournir des fonctionnalités d’élévation de privilèges. Les identités peuvent vous aider à fournir des capacités en libre-service à vos équipes de développement sans leur donner accès aux abonnements cibles dans lesquels les ressources Azure sont créées.

L'identité managée attachée au centre de développement ou au projet doit recevoir l'accès approprié pour se connecter aux catalogues. Vous devez accorder aux Contributeurs et aux Administrateur de l’accès utilisateur un accès aux abonnements de déploiement cibles configurés au niveau du projet. Les environnements de déploiement utilisent l’identité managée spécifique pour effectuer le déploiement au nom du développeur.

Types d’environnement de centre de développement

Vous pouvez définir les types d’environnement que les équipes de développement peuvent créer : par exemple, développement, test, bac à sable, préproduction ou production. Les environnements de déploiement offrent la possibilité de nommer les types d’environnement en fonction de la nomenclature utilisée par votre entreprise. Vous pouvez configurer les paramètres de différents types d’environnement en fonction des besoins spécifiques des équipes de développement.

Types d’environnement de projet

Les types d’environnement de projet sont un sous-ensemble des types d’environnement que vous configurez pour le centre de développement. Ils vous permettent de préconfigurer les types d’environnement que des équipes de développement déterminées peuvent créer. Vous pouvez configurer l’abonnement cible dans lequel les ressources Azure sont créées par projet et par type d’environnement.

Les types d’environnement de projet vous permettent d’appliquer automatiquement l’ensemble approprié de stratégies aux environnements et d’extraire les concepts liés à la gouvernance Azure de vos équipes de développement. Le service offre aussi la possibilité de préconfigurer :

  • Identité managée utilisée pour effectuer le déploiement.
  • Les niveaux d’accès que les équipes de développement obtiendront à la suite de la création d’un environnement spécifique.

Catalogs

Les catalogues vous aident à fournir un ensemble de modèles IaC organisés que vos équipes de développement peuvent utiliser pour créer des environnements. Vous pouvez attacher un catalogue à un centre de développement pour rendre les définitions d’environnement disponibles pour tous les projets associés au centre de développement. Vous pouvez également attacher un catalogue à un projet pour fournir des définitions d’environnement à ce projet spécifique.

Microsoft fournit un catalogue de démarrage rapide qui contient un ensemble d’exemples de définitions d’environnement. Vous pouvez attacher le catalogue de démarrage rapide à un centre de développement ou à un projet pour mettre ces définitions d’environnement à la disposition des développeurs. Vous pouvez modifier les exemples de définitions d’environnement en fonction de vos besoins.

Vous pouvez également joindre votre propre catalogue. Vous pouvez attacher un dépôt GitHub ou un référentiel Azure DevOps Services en tant que catalogue.

Le service Environnements de déploiement analyse le dossier spécifié du référentiel pour rechercher des définitions d’environnement. Ces définitions d'environnement sont disponibles pour tous les projets associés au centre de développement.

Définitions d’environnement

Une définition d’environnement est une combinaison d’un modèle IaC et d’un fichier d’environnement qui fait office de manifeste. Le modèle définit l’environnement, et le fichier d’environnement fournit les métadonnées sur le modèle. Vos équipes de développement se servent des éléments que vous fournissez dans le catalogue pour créer des environnements dans Azure.

Rôles intégrés

Les environnements de déploiement utilisent les rôles intégrés suivants :

  • Propriétaire de DevCenter. Gère les ressources Microsoft.DevCenter dans l’étendue du centre de développement (telles que les centres de développement et leurs projets et catalogues) et peut gérer l’accès à ces ressources en affectant ou en supprimant les rôles DevCenter Project Admin et DevCenter DevCenter Dev Box.
  • Administrateur de projet DevCenter. Crée des environnements et gère les types d’environnement d’un projet.
  • Utilisateur des environnements de déploiement. Crée des environnements basés sur les permissions d'accès appropriées.
  • Lecteur d’Environnements de déploiement Lit les environnements créés par d’autres utilisateurs.

Pour plus d’informations sur le propriétaire DevCenter et d’autres rôles de centre de développement, consultez Gérer un centre de développement pour Dev Box.

Ressources partagées avec Dev Box

Les environnements de déploiement et Dev Box sont des services complémentaires qui partagent certains composants architecturaux. Les centres de développement et les projets sont communs aux deux services, et ils aident à organiser les ressources dans une entreprise. Vous pouvez configurer des projets pour les environnements de déploiement et des projets pour les ressources Dev Box dans le même centre de développement.

Pour plus d’informations, consultez Composants communs aux environnements dev Box et de déploiement.