Aller au contenu
Home » Blog » Azure DevOps: utiliser les pools managés

Azure DevOps: utiliser les pools managés

Les pools DevOps managés sont une solution proposée par Microsoft pour simplifier l’exécution des pipelines CI/CD dans Azure DevOps. Contrairement aux agents Self-Hosted, ils sont gérés par Microsoft, ce qui réduit la maintenance et les coûts.

Ces pools permettent :

  • D’utiliser des agents managés sans gérer de machines virtuelles.
  • D’exécuter des pipelines sur des réseaux existants ou isolés, pour accéder à des ressources sécurisées.
  • De contrôler le dimensionnement automatique des agents, ce qui optimise les coûts et la disponibilité.

Ils sont particulièrement adaptés lorsque vos pipelines doivent interagir avec :

  • Des App Services ou Function Apps protégés par Private Endpoints.
  • Des ressources accessibles uniquement via ExpressRoute.
  • Des réseaux nécessitant une isolation stricte ou des règles de pare-feu spécifiques.

Mise en situation : déployer sur des ressources isolées

Dans mon environnement :

  • J’avais un réseau existant avec plusieurs sous-réseaux.
  • Mes App Service et Function Apps étaient isolés via Private Endpoints.
  • Les agents managés classiques ne pouvaient pas atteindre ces ressources.
  • Je ne souhaitais pas utiliser Self-Hosted ou VM Scale Set pour des raisons de gestion et de coût.

La solution idéale fut donc d’utiliser un pool DevOps managé injecté dans mon réseau existant.

Sous-réseau créé pour le pool, délégué à Microsoft.DevOpsInfrastructure/pools.


Comprendre la délégation du sous-réseau

Pour utiliser un réseau existant avec un pool :

  • Le sous-réseau doit être délégué à Microsoft.DevOpsInfrastructure/pools.
  • Cette délégation rend le sous-réseau exclusif au pool : aucune autre ressource ou pool ne peut l’utiliser.
  • Pour plusieurs pools dans le même VNet, il faut créer plusieurs sous-réseaux, chacun associé à un pool différent.

Permissions nécessaires sur le réseau

L’identité managée utilisée par le pool (DevOpsInfrastructure) doit avoir :

  • Reader sur le réseau et le sous-réseau.
  • Network Contributor sur le réseau et le sous-réseau.

Création et configuration du pool DevOps managé

1. Créer le pool

  • Dans le portail Azure, créer une nouvelle ressource Managed DevOps Pools.
  • Renseigner les informations de base (nom, description, abonnement).

2. Configurer le dimensionnement

  • L’onglet Scaling permet de configurer le nombre minimum et maximum d’agents, et le dimensionnement automatique.
  • Cette granularité permet une meilleure maîtrise des coûts par rapport aux Self-Hosted.

3. Configurer le réseau

  • Choisir l’option Agents injected into existing virtual network.
  • Sélectionner le VNet et le sous-réseau délégué pour le pool.

Validation

  • Vérifier que toutes les ressources ont été créées correctement et que le pool est opérationnel.

Utiliser le pool dans Azure DevOps

  • Le pool sera visible dans Azure DevOps sous Project Settings → Agent Pools.
  • Il peut être utilisé dans vos pipelines pour déployer du code sur des App Service et Function Apps isolés.

Conclusion

Les pools DevOps managés permettent de combiner :

  • La simplicité des agents managés Microsoft.
  • L’accès à des ressources isolées et sécurisées.
  • Une gestion automatisée du scaling, réduisant les coûts par rapport aux Self-Hosted.

Ils constituent une solution flexible pour déployer sur des environnements hautement sécurisés, tout en conservant l’agilité des pipelines Azure DevOps.

Étiquettes:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *