Partager via


Considérations relatives aux applications pour les charges de travail Azure VMware Solution

Cet article décrit la zone de conception de la plateforme d’application d’une charge de travail Azure VMware Solution. Cette zone couvre les tâches et responsabilités spécifiques associées au déploiement, à la configuration et à la maintenance des applications que vous hébergez dans un environnement Azure VMware Solution. Un propriétaire d’application est responsable des applications dans un environnement Azure VMware Solution. Cette personne ou cette équipe gère les aspects liés au déploiement, à la configuration, à la surveillance et à la maintenance des applications.

Les principaux objectifs d’une application bien conçue sont les suivants :

  • Conception pour l’échelle. Gérez de manière appropriée les demandes plus élevées des utilisateurs et les transactions simultanées sans dégradation ni interruption de service.
  • Performances. Fournissez des temps de réponse rapides et à faible latence et gérez efficacement l’utilisation des ressources.
  • Fiabilité et résilience. Concevez des modèles redondants et tolérants aux pannes pour garantir que votre application reste réactive et qu’elle récupère rapidement en cas de défaillance.

Cet article vise à fournir aux développeurs, aux architectes et aux propriétaires d’applications les meilleures pratiques spécifiques à Azure VMware Solution. Ces pratiques peuvent vous aider à créer des applications qui restent robustes, sécurisées, évolutives et maintenables tout au long de leur cycle de vie.

Conception pour la scalabilité et la distribution efficace des ressources

Impact : Fiabilité, Efficacité des performances, Sécurité

Cette section décrit l’allocation et l’utilisation effectives des ressources informatiques sur les machines virtuelles et les charges de travail au sein du cloud privé Azure VMware Solution. Ces ressources peuvent inclure le processeur, la mémoire, le stockage et les ressources réseau. Cette section explore également l’implémentation de techniques de mise à l’échelle réactives. Vous pouvez utiliser ces techniques pour adapter dynamiquement l’approvisionnement des ressources en fonction des fluctuations de la demande. L’objectif principal est d’atteindre une utilisation optimale des ressources en atténuant la sous-utilisation et le surprovisionnement qui peuvent entraîner des inefficacités et des dépenses accrues.

Utiliser des domaines d’erreur

Les domaines d’erreur dans Azure VMware Solution représentent des regroupements logiques de ressources au sein d’un cluster étendu. Ces ressources partagent un domaine d’erreur physique commun. Les domaines d’erreur permettent d’améliorer la disponibilité dans différents scénarios d’échec. L’organisation des ressources en domaines d’erreur permet de garantir que les composants critiques d’une application sont répartis entre plusieurs domaines d’échec.

En plaçant des machines virtuelles et d’autres ressources dans des domaines d’erreur distincts, l’équipe d’application permet de s’assurer qu’une application reste disponible en cas de défaillance d’un centre de données ou d’une infrastructure. Par exemple, vous pouvez séparer les machines virtuelles en domaines d’erreur répartis entre des centres de données géographiquement distribués. Votre application peut alors rester opérationnelle si un centre de données rencontre une défaillance complète.

Les équipes d’application doivent envisager de définir des règles d’affinité machine virtuelle et anti-affinité basées sur des domaines d’erreur. Les règles d’affinité machine virtuelle placent les machines virtuelles critiques dans le même domaine d’erreur pour s’assurer qu’elles ne sont pas réparties entre plusieurs centres de données. Les règles anti-affinité empêchent les machines virtuelles associées d’être placées ensemble dans le même domaine d’erreur. Cette pratique permet de garantir la redondance.

Utiliser des stratégies d’anti-affinité de machine virtuelle dans les applications à trois niveaux

Dans Azure VMware Solution, un cas d’usage pour les stratégies anti-affinité de machine virtuelle implique une application à trois niveaux. L’objectif est d’améliorer la haute disponibilité, la tolérance de panne et la résilience de chaque niveau application. Pour atteindre cet objectif, vous pouvez utiliser des stratégies anti-affinités pour répartir les niveaux entre différents hôtes au sein du Azure VMware Solution cloud privé.

Pour implémenter ce cas d’usage, créez une architecture distribuée et tolérante aux pannes à l’aide de stratégies d’anti-affinité de machine virtuelle sur trois niveaux. Cette configuration améliore la disponibilité de l’application entière et permet de s’assurer que la défaillance d’un hôte unique n’interrompt pas le niveau entier ou l’ensemble de l’application.

Par exemple, dans le niveau web frontal qui traite les demandes des utilisateurs, vous pouvez appliquer des stratégies d’anti-affinité de machine virtuelle pour répartir les serveurs web sur différents hôtes physiques. Cette approche permet d’améliorer la haute disponibilité et la tolérance de panne. De même, vous pouvez utiliser des mesures anti-affinités pour protéger les serveurs d’applications dans la couche métier et renforcer la résilience des données au sein de la couche de base de données.

Diagramme d’architecture qui montre une application à trois niveaux segmentée à l’aide de stratégies d’affinité machine virtuelle-machine virtuelle.

Recommandations
  • Créez des cartes qui montrent les interdépendances, la communication et les modèles d’utilisation des machines virtuelles pour vous assurer que la proximité est une exigence.
  • Déterminez si l’affinité machine virtuelle/machine virtuelle de stratégie de placement permet de répondre aux métriques de performances ou aux contrats de niveau de service (SLA).
  • Concevez la haute disponibilité en implémentant des stratégies d’anti-affinité de machine virtuelle de placement pour vous protéger contre les défaillances de l’hôte et distribuer votre application sur plusieurs hôtes.
  • Pour éviter le surapprovisionnement, répartissez votre charge de travail sur de petites machines virtuelles plutôt que sur quelques grandes machines virtuelles.
  • Surveillez, examinez et ajustez régulièrement les stratégies d’affinité pour identifier les conflits de ressources potentiels. Adaptez ces stratégies au fil du temps en fonction des besoins.

Utiliser des stratégies d’affinité hôte-machine virtuelle pour l’isolation des performances

Certaines charges de travail qui exécutent des machines virtuelles dans différents niveaux d’application fonctionnent mieux lorsqu’elles sont colocalisées. Ce cas d’usage se produit souvent lorsque les applications nécessitent :

  • Isolation des performances pour les charges de travail de calcul hautes performances gourmandes en ressources.
  • Conformité aux contrats de licence. Par instance, les spécifications système peuvent nécessiter un mappage qui associe une machine virtuelle à un ensemble spécifique de cœurs pour maintenir la conformité avec les licences Windows ou SQL Server.
  • Conformité réglementaire et intégrité des données pour garantir que les machines virtuelles qui appartiennent à des domaines de sécurité ou à des classifications de données spécifiques sont limitées à des hôtes spécifiques ou à un sous-ensemble d’hôtes au sein du cluster.
  • Configuration réseau simplifiée qui place les machines virtuelles sur le même hôte. Dans ce cas, la configuration réseau entre les niveaux est simplifiée. Les niveaux partagent la même connectivité réseau et ne nécessitent pas de tronçons réseau supplémentaires.

S’il est essentiel de maintenir la colocalisation des niveaux d’application, vous pouvez opter pour des stratégies d’affinité machine virtuelle-hôte pour vous assurer que les niveaux sont déployés sur le même hôte et au sein de la même zone de disponibilité.

Diagramme d’architecture montrant une application à trois niveaux segmentée à l’aide de stratégies d’affinité hôte de machine virtuelle.

Notes

L’équipe de plateforme est responsable de la configuration du placement des machines virtuelles, des règles d’affinité d’hôte et du regroupement de ressources. Toutefois, l’équipe d’application doit comprendre les exigences de performances de chaque application pour s’assurer que les besoins des applications sont satisfaits.

Les équipes d’application doivent évaluer de manière complète le placement des machines virtuelles et s’engager dans une planification minutieuse. Le placement d’une machine virtuelle peut présenter des défis potentiels tels que des déséquilibres de ressources et une distribution inégale de la charge de travail. Ces situations peuvent avoir des effets négatifs sur les performances et l’optimisation des ressources. En outre, le fait de placer toutes les charges de travail dans une seule zone de disponibilité peut créer un point de défaillance unique en cas de sinistre. Envisagez de répliquer votre configuration sur plusieurs zones de disponibilité pour améliorer la résilience du centre de données en cas de défaillance.

Recommandations
  • Planifiez soigneusement l’utilisation des stratégies d’affinité machine virtuelle-hôte de stratégie de placement. Envisagez d’autres solutions dans la mesure du possible, telles que l’équilibrage de charge, les pools de ressources dans VMware vSphere, les bases de données distribuées, la conteneurisation et les zones de disponibilité.
  • Surveillez régulièrement l’utilisation et les performances des ressources pour identifier les déséquilibres ou problèmes éventuels.
  • Optez pour une stratégie de placement des machines virtuelles équilibrée et flexible. Cette approche vous permet d’optimiser l’utilisation des ressources tout en conservant une haute disponibilité et en garantissant la conformité aux exigences de licence.
  • Testez et validez les configurations d’affinité hôte-machine virtuelle de votre stratégie de placement pour vous assurer qu’elles s’alignent sur les exigences spécifiques de votre application et qu’elles n’ont pas d’impact négatif sur les performances globales et la résilience.

Distribuer le trafic à l’aide d’une application ou d’un équilibreur de charge réseau

Outre l’utilisation de stratégies de placement, l’équilibrage de charge est également un composant essentiel des applications modernes pour garantir :

  • Distribution efficace des ressources.
  • Disponibilité accrue des applications.
  • Performances optimales de l’application.

L’équilibrage de charge répond à ces critères tout en conservant la flexibilité pour la mise à l’échelle et la gestion de la charge de travail.

Après avoir déployé des applications sur des machines virtuelles, envisagez d’utiliser un outil d’équilibrage de charge tel que Azure Application Gateway pour créer des pools principaux. Application Gateway est un équilibreur de charge du trafic web managé et un service de livraison d’applications qui peut gérer et optimiser le trafic HTTP et HTTPS entrant vers les applications web. En tant que point d’entrée pour le trafic web, Application Gateway offre différents types de fonctionnalités. Les exemples incluent l’arrêt TLS/SSL, le routage basé sur une URL, l’affinité de session et les fonctionnalités de pare-feu d’applications web.

Diagramme d’architecture qui montre comment le trafic circule d’un navigateur à travers Application Gateway aux pools principaux.

Une fois que les ressources de vos pools principaux sont disponibles, créez des écouteurs pour spécifier des ports et des règles de routage pour les demandes entrantes. Vous pouvez ensuite créer des sondes d’intégrité pour surveiller l’intégrité de vos machines virtuelles et indiquer quand supprimer les ressources principales non saines de la rotation.

Implémenter l’arrêt TLS/SSL et la gestion des certificats

Le chiffrement TLS/SSL doit être appliqué pour toutes les communications entre votre application et les navigateurs des utilisateurs. Ce chiffrement permet de protéger les données de session contre les écoutes clandestines et les attaques de l’homme du milieu. Si votre application nécessite l’arrêt TLS/SSL, configurez le certificat TLS/SSL nécessaire dans Application Gateway pour décharger le traitement TLS/SSL de vos machines virtuelles principales.

Après avoir généré des certificats TLS/SSL, placez-les dans un service comme Azure Key Vault qui vous permet de les stocker et d’y accéder en toute sécurité. Utilisez PowerShell, Azure CLI ou des outils tels que Azure Automation pour mettre à jour et renouveler des certificats.

Gérer les API

Azure Gestion des API vous aide à publier en toute sécurité des points de terminaison d’API déployés en interne et en externe. Un exemple de point de terminaison est une API back-end qui se trouve dans un cloud privé Azure VMware Solution derrière un équilibreur de charge ou un Application Gateway. Gestion des API vous aide à gérer les méthodes et les comportements de votre API, par exemple en appliquant des stratégies de sécurité pour appliquer l’authentification et l’autorisation. Gestion des API pouvez également acheminer les demandes d’API vers vos services principaux via Application Gateway.

Dans le diagramme suivant, le trafic des consommateurs est acheminé vers un point de terminaison public Gestion des API. Le trafic est ensuite transféré vers les API principales qui s’exécutent sur Azure VMware Solution.

Diagramme d’architecture d’un centre de données Azure VMware Solution connecté à un hub central. Le hub héberge Application Gateway et Gestion des API.

Recommandations
  • Pour améliorer la sécurité et les performances de vos applications Azure VMware Solution, utilisez Application Gateway avec Azure VMware Solution back-ends pour distribuer le trafic vers vos points de terminaison d’application.
  • Assurez-vous qu’il existe une connectivité entre les segments principaux qui hébergent Azure VMware Solution et le sous-réseau qui contient Application Gateway ou l’équilibreur de charge.
  • Configurer l’intégrité permet de surveiller l’intégrité de vos instances back-end.
  • Déchargez l’arrêt TLS/SSL sur Application Gateway pour réduire la surcharge de traitement sur les machines virtuelles back-end.
  • Stockez en toute sécurité les clés TLS/SSL dans les coffres.
  • Simplifiez les processus en automatisant des tâches telles que les mises à jour et les renouvellements de certificats.

Optimiser les clusters étendus pour renforcer la continuité d’activité et la préparation à la reprise d’activité

Impact : Fiabilité

Les clusters étendus fournissent aux clusters VMware des fonctionnalités de haute disponibilité et de récupération d’urgence dans plusieurs centres de données géographiquement distribués.

Le programme d’installation suivant prend en charge les architectures actif-actif. Le réseau de zone de stockage virtuel (vSAN) s’étend sur deux centres de données. Une troisième zone de disponibilité est mappée à un témoin vSAN pour servir de quorum pour les scénarios de fractionnement du cerveau.

Diagramme d’architecture montrant un cluster étendu vSAN sur deux zones de disponibilité. Une troisième zone contient un témoin vSAN.

La distribution de l’application entre plusieurs zones de disponibilité et régions permet de garantir une disponibilité continue en cas de défaillance du centre de données. Déployez les niveaux d’application et les niveaux de données sur les deux centres de données, puis activez la réplication synchrone.

Configurer les stratégies de tolérance de panne et d’échec de tolérance (FTT)

La capacité utilisable totale de votre application dépend de plusieurs variables. Par exemple, votre tableau redondant de disques indépendants (RAID) configuration, la valeur de votre failures to tolerate attribut et les stratégies d’échec de tolérance (FTT) qui contrôlent le nombre de défaillances que votre système de stockage peut tolérer. Les équipes d’application doivent déterminer le niveau de redondance nécessaire pour l’application. Il est également important de noter que des valeurs FTT plus élevées améliorent la résilience des données, mais augmentent la surcharge de stockage.

Recommandations
  • Déployez votre application sur le stockage partagé afin que les données de machine virtuelle restent cohérentes sur le cluster étendu. Activez la réplication synchrone.
  • Configurez les domaines d’erreur pour définir la façon dont les clusters étendus doivent répondre dans un scénario d’échec.
  • Implémentez le basculement automatique et la restauration automatique pour réduire l’intervention manuelle lors des événements de basculement et de récupération.

Configurer des stratégies de synchronisation et de stockage des données

Les méthodes de synchronisation des données sont importantes lorsque votre application s’appuie sur des données et des bases de données avec état pour garantir la cohérence et la disponibilité en cas de sinistre. La synchronisation des données permet d’assurer une haute disponibilité et une tolérance de panne pour les machines virtuelles critiques qui exécutent des applications.

Un propriétaire d’application peut définir une stratégie de stockage pour garantir que :

  • Les machines virtuelles critiques qui exécutent une application reçoivent le niveau de redondance et de performances des données requis.
  • Les machines virtuelles sont positionnées pour tirer parti des fonctionnalités de haute disponibilité du cluster étendu dans Azure VMware Solution.

Les exemples de stratégies peuvent impliquer les facteurs suivants :

  • Configuration de vSAN. Utilisez un vSAN VMware avec un cluster étendu entre les zones de disponibilité.
  • Nombre d’échecs à tolérer. Définissez la stratégie pour tolérer au moins un ou plusieurs échecs. Par exemple, utilisez une disposition RAID-1.
  • Les performances. Configurez les paramètres liés aux performances pour optimiser les E/S par seconde et la latence pour les machines virtuelles critiques.
  • Règles d’affinité. Configurez des règles d’affinité pour vous assurer que les machines virtuelles ou les groupes de machines virtuelles sont placés dans des hôtes ou des domaines d’erreur distincts au sein du cluster étendu afin d’optimiser la disponibilité lors des défaillances du centre de données.
  • Sauvegarde et réplication. Spécifiez l’intégration avec des solutions de sauvegarde et de réplication pour vous assurer que les données de machine virtuelle sont régulièrement sauvegardées et répliquées vers un emplacement secondaire pour une protection supplémentaire des données.
Recommandations
  • Définissez des stratégies de stockage des données dans le vSAN pour spécifier la redondance et les performances requises pour différents disques de machine virtuelle.
  • Configurez les applications pour qu’elles s’exécutent dans une configuration active-active ou active-passive afin que les composants d’application critiques puissent échouer lors des défaillances du centre de données.
  • Comprendre la configuration réseau requise pour chaque application. Les applications qui s’exécutent dans des zones de disponibilité peuvent entraîner une latence plus élevée que les applications avec du trafic dans une zone de disponibilité. Concevez votre application pour tolérer cette latence.
  • Exécutez des tests de performances sur vos stratégies de placement pour évaluer leur impact sur votre application.

Étapes suivantes

Maintenant que vous avez examiné la plateforme d’application, découvrez comment établir la connectivité, créer des périmètres pour votre charge de travail et distribuer uniformément le trafic vers vos charges de travail d’application.

Utilisez l’outil d’évaluation pour évaluer vos choix de conception.