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.
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:
- In der Übersicht über Azure Traffic Manager erfahren Sie mehr dazu, wie dieser DNS-basierte Lastenausgleich für Datenverkehr funktioniert.
- Unter Überlegungen zum Entwurf von Hybrid-Apps erfahren Sie mehr zu bewährten Methoden und erhalten Antworten auf weitere Fragen.
- Im Artikel zur Azure Stack-Familie mit Produkten und Lösungen erfahren Sie mehr über das gesamte Portfolio von Produkten und Lösungen.
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.