Architecture Azure Pipelines pour IaaS

Important

CI/CD pour les applications IaaS est une variante de Concevoir un pipeline CI/CD à l’aide d’Azure DevOps. Cet article est axé sur les spécificités du déploiement d’applications web sur Machines Virtuelles Azure.

Machines Virtuelles Azure est une option permettant d’héberger des applications personnalisées lorsque vous souhaitez bénéficier d’une gestion flexible et précise de votre calcul. Les machines virtuelles doivent être soumises au même niveau de rigueur d’ingénierie que les offres PaaS (Platform-as-a-Service) tout au long du cycle de vie du développement, par exemple en ce qui concerne l’implémentation de pipelines de build et de mise en production automatisés pour pousser des modifications aux machines virtuelles.

Cet article décrit un workflow général DevOps pour déployer des modifications d’application sur des machines virtuelles à l’aide de pratiques d’intégration continue (CI) et de déploiement continu (CD) à l’aide d’Azure Pipelines.

Architecture

Diagramme d’architecture d’un pipeline CI/CD utilisant Azure Pipelines.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Cette section part du principe que vous avez lu Architecture de base Azure Pipelines, et elle est axée uniquement sur les spécificités du déploiement d’une charge de travail sur Machines Virtuelles Azure.

  1. Pipeline PR - Identique à la base de référence

  2. Pipeline CI - Identique à la base de référence, sauf que les artefacts de build créés pour le déploiement d’une application web sur IaaS sont un package Web Deploy

  3. Déclencheur de pipeline CD - Identique à la base de référence

  4. CD mise en préproduction : identique à la base de référence à deux exceptions près : 1) l’artefact de build téléchargé est le package Web Deploy et 2) le package est déployé sur une machine virtuelle Azure intermédiaire.

  5. CD mise en production - Identique à la base de référence à deux exceptions près :

    a. La mise en production s’effectue en mettant à jour Azure Traffic Manager de façon à permuter la préproduction et la production. Pour ce faire, vous pouvez disposer d’un profil Traffic Manager avec deux points de terminaison, où la production est activée et la préproduction désactivée. Pour permuter la préproduction et la production, désactivez la production et activez la préproduction.
    b. Une restauration peut être effectuée en mettant à jour Azure Traffic Manager de façon à repermuter la production et la préproduction.

  6. Monitoring - identique à la base de référence

Composants

Cette section part du principe que vous avez lu la section sur les composants d’architecture de base Azure Pipelines, et elle est axée uniquement sur les spécificités du déploiement d’une charge de travail sur Machines Virtuelles Azure.

  • Les machines virtuelles Azure fournissent une infrastructure sécurisée et virtualisée à la demande et à grande échelle avec un serveur Windows ou Linux. Les machines virtuelles sont utilisés dans cette architecture pour héberger des charges de travail.

  • Les groupes de machines virtuelles identiques vous permettent de créer et de gérer un groupe de machines virtuelles identiques à charge équilibrée. Le nombre d’instances de machine virtuelle peut augmenter ou diminuer automatiquement en fonction d’une demande ou d’un calendrier défini. Des groupes identiques peuvent également être utilisés pour héberger des charges de travail.

  • Azure Traffic Manager est un équilibreur de charge de trafic basé sur le système DNS, que vous pouvez utiliser pour distribuer le trafic vers les points de terminaison configurés. Dans cette architecture, Traffic Manager est le point d’entrée unique pour les clients, et il est configuré avec plusieurs points de terminaison, représentant la machine virtuelle de production et la machine virtuelle intermédiaire. Le point de terminaison de la machine virtuelle de production est activé, et la préproduction est désactivée.

Autres solutions

Cet article se concentre sur l’utilisation d’Azure Traffic Manager comme équilibreur de charge. Azure propose différentes options d’équilibrage de charge que vous pouvez envisager.

Considérations

Cette section part du principe que vous avez lu la section sur les considérations applicables à l’architecture de base Azure Pipelines, et elle est axée uniquement sur les considérations propres au déploiement d’une charge de travail sur Machines Virtuelles Azure.

Excellence opérationnelle

  • Traffic Manager étant basé sur le système DNS, la mise en cache cliente des adresses IP introduit une latence. Même si vous pouvez activer un point de terminaison et en désactiver un autre dans Traffic Manager, les clients continueront d’utiliser leur adresse IP mise en cache jusqu’à l’expiration de la durée de vie (TTL) DNS. Réfléchissez aux options d’équilibrage de charge qui agissent au niveau de la couche 4 ou de la couche 7.

  • Pensez à implémenter des environnements au-delà de la préproduction et de la production pour activer des opérations telles que les restaurations, les tests d’acceptation manuels et les tests de performances. Le fait d’utiliser la préproduction en tant qu’environnement de restauration vous empêche de pouvoir utiliser cet environnement à d’autres fins.

Étapes suivantes