Anwendungsüberlegungen für Azure VMware Solution Workloads

In diesem Artikel wird der Anwendungsplattformentwurfsbereich einer Azure VMware Solution Workload erläutert. In diesem Bereich werden die spezifischen Aufgaben und Zuständigkeiten behandelt, die mit der Bereitstellung, Konfiguration und Verwaltung von Anwendungen verbunden sind, die Sie in einer Azure VMware Solution-Umgebung hosten. Ein Anwendungsbesitzer ist für die Anwendungen in einer Azure VMware Solution Umgebung verantwortlich. Diese Person oder das Team verwaltet Aspekte, die sich auf die Bereitstellung, Konfiguration, Überwachung und Wartung der Anwendungen beziehen.

Zu den wichtigsten Zielen einer gut entworfenen Anwendung gehören:

  • Entwerfen für Skalierung. Behandeln Sie höhere Benutzeranforderungen und gleichzeitige Transaktionen ohne Beeinträchtigung oder Dienstunterbrechung.
  • Leistung: Sorgen Sie für schnelle Antwortzeiten mit geringer Latenz und effizientes Verwalten der Ressourcenauslastung.
  • Zuverlässigkeit und Resilienz. Entwerfen Sie redundante, fehlertolerante Muster, um sicherzustellen, dass Ihre Anwendung reaktionsfähig bleibt und schnell nach Fehlern wiederhergestellt wird.

Dieser Artikel zielt darauf ab, Entwicklern, Architekten und Anwendungsbesitzern bewährte Methoden zur Verfügung zu stellen, die für Azure VMware Solution spezifisch sind. Diese Methoden können Ihnen helfen, Anwendungen zu erstellen, die während ihres gesamten Lebenszyklus robust, sicher, skalierbar und verwaltbar bleiben.

Entwurf für Skalierbarkeit und effiziente Ressourcenverteilung

Auswirkung: Zuverlässigkeit, Leistungseffizienz, Sicherheit

In diesem Abschnitt wird die effektive Zuordnung und Nutzung von Computingressourcen auf virtuellen Computern (VMs) und Workloads innerhalb der Azure VMware Solution privaten Cloud behandelt. Diese Ressourcen können CPU-, Arbeitsspeicher-, Speicher- und Netzwerkressourcen umfassen. In diesem Abschnitt wird auch die Implementierung reaktionsschneller Skalierungstechniken untersucht. Sie können diese Techniken verwenden, um die Ressourcenbereitstellung dynamisch an Schwankungen der Nachfrage anzupassen. Das Hauptziel besteht darin, eine optimale Ressourcennutzung zu erreichen, indem Unterauslastung und Überbereitstellung abgemildert werden, die zu Ineffizienzen und eskalierten Ausgaben führen kann.

Verwenden von Fehlerdomänen

Fehlerdomänen in Azure VMware Solution stellen logische Gruppierungen von Ressourcen in einem gestreckten Cluster dar. Diese Ressourcen teilen sich eine gemeinsame physische Fehlerdomäne. Fehlerdomänen helfen, die Verfügbarkeit in verschiedenen Fehlerszenarien zu verbessern. Durch das Organisieren von Ressourcen in Fehlerdomänen wird sichergestellt, dass kritische Komponenten einer Anwendung auf mehrere Fehlerdomänen verteilt werden.

Durch das Platzieren von VMs und anderen Ressourcen in separaten Fehlerdomänen trägt das Anwendungsteam dazu bei, dass eine Anwendung während eines Rechenzentrums- oder Infrastrukturfehlers verfügbar bleibt. Beispielsweise können Sie VMs in Fehlerdomänen aufteilen, die auf geografisch verteilte Rechenzentren verteilt sind. Dann kann Ihre Anwendung betriebsbereit bleiben, wenn in einem Rechenzentrum ein vollständiger Ausfall auftritt.

Anwendungsteams sollten erwägen, VM-Affinitäts- und Antiaffinitätsregeln zu definieren, die auf Fehlerdomänen basieren. Vm-VM-Affinitätsregeln platzieren kritische VMs in derselben Fehlerdomäne, um sicherzustellen, dass sie nicht auf mehrere Rechenzentren verteilt werden. Antiaffinitätsregeln verhindern, dass verwandte VMs in derselben Fehlerdomäne platziert werden. Diese Vorgehensweise trägt dazu bei, Redundanz zu gewährleisten.

Verwenden von VM-Antiaffinitätsrichtlinien in Anwendungen mit drei Ebenen

In Azure VMware Solution umfasst ein Anwendungsfall für VM-VM-Antiaffinitätsrichtlinien eine Anwendung mit drei Ebenen. Das Ziel besteht darin, die Hochverfügbarkeit, Fehlertoleranz und Resilienz jeder Anwendungsebene zu verbessern. Um dieses Ziel zu erreichen, können Sie Antiaffinitätsrichtlinien verwenden, um die Ebenen auf verschiedene Hosts innerhalb der Azure VMware Solution privaten Cloud zu verteilen.

Um diesen Anwendungsfall zu implementieren, erstellen Sie eine verteilte, fehlertolerante Architektur mithilfe von VM-VM-Antiaffinitätsrichtlinien auf drei Ebenen. Dieses Setup verbessert die Verfügbarkeit der gesamten Anwendung und trägt dazu bei, dass der Ausfall eines einzelnen Hosts nicht die gesamte Ebene oder die gesamte Anwendung beeinträchtigt.

Beispielsweise können Sie auf der Front-End-Webebene, die Benutzeranforderungen verarbeitet, VM-VM-Antiaffinitätsrichtlinien anwenden, um die Webserver auf verschiedene physische Hosts zu verteilen. Dieser Ansatz trägt dazu bei, Hochverfügbarkeit und Fehlertoleranz zu verbessern. Ebenso können Sie Antiaffinitätsmaßnahmen verwenden, um die Anwendungsserver auf der Geschäftsebene zu schützen und die Datenresilienz innerhalb der Datenbankschicht zu stärken.

Architekturdiagramm, das eine dreistufige App zeigt, die mithilfe von VM-VM-Affinitätsrichtlinien segmentiert ist.

Empfehlungen
  • Erstellen Sie Zuordnungen, die Vm-Abhängigkeiten, Kommunikations- und Nutzungsmuster anzeigen, um sicherzustellen, dass Nähe eine Anforderung ist.
  • Bestimmen Sie, ob die Vm-VM-Affinität von Platzierungsrichtlinien dazu beiträgt, Leistungsmetriken oder Vereinbarungen zum Servicelevel (SLAs) zu erfüllen.
  • Entwerfen Sie Hochverfügbarkeit, indem Sie Vm-VM-Antiaffinitätsrichtlinien implementieren, um sich vor Hostausfällen zu schützen und Ihre Anwendung auf mehrere Hosts zu verteilen.
  • Um eine Überbereitstellung zu vermeiden, verteilen Sie Ihre Workload auf kleine VMs und nicht auf wenige große VMs.
  • Überwachen, überprüfen und optimieren Sie Affinitätsrichtlinien regelmäßig, um potenzielle Ressourcenkonflikte zu identifizieren. Passen Sie diese Richtlinien nach Bedarf im Laufe der Zeit an.

Verwenden von VM-Host-Affinitätsrichtlinien für die Leistungsisolation

Einige Workloads, auf denen VMs in verschiedenen Anwendungsebenen ausgeführt werden, sind bei der Zuordnung besser. Dieser Anwendungsfall tritt häufig auf, wenn Anwendungen Folgendes erfordern:

  • Leistungsisolation für ressourcenintensive, leistungsstarke Computeworkloads.
  • Einhaltung von Lizenzvereinbarungen. Für instance erfordern Systemspezifikationen möglicherweise eine Zuordnung, die eine VM einem bestimmten Satz von Kernen zuordnet, um die Konformität mit Windows oder SQL Server Lizenzierung zu gewährleisten.
  • Einhaltung gesetzlicher Bestimmungen und Datenintegrität , um sicherzustellen, dass VMs, die bestimmten Sicherheitsdomänen oder Datenklassifizierungen angehören, auf bestimmte Hosts oder eine Teilmenge von Hosts innerhalb des Clusters beschränkt sind.
  • Eine vereinfachte Netzwerkkonfiguration , die VMs auf demselben Host platziert. In diesem Fall wird die Netzwerkkonfiguration zwischen Ebenen vereinfacht. Die Tarife nutzen dieselbe Netzwerkkonnektivität und erfordern keine zusätzlichen Netzwerkhops.

Wenn die Colocation von Anwendungsebenen unbedingt beibehalten werden muss, können Sie sich für VM-Host-Affinitätsrichtlinien entscheiden, um sicherzustellen, dass die Ebenen auf demselben Host und innerhalb derselben Verfügbarkeitszone bereitgestellt werden.

Architekturdiagramm, das eine dreistufige App zeigt, die mithilfe von VM-Host-Affinitätsrichtlinien segmentiert ist.

Hinweis

Das Plattformteam ist für die Einrichtung der VM-Platzierung, Hostaffinitätsregeln und Ressourcenpools verantwortlich. Das Anwendungsteam sollte jedoch die Leistungsanforderungen jeder Anwendung kennen, um sicherzustellen, dass die Anwendungsanforderungen erfüllt werden.

Anwendungsteams müssen die VM-Platzierung umfassend evaluieren und sorgfältig planen. Vm-Platzierung kann potenzielle Herausforderungen wie Ressourcenungleichgewichte und ungleiche Workloadverteilung darstellen. Diese Situationen können zu nachteiligen Auswirkungen auf die Leistung und Ressourcenoptimierung führen. Außerdem kann das Platzieren aller Workloads in einer Verfügbarkeitszone einen single point of failure in einem Notfall erstellen. Erwägen Sie, Ihre Konfiguration über mehrere Verfügbarkeitszonen hinweg zu replizieren, um die Resilienz des Rechenzentrums während eines Fehlers zu verbessern.

Empfehlungen
  • Planen Sie sorgfältig, wie Sie Platzierungsrichtlinien für VM-Host-Affinitätsrichtlinien verwenden. Ziehen Sie nach Möglichkeit alternative Lösungen in Betracht, z. B. Lastenausgleich, Ressourcenpools in VMware vSphere, verteilte Datenbanken, Containerisierung und Verfügbarkeitszonen.
  • Überwachen Sie die Ressourcenauslastung und -leistung regelmäßig, um Unausgeglichenheiten oder Probleme zu identifizieren.
  • Entscheiden Sie sich für eine ausgewogene und flexible VM-Platzierungsstrategie. Dieser Ansatz hilft Ihnen dabei, die Ressourcenauslastung zu maximieren und gleichzeitig Hochverfügbarkeit aufrechtzuerhalten und die Einhaltung der Lizenzanforderungen sicherzustellen.
  • Testen und überprüfen Sie die Vm-Host-Affinitätskonfigurationen ihrer Platzierungsrichtlinie, um sicherzustellen, dass sie den spezifischen Anforderungen Ihrer Anwendung entsprechen und sich nicht negativ auf die Gesamtleistung und Resilienz auswirken.

Verteilen von Datenverkehr mithilfe einer Anwendung oder eines Netzwerklastenausgleichs

Neben der Verwendung von Platzierungsrichtlinien ist der Lastenausgleich auch eine wichtige Komponente moderner Anwendungen, um Folgendes sicherzustellen:

  • Effiziente Ressourcenverteilung.
  • Erhöhte Anwendungsverfügbarkeit.
  • Optimale Anwendungsleistung.

Der Lastenausgleich erfüllt diese Kriterien und behält gleichzeitig flexibilität bei der Skalierung und Verwaltung von Workloads bei.

Nachdem Sie Anwendungen auf virtuellen Computern bereitgestellt haben, sollten Sie ein Lastenausgleichstool wie Azure Application Gateway verwenden, um Back-End-Pools zu erstellen. Application Gateway ist ein verwalteter Lastenausgleich für Webdatenverkehr und ein Anwendungsbereitstellungsdienst, der eingehenden HTTP- und HTTPS-Datenverkehr zu Webanwendungen verwalten und optimieren kann. Als Einstiegspunkt für Webdatenverkehr bietet Application Gateway verschiedene Arten von Funktionen. Beispiele hierfür sind TLS/SSL-Beendigung, URL-basiertes Routing, Sitzungsaffinität und Firewallfunktionen für Webanwendungen.

Architekturdiagramm, das zeigt, wie Datenverkehr von einem Browser über Application Gateway zu Back-End-Pools fließt.

Nachdem die Ressourcen in Ihren Back-End-Pools verfügbar sind, erstellen Sie Listener, um Ports und Routingregeln für eingehende Anforderungen anzugeben. Anschließend können Sie Integritätstests erstellen, um die Integrität Ihrer VMs zu überwachen und anzugeben, wann fehlerhafte Back-End-Ressourcen aus der Rotation entfernt werden sollen.

Implementieren von TLS/SSL-Terminierung und Zertifikatverwaltung

Die TLS/SSL-Verschlüsselung muss für die gesamte Kommunikation zwischen Ihrer Anwendung und den Browsern der Benutzer erzwungen werden. Diese Verschlüsselung schützt Sitzungsdaten vor Lauschangriffen und Man-in-the-Middle-Angriffen. Wenn Ihre Anwendung eine TLS/SSL-Beendigung erfordert, konfigurieren Sie das erforderliche TLS/SSL-Zertifikat in Application Gateway, um die TLS/SSL-Verarbeitung von Ihren Back-End-VMs zu entladen.

Nachdem Sie TLS/SSL-Zertifikate generiert haben, platzieren Sie sie in einem Dienst wie Azure Key Vault, mit dem Sie sie sicher speichern und darauf zugreifen können. Verwenden Sie PowerShell, die Azure CLI oder Tools wie Azure Automation, um Zertifikate zu aktualisieren und zu erneuern.

Verwalten von APIs

Mit Azure API Management können Sie intern und extern bereitgestellte API-Endpunkte sicher veröffentlichen. Ein Beispiel für einen Endpunkt ist eine Back-End-API, die sich in einer Azure VMware Solution privaten Cloud hinter einem Lastenausgleich oder Application Gateway befindet. API Management hilft Ihnen bei der Verwaltung der Methoden und Verhaltensweisen Ihrer API, z. B. durch Anwenden von Sicherheitsrichtlinien zum Erzwingen der Authentifizierung und Autorisierung. API Management können API-Anforderungen auch über Application Gateway an Ihre Back-End-Dienste weiterleiten.

Im folgenden Diagramm wird Datenverkehr von Consumern zu einem API Management öffentlichen Endpunkt übertragen. Der Datenverkehr wird dann an Back-End-APIs weitergeleitet, die auf Azure VMware Solution ausgeführt werden.

Architekturdiagramm eines Azure VMware Solution Rechenzentrums, das mit einem zentralen Hub verbunden ist. Der Hub hostet Application Gateway und API Management.

Empfehlungen
  • Um die Sicherheit und Leistung Ihrer Azure VMware Solution Anwendungen zu verbessern, verwenden Sie Application Gateway mit Azure VMware Solution Back-Ends, um Datenverkehr an Ihre Anwendungsendpunkte zu verteilen.
  • Stellen Sie sicher, dass zwischen den Back-End-Segmenten, die Azure VMware Solution hosten, und dem Subnetz, das Application Gateway oder den Lastenausgleich enthält, Konnektivität besteht.
  • Die Konfiguration der Integrität zeigt, dass die Integrität Ihrer Back-End-Instanzen überwacht wird.
  • Verlagern Sie die TLS/SSL-Terminierung auf Application Gateway, um den Verarbeitungsaufwand auf den Back-End-VMs zu reduzieren.
  • Speichern Sie TLS/SSL-Schlüssel sicher in Tresoren.
  • Optimieren Sie Prozesse, indem Sie Aufgaben wie Zertifikatupdates und Erneuerungen automatisieren.

Optimieren von gestreckten Clustern zur Stärkung der Geschäftskontinuität und Notfallwiederherstellung

Auswirkung: Zuverlässigkeit

Gestreckte Cluster bieten VMware-Clustern Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen in mehreren geografisch verteilten Rechenzentren.

Das folgende Setup unterstützt Aktiv-Aktiv-Architekturen. Das vSAN (Virtual Storage Area Network) umfasst zwei Rechenzentren. Eine dritte Verfügbarkeitszone wird einem vSAN-Zeugen zugeordnet, um als Quorum für Split-Brain-Szenarien zu dienen.

Architekturdiagramm, das einen vSAN-Cluster über zwei Verfügbarkeitszonen erstreckt. Eine dritte Zone enthält einen vSAN-Zeugen.

Die Verteilung der Anwendung auf mehrere Verfügbarkeitszonen und Regionen trägt dazu bei, die kontinuierliche Verfügbarkeit bei Rechenzentrumsfehlern sicherzustellen. Stellen Sie die Anwendungs- und Datenebenen in beiden Rechenzentren bereit, und aktivieren Sie die synchrone Replikation.

Konfigurieren von Richtlinien für Fehlertoleranz und Fehler tolerieren (FTT)

Die gesamte nutzbare Kapazität Ihrer Anwendung hängt von mehreren Variablen ab. Beispiele hierfür sind ihre RAID-Konfiguration (Redundant Array of Independent Disks), der Wert Ihres failures to tolerate Attributs und ftT-Richtlinien (Failure to toler), die die Anzahl von Fehlern steuern, die Ihr Speichersystem tolerieren kann. Anwendungsteams müssen den Redundanzgrad ermitteln, der für die Anwendung erforderlich ist. Es ist auch wichtig zu beachten, dass höhere FTT-Werte die Datenresilienz verbessern, aber den Speicheraufwand erhöhen.

Empfehlungen
  • Stellen Sie Ihre Anwendung im freigegebenen Speicher bereit, damit die VM-Daten im gestreckten Cluster konsistent bleiben. Aktivieren Sie die synchrone Replikation.
  • Konfigurieren Sie Fehlerdomänen, um zu definieren, wie gestreckte Cluster in einem Fehlerszenario reagieren sollen.
  • Implementieren Sie automatisches Failover und Failback, um manuelle Eingriffe bei Failover- und Wiederherstellungsereignissen zu minimieren.

Konfigurieren von Datensynchronisierungs- und Speicherrichtlinien

Datensynchronisierungsmethoden sind wichtig, wenn Ihre Anwendung auf zustandsbehaftete Daten und Datenbanken angewiesen ist, um Konsistenz und Verfügbarkeit während eines Notfalls sicherzustellen. Die Datensynchronisierung trägt dazu bei, Hochverfügbarkeit und Fehlertoleranz für kritische VMs bereitzustellen, auf denen Anwendungen ausgeführt werden.

Ein Anwendungsbesitzer kann eine Speicherrichtlinie definieren, um Folgendes sicherzustellen:

  • Kritische VMs, die eine Anwendung ausführen, erhalten das erforderliche Maß an Datenredundanz und -leistung.
  • Die VMs sind so positioniert, dass sie die Hochverfügbarkeitsfunktionen des gestreckten Clusters in Azure VMware Solution nutzen.

Beispielrichtlinien können die folgenden Faktoren umfassen:

  • Die vSAN-Konfiguration. Verwenden Sie ein VMware vSAN mit einem gestreckten Cluster über Verfügbarkeitszonen hinweg.
  • Die Anzahl der zu tolerierenden Fehler. Legen Sie die Richtlinie so fest, dass mindestens ein Fehler toleriert wird. Verwenden Sie beispielsweise ein RAID-1-Layout.
  • Leistung. Konfigurieren Sie leistungsbezogene Einstellungen, um IOPS und Latenz für kritische VMs zu optimieren.
  • Affinitätsregeln. Richten Sie Affinitätsregeln ein, um sicherzustellen, dass VMs oder Gruppen von VMs in separaten Hosts oder Fehlerdomänen innerhalb des gestreckten Clusters platziert werden, um die Verfügbarkeit bei Rechenzentrumsfehlern zu maximieren.
  • Sicherung und Replikation. Geben Sie die Integration mit Sicherungs- und Replikationslösungen an, um sicherzustellen, dass VM-Daten regelmäßig gesichert und für zusätzlichen Datenschutz an einen sekundären Speicherort repliziert werden.
Empfehlungen
  • Definieren Sie Datenspeicherrichtlinien im vSAN, um die Redundanz und Leistung anzugeben, die für verschiedene VM-Datenträger erforderlich ist.
  • Konfigurieren Sie Anwendungen so, dass sie in einer Aktiv-Aktiv- oder Aktiv-Passiv-Konfiguration ausgeführt werden, damit kritische Anwendungskomponenten bei Rechenzentrumsfehlern fehlschlagen können.
  • Verstehen der Netzwerkanforderungen jeder Anwendung. Anwendungen, die über Verfügbarkeitszonen hinweg ausgeführt werden, können eine höhere Latenz verursachen als Anwendungen mit Datenverkehr innerhalb einer Verfügbarkeitszone. Entwerfen Sie Ihre Anwendung so, dass diese Latenz toleriert wird.
  • Führen Sie Leistungstests für Ihre Platzierungsrichtlinien aus, um deren Auswirkungen auf Ihre Anwendung zu bewerten.

Nächste Schritte

Nachdem Sie die Anwendungsplattform untersucht haben, erfahren Sie, wie Sie Konnektivität herstellen, Umkreise für Ihre Workload erstellen und den Datenverkehr gleichmäßig an Ihre Anwendungsworkloads verteilen.

Verwenden Sie das Bewertungstool, um Ihre Entwurfsentscheidungen auszuwerten.