Cloudübergreifendes Skalierungsmuster

Fügen Sie automatisch Ressourcen zu einer vorhandenen App hinzu, um eine höhere Auslastung zu ermöglichen.

Kontext und Problem

Ihre App kann die Kapazität zum Erfüllen einer unerwartet erhöhten Nachfrage nicht erhöhen. Dieser Mangel an Skalierbarkeit führt dazu, dass Benutzer die App während Spitzennutzungszeiten nicht verwenden können. Die App kann nur von einer festgelegten Anzahl von Benutzern genutzt werden.

Globale Unternehmen benötigen sichere, zuverlässige und verfügbare cloudbasierte Apps. Daher ist es wichtig, höhere Anforderungen zu erfüllen und die richtige Infrastruktur zur Unterstützung dieser Anforderungen zu verwenden. Unternehmen haben Probleme beim Ausgleichen von Kosten und bei der Verwaltung der Sicherheit, des Speicherns und der Echtzeitverfügbarkeit von Geschäftsdaten.

Sie können Ihre App möglicherweise nicht in der öffentlichen Cloud ausführen. Es ist für das Unternehmen aber unter Umständen nicht wirtschaftlich, die für die lokale Umgebung erforderliche Kapazität beizubehalten, um für die App Auslastungsspitzen verarbeiten zu können. Mit diesem Muster können Sie die Elastizität der öffentlichen Cloud für Ihre lokale Lösung verwenden.

Lösung

Das cloudübergreifende Skalierungsmuster erweitert eine App, die sich in einer lokalen Cloud befindet, um öffentliche Cloudressourcen. Das Muster wird durch eine Erhöhung oder Abnahme der Nachfrage ausgelöst. Dann werden dementsprechend Ressourcen in der Cloud hinzugefügt oder entfernt. Diese Ressourcen bieten Redundanz, schnelle Verfügbarkeit und geokonformes Routing.

Cross-cloud scaling pattern

Hinweis

Dieses Muster gilt nur für zustandslose Komponenten Ihrer App.

Komponenten

Das Muster für die cloudübergreifende Skalierung besteht aus den folgenden Komponenten:

Außerhalb der Cloud

Traffic Manager

Im Diagramm befindet sich Traffic Manager außerhalb der öffentlichen Cloudgruppe, muss allerdings sowohl den Datenverkehr im lokalen Rechenzentrum als auch in der öffentlichen Cloud koordinieren können. Das Ausgleichsmodul bietet Hochverfügbarkeit für Apps, indem es Endpunkte überwacht und bei Bedarf die Failoverumverteilung ermöglicht.

Domänennamenserver (DNS)

Das Domain Name System (DNS) ist für die Übersetzung (oder Auflösung) eines Website- oder Dienstnamens in die IP-Adresse verantwortlich.

Cloud

Gehosteter Buildserver

Umgebung zum Hosten der Buildpipeline.

App-Ressourcen

Die App-Ressourcen (wie VM-Skalierungsgruppen und Container) müssen ab- und aufskaliert werden können.

Benutzerdefinierter Domänenname

Verwenden Sie einen benutzerdefinierten Domänennamen für globale Routinganforderungen.

Öffentliche IP-Adressen

Öffentliche IP-Adressen werden zum Weiterleiten des eingehenden Datenverkehrs über Traffic Manager an den Endpunkt der App-Ressourcen in der öffentlichen Cloud verwendet.  

Lokale Cloud

Gehosteter Buildserver

Umgebung zum Hosten der Buildpipeline.

App-Ressourcen

Die App-Ressourcen (wie VM-Skalierungsgruppen und Container) müssen ab- und aufskaliert werden können.

Benutzerdefinierter Domänenname

Verwenden Sie einen benutzerdefinierten Domänennamen für globale Routinganforderungen.

Öffentliche IP-Adressen

Öffentliche IP-Adressen werden zum Weiterleiten des eingehenden Datenverkehrs über Traffic Manager an den Endpunkt der App-Ressourcen in der öffentlichen Cloud verwendet.

Probleme und Überlegungen

Beachten Sie die folgenden Punkte bei der Entscheidung, wie dieses Muster implementiert werden soll:

Skalierbarkeit

Das Hauptelement der cloudübergreifenden Skalierung ist die Fähigkeit, Skalierung bedarfsabhängig zu ermöglichen. Die Skalierung muss zwischen öffentlicher und lokaler Cloudinfrastruktur erfolgen und einen einheitlichen, zuverlässigen Dienst abhängig vom Bedarf ermöglichen.

Verfügbarkeit

Stellen Sie sicher, dass lokal bereitgestellte Apps in Bezug auf Hochverfügbarkeit konfiguriert sind, die auf der Konfiguration der lokalen Hardware und der Softwarebereitstellung basiert.

Verwaltbarkeit

Mit dem cloudübergreifenden Muster wird sichergestellt, dass zwischen Umgebungen eine nahtlose Verwaltung möglich und eine vertraute Benutzeroberfläche vorhanden ist.

Verwendung dieses Musters

Verwenden Sie dieses Muster in folgenden Fällen:

  • Sie müssen die Kapazität Ihrer App aufgrund von unerwarteten Anforderungen oder regelmäßigen bedarfsgesteuerten Anforderungen erhöhen.
  • Sie möchten nicht in Ressourcen investieren, die nur während Spitzenzeiten verwendet werden können. Nutzungsabhängige Abrechnung.

Verwenden Sie dieses Muster in folgenden Fällen nicht:

  • Ihre Lösung erfordert, dass Benutzer eine Verbindung über das Internet herstellen.
  • Ihr Unternehmen verfügt über lokale Bestimmungen, die erfordern, dass die Ursprungsverbindung von einem lokalen Aufruf erfolgt.
  • Ihr Netzwerk erfährt regelmäßig Engpässe, die die Leistung der Skalierung einschränken.
  • Ihre Umgebung ist nicht mit dem Internet verbunden und kann nicht auf die öffentliche Cloud zugreifen.

Nächste Schritte

Weitere Informationen zu den in diesem Artikel behandelten Themen:

Wenn Sie bereit sind, das Lösungsbeispiel zu testen, fahren Sie mit dem Bereitstellungsleitfaden für eine cloudübergreifende Skalierungslösung fort. In diesem Bereitstellungsleitfaden finden Sie detaillierte Anweisungen zum Bereitstellen und Testen der zugehörigen Komponenten. Sie erfahren, wie Sie eine cloudübergreifende Lösung erstellen, um einen manuell ausgelösten Prozess zum Umschalten von einer in Azure Stack Hub gehosteten Web-App zu einer in Azure gehosteten Web-App bereitzustellen. Sie erfahren auch, wie Sie die automatische Skalierung über Traffic Manager nutzen können, um ein flexibles und skalierbares Cloudhilfsprogramm unter Last zu gewährleisten.