Freigeben über


Anwendungsüberlegungen für Azure VMware-Lösungsworkloads

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 Wartung 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 dieses Team verwaltet Aspekte, die sich auf die Bereitstellung, Konfiguration, Überwachung und Wartung der Anwendungen beziehen.

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

  • Entwerfen für Skalierung. Behandeln Sie problemlos höhere Benutzeranforderungen und gleichzeitige Transaktionen ohne Beeinträchtigung oder Dienstunterbrechung.
  • Leistung. Stellen Sie schnelle Antwortzeiten mit geringer Latenz bereit und verwalten Sie die Ressourcenauslastung effizient.
  • Zuverlässigkeit und Ausfallsicherheit. Entwerfen Sie redundante, fehlertolerante Muster, um sicherzustellen, dass Ihre Anwendung reaktionsfähig bleibt und schnell von Fehlern wiederhergestellt wird.

Dieser Artikel zielt darauf ab, Entwicklern, Architekten und Anwendungsbesitzern bewährte Methoden bereitzustellen, die für Azure VMware Solution spezifisch sind. Diese Methoden können Ihnen beim Erstellen von Anwendungen helfen, die während des gesamten Lebenszyklus robust, sicher, skalierbar und verwaltet werden können.

Design für Skalierbarkeit und effiziente Ressourcenverteilung

Auswirkung: Zuverlässigkeit, Leistungseffizienz, Sicherheit

In diesem Abschnitt werden die effektive Zuordnung und Nutzung von Computerressourcen auf virtuellen Computern (VMs) und Workloads in der privaten Azure VMware Solution-Cloud behandelt. Diese Ressourcen können CPU-, Arbeitsspeicher-, Speicher- und Netzwerkressourcen umfassen. In diesem Abschnitt werden auch die Implementierung reaktionsfähiger Skalierungstechniken erläutert. Sie können diese Techniken verwenden, um die Ressourcenbereitstellung dynamisch anzupassen, um Schwankungen des Bedarfs zu berücksichtigen. Das Hauptziel besteht darin, eine optimale Ressourcenauslastung zu erreichen, indem die Unternutzung und Überlastung abgemildert wird, die zu Ineffizienzen und eskalierten Ausgaben führen kann.

Fehlerdomänen verwenden

Fehlerdomänen in Azure VMware Solution stellen logische Gruppierungen von Ressourcen innerhalb eines gestreckten Clusters dar. Diese Ressourcen teilen 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 wichtige Komponenten einer Anwendung auf mehrere Fehlerdomänen verteilt sind.

Durch das Platzieren von VMs und anderen Ressourcen in separate Fehlerdomänen trägt das Anwendungsteam dazu bei, sicherzustellen, dass eine Anwendung während eines Rechenzentrums- oder Infrastrukturfehlers verfügbar bleibt. Sie können z. B. virtuelle Computer in Fehlerdomänen aufteilen, die auf geografisch verteilte Rechenzentren verteilt sind. Dann kann Ihre Anwendung betriebsbereit bleiben, wenn ein Rechenzentrum einen vollständigen Fehler verursacht.

Anwendungsteams sollten VM-VM-Affinität und Anti-Affinitätsregeln definieren, die auf Fehlerdomänen basieren. Regeln zur VM-VM-Affinität platzieren kritische VMs in derselben Ausfalldomäne, um sicherzustellen, dass sie nicht über mehrere Rechenzentren verteilt werden. Antiaffinitätsregeln verhindern, dass verwandte VMs innerhalb derselben Fehlerdomäne zusammengeführt werden. Diese Praxis trägt dazu bei, Redundanz zu gewährleisten.

Verwenden von VM-VM Antiaffinitätsrichtlinien in dreistufigen Anwendungen

In Der Azure VMware-Lösung umfasst ein Anwendungsfall für VM-VM Antiaffinitätsrichtlinien eine dreistufige Anwendung. Ziel ist es, die hohe Verfügbarkeit, Fehlertoleranz und Ausfallsicherheit der einzelnen Anwendungsebenen zu verbessern. Um dieses Ziel zu erreichen, können Sie Antiaffinitätsrichtlinien verwenden, um die Ebenen auf verschiedenen Hosts in der privaten Azure VMware Solution-Cloud zu verteilen.

Um diesen Anwendungsfall zu implementieren, erstellen Sie eine verteilte, fehlertolerante Architektur, indem Sie VM-VM Antiaffinitätsrichtlinien auf drei Ebenen verwenden. Durch dieses Setup wird die Verfügbarkeit der gesamten Anwendung verbessert und sichergestellt, dass der Fehler eines einzelnen Hosts die gesamte Ebene oder die gesamte Anwendung nicht beeinträchtigt.

Beispielsweise können Sie auf der Front-End-Webebene, die Benutzeranforderungen bereitstellt, VM-VM Antiaffinitätsrichtlinien anwenden, um die Webserver auf verschiedene physische Hosts zu verteilen. Dieser Ansatz trägt dazu bei, hohe Verfü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 Datenbankebene zu stärken.

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

Recommendations
  • Erstellen Sie Karten, die VM-Abhängigkeiten, Kommunikations- und Nutzungsmuster anzeigen, um sicherzustellen, dass Nähe eine Voraussetzung ist.
  • Ermitteln Sie, ob die Platzierungsrichtlinie VM-VM Affinität hilft, Leistungsmetriken oder Vereinbarungen auf Dienstebene (SLAs) zu erfüllen.
  • Stellen Sie eine hohe Verfügbarkeit sicher, indem Sie Platzierungs-VM-VM-Antiaffinitätsrichtlinien implementieren, um Ihre Anwendung gegen Hostfehler zu schützen und sie auf mehrere Hosts zu verteilen.
  • Um eine Überlastung zu vermeiden, verteilen Sie Ihre Workload über kleine virtuelle Computer und nicht über einige große VMs.
  • Regelmäßig Affinitätsrichtlinien überwachen, überprüfen und optimieren, um potenzielle Ressourcenkonkurrenz zu identifizieren. Passen Sie diese Richtlinien im Laufe der Zeit nach Bedarf an.

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

Einige Arbeitslasten, die virtuelle Maschinen in verschiedenen Anwendungsebenen ausführen, funktionieren besser, wenn sie zusammen platziert sind. Dieser Anwendungsfall tritt häufig auf, wenn Anwendungen Folgendes erfordern:

  • Leistungsisolation für ressourcenintensive Rechenarbeitslasten mit hoher Leistung.
  • Einhaltung von Lizenzvereinbarungen. Systemspezifikationen erfordern z. B. möglicherweise eine Zuordnung, die einem virtuellen Computer einen bestimmten Satz von Kernen zuordnet, um die Einhaltung der Windows- oder SQL Server-Lizenzierung aufrechtzuerhalten.
  • Einhaltung gesetzlicher Vorschriften und Datenintegrität , um sicherzustellen, dass VMs, die zu bestimmten Sicherheitsdomänen oder Datenklassifizierungen gehö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 Ebenen verwenden dieselbe Netzwerkkonnektivität und erfordern keine zusätzlichen Netzwerkhüpfungen.

Wenn es wichtig ist, die Kolocation von Anwendungsebenen beizubehalten, 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 wird.

Hinweis

Das Plattformteam ist für das Einrichten der VM-Platzierung, Hostaffinitätsregeln und ressourcenpooling verantwortlich. Das Anwendungsteam sollte jedoch die Leistungsanforderungen jeder Anwendung verstehen, um sicherzustellen, dass die Anwendungsanforderungen erfüllt sind.

Anwendungsteams müssen die Platzierung von virtuellen Computern umfassend bewerten und sich an der sorgfältigen Planung beteiligen. Die VM-Platzierung kann potenzielle Herausforderungen wie Ressourcenungleichgewichte und ungleiche Workloadverteilung darstellen. Diese Situationen können zu negativen Auswirkungen auf die Leistung und Ressourcenoptimierung führen. Außerdem kann das Platzieren aller Workloads in einer Verfügbarkeitszone einen einzelnen Fehlerpunkt in einem Notfall erzeugen. Erwägen Sie, Ihre Konfiguration in mehreren Verfügbarkeitszonen zu replizieren, um die Ausfallsicherheit von Rechenzentren während eines Fehlers zu verbessern.

Recommendations
  • Planen Sie sorgfältig Ihre Verwendung von Platzierungsrichtlinien für VM-Host-Affinitätsrichtlinien. Erwägen Sie alternative Lösungen, z. B. Lastenausgleich, Ressourcenpools in VMware vSphere, verteilte Datenbanken, Containerisierung und Verfügbarkeitszonen.
  • Überwachen Sie regelmäßig die Ressourcenauslastung und -leistung, um Ungleichgewichte oder Probleme zu identifizieren.
  • Entscheiden Sie sich für eine VM-Platzierungsstrategie, die ausgewogen und flexibel ist. Dieser Ansatz hilft Ihnen, die Ressourcenauslastung zu maximieren und gleichzeitig hohe Verfügbarkeit aufrechtzuerhalten und die Einhaltung der Lizenzierungsanforderungen sicherzustellen.
  • Testen und überprüfen Sie die Platzierungsrichtlinien der VM-Host-Affinitäten, um sicherzustellen, dass sie den spezifischen Anforderungen Ihrer Anwendung entsprechen und dass sie sich nicht negativ auf die Gesamtleistung und Resilienz auswirken.

Verteilen des Datenverkehrs mithilfe einer Anwendung oder eines Netzwerklastenausgleichs

Neben der Verwendung von Platzierungsrichtlinien ist der Lastenausgleich auch ein wichtiger Bestandteil moderner Anwendungen, um folgendes sicherzustellen:

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

Der Lastenausgleich erfüllt diese Kriterien und behält gleichzeitig die Flexibilität bei der Arbeitsauslastungsskalierung und -verwaltung bei.

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

Architekturdiagramm, das zeigt, wie Datenverkehr von einem Browser über das Anwendungsgateway 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 Überwachungsprotokolle erstellen, um die Gesundheit Ihrer VMs zu überwachen und anzugeben, wann nicht funktionsfähige Back-End-Ressourcen aus dem Zyklus entfernt werden sollen.

Implementieren von TLS/SSL-Beendigung und Zertifikatverwaltung

TLS/SSL-Verschlüsselung muss für die gesamte Kommunikation zwischen Der 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 TLS/SSL-Beendigung erfordert, konfigurieren Sie das erforderliche TLS/SSL-Zertifikat im Anwendungsgateway so, dass tls/SSL-Verarbeitung von Ihren Back-End-VMs ausgelagert wird.

Nachdem Sie TLS/SSL-Zertifikate generiert haben, platzieren Sie sie in einem Dienst wie Azure Key Vault, mit dem Sie diese 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

Azure API Management hilft Ihnen, intern und extern bereitgestellte API-Endpunkte sicher zu veröffentlichen. Ein Beispiel für einen Endpunkt ist eine Back-End-API, die sich in einer privaten Azure VMware Solution-Cloud hinter einem Lastenausgleichsmodul oder Anwendungsgateway befindet. Die API-Verwaltung hilft Ihnen beim Verwalten der Methoden und Verhaltensweisen Ihrer API, z. B. durch Anwenden von Sicherheitsrichtlinien zum Erzwingen von Authentifizierung und Autorisierung. Die API-Verwaltung kann API-Anforderungen auch über das Anwendungsgateway an Ihre Back-End-Dienste weiterleiten.

Im folgenden Diagramm gelangt der Datenverkehr von Verbrauchern zu einem verwalteten öffentlichen API-Endpunkt. 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 hostt Anwendungsgateway und API-Verwaltung.

Recommendations
  • Um die Sicherheit und Leistung Ihrer Azure VMware-Lösungsanwendungen zu verbessern, verwenden Sie Application Gateway mit Azure VMware Solution Back-Ends, um Datenverkehr an Ihre Anwendungsendpunkte zu verteilen.
  • Stellen Sie sicher, dass eine Verbindung zwischen den Back-End-Segmenten besteht, die Azure VMware-Lösung hosten, und dem Subnetz, das Anwendungsgateway oder das Lastenausgleichsmodul enthält.
  • Konfigurieren Sie Integritätssonden, um die Integrität Ihrer Back-End-Instanzen zu überwachen.
  • Entladen Sie TLS/SSL-Beendigung an das Anwendungsgateway, um den Verarbeitungsaufwand auf den Back-End-VMs zu reduzieren.
  • Sicheres Speichern von TLS-/SSL-Schlüsseln in Tresoren.
  • Optimieren Sie Prozesse, indem Sie Aufgaben wie Zertifikataktualisierungen und Erneuerungen automatisieren.

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

Auswirkung: Zuverlässigkeit

Gestreckte Cluster bieten VMware-Cluster mit hoher Verfügbarkeit und Notfallwiederherstellung über mehrere geografisch verteilte Rechenzentren hinweg.

Das folgende Setup unterstützt aktive-aktive Architekturen. Das virtuelle Speicherbereichsnetzwerk (vSAN) umfasst zwei Rechenzentren. Eine dritte Verfügbarkeitszone ist einem vSAN-Zeugen zugeordnet, der als Quorum für Split-Brain-Szenarien dient.

Architekturdiagramm, das einen auf zwei Verfügbarkeitszonen gestreckten vSAN-Cluster zeigt. Eine dritte Zone enthält einen vSAN-Zeugen.

Durch die Verteilung der Anwendung über mehrere Verfügbarkeitszonen und Regionen hinweg können Sie die kontinuierliche Verfügbarkeit während Rechenzentrumsfehlern sicherstellen. Stellen Sie die Anwendungsebenen und Datenebenen in beiden Rechenzentren bereit, und aktivieren Sie die synchrone Replikation.

Konfigurieren von Fehlertoleranz- und FTT-Policys

Die gesamt verwendbare Kapazität Ihrer Anwendung hängt von mehreren Variablen ab. Beispiele hierfür sind Ihre Redundant Array of Independent Disks (RAID)-Konfiguration, der Wert Ihres failures to tolerate Attributs und die Failure to Tolerate (FTT) Richtlinien, die die Anzahl der Fehler steuern, die Ihr Speichersystem tolerieren kann. Anwendungsteams müssen die Redundanzebene ermitteln, die 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.

Recommendations
  • Stellen Sie Ihre Anwendung über gemeinsam genutzten Speicher bereit, damit die VM-Daten über den 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 während Failover- und Wiederherstellungsereignissen zu minimieren.

Konfigurieren von Datensynchronisierungs- und Speicherrichtlinien

Datensynchronisierungsmethoden sind wichtig, wenn Ihre Anwendung auf zustandsbehafteten Daten und Datenbanken angewiesen ist, um Konsistenz und Verfügbarkeit während eines Notfalls sicherzustellen. Die Datensynchronisierung ermöglicht eine hohe Verfügbarkeit und Fehlertoleranz für kritische VMs, die Anwendungen ausführen.

Ein Anwendungsbesitzer kann eine Speicherrichtlinie definieren, um folgendes sicherzustellen:

  • Kritische VMs, die eine Anwendung ausführen, erhalten die erforderliche Datenredundanz und Leistung.
  • Die virtuellen Maschinen sind so konzipiert, 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 einen VMware vSAN mit einem gestreckten Cluster über Verfügbarkeitszonen hinweg.
  • Die Anzahl der Fehler, die toleriert werden sollen. 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 wichtige 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 während 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 an einen sekundären Speicherort repliziert werden, um zusätzlichen Datenschutz zu gewährleisten.
Recommendations
  • 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 aktiven oder passiven Konfiguration ausgeführt werden, sodass wichtige Anwendungskomponenten während Rechenzentrumsfehlern fehlschlagen können.
  • Grundlegendes zu den Netzwerkanforderungen jeder Anwendung. Anwendungen, die über Verfügbarkeitszonen hinweg ausgeführt werden, können eine höhere Latenz als Anwendungen mit Datenverkehr innerhalb einer Verfügbarkeitszone verursachen. 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 Designentscheidungen auszuwerten.