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’applications 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 supervision et à la maintenance des applications.

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

  • Conception pour la mise à l’échelle. Gérez normalement des demandes utilisateur plus élevées et des transactions simultanées sans dégradation ou interruption de service.
  • Performance. 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 vous assurer que votre application reste réactive et récupère rapidement des défaillances.

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 dans le 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 pour prendre en charge les fluctuations de la demande. L’objectif principal est d’obtenir 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 croissantes.

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 aident à améliorer la disponibilité dans différents scénarios d’échec. L’organisation de ressources en domaines d’erreur permet de s’assurer 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 lors d’une défaillance du centre de données ou de l’infrastructure. Par exemple, vous pouvez séparer des machines virtuelles en domaines d’erreur répartis sur des centres de données distribués géographiquement. Votre application peut ensuite rester opérationnelle si un centre de données rencontre un échec complet.

Les équipes d'application doivent envisager de définir des règles d'affinité et d'anti-affinité VM-VM basées sur des domaines de panne. VM-VM règles d’affinité placent des 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 d’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 les stratégies d’anti-affinité VM-VM pour les applications à trois niveaux

Dans Azure VMware Solution, un cas pratique pour les stratégies d'anti-affinité VM-VM consiste en 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 d’application. Pour atteindre cet objectif, vous pouvez utiliser des stratégies d’anti-affinité pour répartir les niveaux entre différents hôtes au sein du cloud privé Azure VMware Solution.

Pour implémenter ce cas d’usage, créez une architecture distribuée et tolérante aux pannes en utilisant des stratégies anti-affinité VM-VM sur trois couches. Cette configuration améliore la disponibilité de l’ensemble de l’application et permet de s’assurer que l’échec d’un seul hôte n’interrompt pas l’intégralité du niveau ou de l’ensemble de l’application.

Par exemple, dans le niveau web frontal qui répond aux demandes des utilisateurs, vous pouvez appliquer VM-VM stratégies d’anti-affinité 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é 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 montrant une application à trois niveaux segmentée à l’aide de stratégies d’affinité VM-VM.

Recommendations
  • Créez des cartes qui montrent les interdépendances, la communication et les modèles d’utilisation des machines virtuelles pour garantir que la proximité est requise.
  • Déterminez si la stratégie de placement VM-VM affinité 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 de placement VM-VM anti-affinité pour vous protéger contre les défaillances de l’hôte et distribuer votre application sur plusieurs hôtes.
  • Pour éviter le surprovisionnement, distribuez votre charge de travail sur de petites machines virtuelles plutôt que sur quelques machines virtuelles volumineuses.
  • Surveillez régulièrement, examinez et ajustez régulièrement les stratégies d’affinité pour identifier la contention potentielle des ressources. Adaptez ces stratégies au fil du temps en fonction des besoins.

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

Certaines charges de travail qui exécutent des machines virtuelles dans différents niveaux d’application s’effectuent 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 nécessitant beaucoup de ressources et hautes performances.
  • Conformité aux contrats de licence. Par exemple, 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 appartenant à 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 choisir des stratégies d’affinité d’hôte de machine virtuelle pour vous assurer que les niveaux sont déployés sur le même hôte et dans la même zone de disponibilité.

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

Note

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

Les équipes d’application doivent évaluer de façon complète le placement des machines virtuelles et s’engager dans une planification méticuleuse. Le placement des machines virtuelles peut présenter des défis potentiels tels que des déséquilibres de ressources et une distribution inégale des charges de travail. Ces situations peuvent entraîner des effets néfastes sur les performances et l’optimisation des ressources. En outre, le placement de toutes les charges de travail dans une 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 des centres de données lors d’une défaillance.

Recommendations
  • Planifiez soigneusement la façon dont vous utilisez les politiques d'affinité hôte de machine virtuelle de politique de placement. Envisagez d’autres solutions si 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.
  • Optez pour une stratégie de placement de machine virtuelle équilibrée et flexible. Cette approche vous permet d’optimiser l’utilisation des ressources tout en conservant la haute disponibilité et en garantissant la conformité aux exigences de licence.
  • Testez et validez vos stratégies d'affinité hôte-machine virtuelle 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 leurs performances globales et leur résilience.

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

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

  • Distribution efficace des ressources.
  • Disponibilité accrue des applications.
  • Performances optimales des applications.

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 qu’Azure Application Gateway pour créer des pools principaux. Application Gateway est un équilibreur de charge de trafic web managé et un service de remise d’applications capables de gérer et d’optimiser le trafic HTTP et HTTPS entrant vers des applications web. En tant que point d’entrée pour le trafic web, Application Gateway offre différents types de fonctionnalités. Par exemple, l’arrêt TLS/SSL, le routage basé sur l’URL, l’affinité de session et les fonctionnalités de pare-feu d’applications web.

Diagramme d’architecture montrant comment le trafic transite d’un navigateur via Application Gateway vers des pools principaux.

Une fois les ressources de vos pools principaux disponibles, créez des écouteurs pour spécifier des ports et des règles de routage pour les requêtes 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 et les attaques man-in-the-middle. Si votre application nécessite une terminaison TLS/SSL, configurez le certificat TLS/SSL nécessaire dans Application Gateway pour décharger le traitement TLS/SSL à partir de vos machines virtuelles principales.

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

Gérer les API

Gestion des API Azure 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 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 peut également acheminer les demandes d’API vers vos services principaux via Application Gateway.

Dans le diagramme suivant, le trafic des consommateurs se déplace vers un point de terminaison public de la Gestion des API. Le trafic est ensuite transféré aux 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.

Recommendations
  • Pour améliorer la sécurité et les performances de vos applications Azure VMware Solution, utilisez Application Gateway avec le back-end Azure VMware Solution pour distribuer le trafic vers vos points de terminaison d’application.
  • Vérifiez 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.
  • Configurez les sondes d’intégrité pour surveiller la santé de vos instances de back-end.
  • Déchargez l’arrêt TLS/SSL vers Application Gateway pour réduire la surcharge de traitement sur les machines virtuelles principales.
  • Stockez en toute sécurité les clés TLS/SSL dans les coffres.
  • Simplifiez les processus en automatisant les tâches telles que les mises à jour de certificat et les renouvellements.

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

Impact : Fiabilité

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

La configuration suivante prend en charge les architectures actives. Le réseau de zone de stockage virtuel (vSAN) s’étend sur deux centres de données. Une troisième zone de disponibilité est associée à un témoin vSAN pour servir de quorum pour les scénarios de cerveau partagé.

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 dans plusieurs zones de disponibilité et régions permet de garantir une disponibilité continue pendant les défaillances du centre de données. Déployez les niveaux d’application et les niveaux de données dans les deux centres de données et activez la réplication synchrone.

Configurer la tolérance de panne et les politiques de nombre de pannes à tolérer (FTT)

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

Recommendations
  • 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 le retour à la normale automatique pour réduire l’intervention manuelle lors de situations de basculement ou de récupération.

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

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é pendant un sinistre. La synchronisation des données permet de fournir 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 vous assurer que :

  • Les machines virtuelles critiques qui exécutent une application reçoivent le niveau requis de redondance et de performances des données.
  • 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 :

  • La configuration vSAN. Utilisez un VMware vSAN 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ées dans des hôtes ou des domaines d’erreur distincts au sein du cluster étendu pour optimiser la disponibilité pendant les défaillances du centre de données.
  • Sauvegarde et réplication. Spécifiez l’intégration avec les 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.
Recommendations
  • Définissez des stratégies de stockage de données dans le réseau 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 ou active passive afin que les composants d’application critiques puissent échouer pendant les défaillances du centre de données.
  • Comprendre les exigences réseau de chaque application. Les applications qui s'exécutent à travers plusieurs zones de disponibilité peuvent entraîner une latence plus élevée que celles dont le trafic se situe au sein d'une seule 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’applications, 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.