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 rencontrerez é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.

Microsoft 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.

Projets

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 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 Environnements de déploiement, et des projets pour les ressources Microsoft Dev Box dans le même centre de développement.

Environnements

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 se composer à la fois de ressources Azure 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.

Identités

Dans Environnements de déploiement Azure, les identités managées vous permettent de fournir des capacité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 qui est rattachée au centre de développement doit recevoir des droits d’accès appropriés 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. Le service Environnements de déploiement Azure se sert de l’identité managée spécifique pour effectuer le déploiement pour le compte 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. Environnements de déploiement Azure offre la possibilité de nommer les types d’environnement en fonction de la nomenclature qu’utilise 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 :

  • L’identité managée qui est 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.

Catalogues

Les catalogues vous permettent de fournir un ensemble de modèles IaC organisés que vos équipes de développement peuvent utiliser pour créer des environnements. 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 pour rendre ces définitions d’environnement disponibles pour tous les projets associés au centre de développement. Vous pouvez modifier les exemples de définitions d’environnement en fonction de vos besoins.

Vous pouvez également attacher 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. Les environnements mettent ensuite ces définitions d’environnement à la disposition de 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.

Remarque

Les Environnements de déploiement Azure utilise des modèles Azure Resource Manager (ARM).

Modèles ARM

Les modèles ARM vous permettent d’implémenter l’IaC pour vos solutions Azure en définissant l’infrastructure et la configuration de votre projet, les ressources à déployer et les propriétés de ces ressources.

Pour en savoir plus sur la structure d’un modèle ARM, les sections d’un modèle et les propriétés disponibles dans ces sections, consultez Comprendre la structure et la syntaxe des modèles Azure Resource Manager.

Rôles intégrés

Les Environnements de déploiement Azure prennent en charge trois rôles intégrés :

  • Administrateur de projet du Centre de développement : crée des environnements et gère les types d’environnement d’un projet.
  • Environnements de déploiement Utilisateur : crée des environnements en fonction de l’accès approprié.
  • Lecteur des Environnements de déploiement : lit les environnements créés par d’autres utilisateurs.

Ressources partagées avec Microsoft Dev Box

Environnements de déploiement Azure et Microsoft 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 en savoir plus sur les composants communs à Environnements de déploiement Azure et Dev Box, consultez Composants communs à Microsoft Dev Box et Environnements de déploiement Azure.