Bearbeiten

Cloudübergreifende Skalierung – lokale Daten

Azure Stack Hub
Azure Virtual Machines
Azure Virtual Network
Azure VPN Gateway
Azure App Service

In dieser Lösung wird veranschaulicht, wie Sie eine Hybrid-App erstellen, die Folgendes nutzt:

  • Die Skalierbarkeit der öffentlichen Azure-Cloudplattform
  • Die Compliancevorteile der privaten Azure Stack Hub-Cloudplattform.

Aufbau

Diagramm einer Architektur für eine Hybrid-App, die Azure und Azure Stack Hub umfasst.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Die Azure Pipelines-Buildserver in der lokalen Azure Stack Hub-Umgebung und der Cloud stellen dieselbe App-Version in ihren jeweiligen Umgebungen bereit. Die Cloudumgebung enthält keinen Datenspeicher. Beide App-Instanzen sind so konfiguriert, dass sie eine Verbindung mit demselben lokalen Datenspeicher herstellen.
  2. Die Web-Apps werden auf Last überwacht. Bei einem signifikanten Anstieg des Datenverkehrs werden DNS-Einträge von einer Anwendung so modifiziert, dass der Datenverkehr zur öffentlichen Cloud umgeleitet wird. Wenn die Menge des Datenverkehrs wieder abnimmt, werden die DNS-Einträge so aktualisiert, dass der Datenverkehr wieder zurück zur privaten Cloud geleitet wird.
  3. Ein Client sendet eine Anforderung an die Anwendung. Der Azure Traffic Manager verarbeitet die Anforderung und leitet sie an eine der App-Umgebungen weiter.
  4. Bei normaler Last wird die Clientanforderung zu der App-Instanz weitergeleitet, die lokal in Azure Stack Hub gehostet wird.
  5. Die lokale App stellt bei Bedarf eine Verbindung mit dem lokalen Datenspeicher her.
  6. Bei hoher Last leitet der Traffic Manager Anforderungen an die Cloudinstanz der App weiter.
  7. Die Cloud-App-Instanz verarbeitet die Anforderungen und verbindet sich bei Bedarf über eine verbesserte Sicherheitsverbindung mit dem lokalen Datenspeicher.

Komponenten

  • Mit Azure App Service können Sie Web-Apps, Rest-API-Apps und Azure Functions-Funktionen erstellen und hosten.

  • Azure Virtual Network ist der grundlegende Baustein für private Netzwerke in Azure. Mit Virtual Network können verschiedene Azure-Ressourcen wie Azure-VMs mithilfe optimierter Sicherheitsfunktionen miteinander sowie mit dem Internet und mit lokalen Netzwerken kommunizieren. In dieser Lösung wird außerdem die Nutzung weiterer Netzwerkkomponenten veranschaulicht:

    • App- und Gatewaysubnetze
    • Ein lokales Netzwerkgateway
    • Ein Gateway für virtuelle Netzwerke, das als Site-to-Site-VPN-Gatewayverbindung fungiert
    • Eine öffentliche IP-Adresse
    • Eine Point-to-Site-VPN-Verbindung
    • Azure DNS, um DNS-Domänen zu hosten und Namensauflösung bereitzustellen
  • Azure Traffic Manager ist ein auf DNS basierender Lastenausgleichsdienst. Sie können damit die Verteilung von Benutzerdatenverkehr auf Dienstendpunkte in unterschiedlichen Rechenzentren steuern.

  • Application Insights ist ein erweiterbarer Dienst zur Verwaltung der Anwendungsleistung für Webentwickler*innen, die Apps auf mehreren Plattformen erstellen und verwalten.

  • Mit Azure Functions können Sie Code in einer serverlosen Umgebung ausführen, ohne vorher eine VM erstellen oder eine Web-App veröffentlichen zu müssen.

  • Azure Stack Hub ist eine Erweiterung von Azure, mit der Workloads in einer lokalen Umgebung ausgeführt werden können, indem Azure-Dienste dort bereitgestellt werden.

    • Sie können Azure Stack Hub verwenden, um dasselbe App-Modell, dasselbe Self-Service-Portal und dieselben APIs bereitzustellen, die Azure bereitstellt. Azure Stack Hub IaaS unterstützt eine breite Palette von Open-Source-Technologien für einheitliche Hybrid Cloud-Bereitstellungen. In dieser Lösung wird SQL Server beispielsweise auf einer Windows Server-VM gehostet.
    • Die Lösung hostet die Web-App mit Azure App Service in Azure Stack Hub.
    • Das virtuelle Azure Stack Hub-Netzwerk funktioniert genauso wie das virtuelle Azure-Netzwerk. Es verwendet viele identische Netzwerkkomponenten, einschließlich benutzerdefinierter Hostnamen.
  • Azure DevOps besteht aus verschiedenen Entwicklungsdiensten, die eine umfassende Lebenszyklusverwaltung für Anwendungen und Infrastrukturen bereitstellen. Azure DevOps umfasst Lösungen für Arbeitsverfolgung, Quellcodeverwaltung, Builderstellung und CI/CD, Paketverwaltung und Tests.

  • Azure Pipelines ist ein Dienst, der CI/CD bietet. Sie können damit gehostete Build- und Release-Agents und -Definitionen verwalten. Ihre Entwicklungspipeline kann verschiedene Coderepositorys verwenden, einschließlich GitHub, Bitbucket, Dropbox, OneDrive und Azure Repos-Instanzen.

Alternativen

  • Für Webanwendungen können Sie Azure Front Door verwenden. Azure Front Door agiert auf Ebene 7, der HTTP/HTTPS-Ebene. Es verwendet das Anycast-Protokoll mit geteiltem TCP und das globale Microsoft-Netzwerk, um die globale Konnektivität zu verbessern. Ihre Routingmethode kann sicherstellen, dass Azure Front Door Ihre Clientanforderungen an das schnellste und verfügbarste Anwendungs-Back-End weiterleitet.
  • Sie können Azure ExpressRoute anstelle eines Azure-VPN-Gateways nutzen. Mit ExpressRoute kann über eine dedizierte VPN-Verbindung eine direkte Verbindung zwischen Ihrem lokalen Netzwerk und Azure-Ressourcen hergestellt werden.
  • Wenn sich Ihr Repository in GitHub befindet, können Sie GitHub Actions anstelle von Azure Pipelines verwenden.

Szenariodetails

In diesem Artikel wird erläutert, wie Sie eine Hybrid-App für Azure und Azure Stack Hub erstellen. Hierfür wird eine einzelne lokale Datenquelle verwendet, was in einigen Organisationen sogar eine Konformitätsanforderung darstellt.

Viele Organisationen erfassen und speichern riesige Mengen vertraulicher Kundendaten. Unternehmensvorgaben oder Gesetze hindern sie häufig daran, vertrauliche Daten in der öffentlichen Cloud zu speichern. Dennoch möchten diese Organisationen möglicherweise die Skalierbarkeit der öffentlichen Cloud nutzen. Die öffentliche Cloud kann saisonale Datenverkehrsspitzen abfedern, sodass Organisationen nur für ihre tatsächliche Hardwarenutzung zahlen müssen.

Die in diesem Artikel beschriebene Lösung nutzt die Compliancevorteile der privaten Cloud und kombiniert sie mit der Skalierbarkeit der öffentlichen Cloud. Die Kombination aus der Azure-Cloud und der Azure Stack Hub-Hybrid Cloud bietet Entwicklern eine einheitliche Umgebung. Diese Einheitlichkeit ermöglicht Ihnen, dass ihre Fähigkeiten sowohl hinsichtlich öffentlicher Cloud als auch lokaler Umgebungen zum Tragen kommen.

Mit dieser Lösung können Sie eine identische Web-App in einer öffentlichen und einer privaten Cloud bereitstellen. Sie können außerdem auf ein nicht routingfähiges Netzwerk zugreifen, das in der privaten Cloud gehostet wird.

Mögliche Anwendungsfälle

Diese Lösung kann in folgenden Szenarios verwendet werden:

  • Ihre Organisation verwendet einen DevOps-Ansatz oder plant, diesen in Kürze einzuführen.
  • Sie möchten Continuous-Integration-und-Continuous-Delivery-Methoden (CI/CD) in einer Azure Stack Hub-Implementierung und der öffentlichen Cloud implementieren.
  • Sie möchten die CI/CD-Pipeline für die Cloud- und lokalen Umgebungen konsolidieren.
  • Sie möchten Apps mit cloudbasierten und lokalen Diensten entwickeln.
  • Sie möchten, dass die Fertigkeiten, die für Entwickler erforderlich sind, in cloudbasierten und lokalen Apps identisch sind.
  • Sie verwenden Azure. Einige Ihrer Entwickler*innen arbeiten jedoch in einer lokalen Azure Stack Hub-Cloud.
  • Ihre lokalen Apps verzeichnen Nachfragespitzen aufgrund saisonaler, zyklischer oder unvorhersehbarer Schwankungen.
  • Sie verfügen über lokale Komponenten und möchten diese mithilfe der Cloud skalieren.
  • Sie möchten die Skalierbarkeit der Cloud nutzen, Ihre App soll jedoch auch so weit wie möglich lokal ausgeführt werden.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Globale Bereitstellungen bergen Herausforderungen, z. B. schwankende Konnektivität und unterschiedliche staatliche Vorschriften je nach Region. Entwickler*innen können nur eine App erstellen und in verschiedenen Regionen bereitstellen, die alle unterschiedliche Anforderungen haben. Stellen Sie Ihre App in der öffentlichen Azure-Cloud bereit. Im Anschluss können Sie lokal weitere Instanzen oder Komponenten bereitstellen. Sie können den Datenverkehr zwischen allen Instanzen mit Azure verwalten.

Sie sollten sich unbedingt eine Strategie für die Behandlung von Netzwerk- oder Stromausfällen zurechtlegen. Informationen zur Verbesserung der Resilienz finden Sie unter Resilienz und Abhängigkeiten, Bewährte Methoden sowie in anderen Zuverlässigkeitsleitfäden aus dem Microsoft Azure Well-Architected Framework.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

  • Compliance und Datenhoheit: Mit Azure Stack Hub können Sie den gleichen Dienst in mehreren Ländern/Regionen ausführen, und zwar so wie mit einer öffentlichen Cloud. Durch die Bereitstellung derselben App in Rechenzentren in den einzelnen Ländern/Regionen erfüllen Sie die Anforderungen an Datenhoheit. Durch diese Funktion wird sichergestellt, dass personenbezogene Daten innerhalb der jeweiligen Landes-/Regionsgrenzen verbleiben. Weitere Informationen finden Sie unter Einhaltung gesetzlicher Bestimmungen Well-Architected Framework.

  • Sicherheitsstatus von Azure Stack Hub: Sicherheit erfordert einen soliden, regelmäßigen Wartungsprozess. Aus diesem Grund hat Microsoft in eine Orchestrierungs-Engine investiert, die Patches und Updates nahtlos in der gesamten Infrastruktur anwendet. Dank der Partnerschaften mit den Azure Stack Hub-Originalgeräteherstellern (Original Equipment Manufacturer, OEM) werden auch OEM-spezifische Komponenten im Sicherheitsstatus berücksichtigt. Dies gilt beispielsweise für den Hardwarelebenszyklus-Host und die darauf ausgeführte Software. Diese Partnerschaft gewährleistet, dass Azure Stack Hub in der gesamten Infrastruktur einen einheitlichen, zuverlässigen Sicherheitsstatus aufweist, während Sie Ihre App-Workloads erstellen und sichern können.

  • Verwenden von Dienstprinzipalen über PowerShell, CLI und Azure-Portal: Um Ressourcenzugriff auf ein Skript oder eine Anwendung zu gewähren, müssen Sie eine Identität für Ihre App einrichten und die App mit ihren eigenen Anmeldeinformationen authentifizieren. Diese Identität wird als Dienstprinzipal bezeichnet. Sie können Dienstprinzipale verwenden, um:

    • der App-Identität Berechtigungen zuzuweisen, die sich von Benutzerberechtigungen unterscheiden und genau den Anforderungen der App entsprechen
    • die Authentifizierung mithilfe eines Zertifikats durchzuführen, wenn Sie ein unbeaufsichtigtes Skript ausführen Informationen zum Erstellen eines Dienstprinzipals und Verwenden eines Zertifikats für Anmeldeinformationen finden Sie unter Verwenden einer App-Identität für den Ressourcenzugriff.
  • Ein einzelne, einheitliche Lösung für die Identitätsverwaltung: Azure Stack Hub funktioniert sowohl mit Microsoft Entra ID als auch mit Active Directory-Verbunddienste (AD FS). Es funktioniert in verbundenen Szenarien mit Microsoft Entra ID. In nicht vernetzten Umgebungen können Sie AD FS als Lösung ohne Netzwerkverbindung nutzen. Dienstprinzipale werden verwendet, um Zugriff auf Apps zu gewähren, sodass sie Ressourcen über Azure Resource Manager bereitstellen oder konfigurieren können.

Optimaler Betrieb

Die Säule „Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Übersicht über die Säule „Optimaler Betrieb“.

  • Ein einzelner, einheitlicher Entwicklungsansatz: Mit Azure und Azure Stack Hub können Sie die gleichen Entwicklungstools in Ihrer gesamten Organisation verwenden. Diese Konsistenz erleichtert die Implementierung von CI/CD. Zahlreiche Apps und Dienste, die in Azure und Azure Stack Hub bereitgestellt werden, sind austauschbar und können in beiden Umgebungen ausgeführt werden.

    Eine hybride CI/CD-Pipeline kann Ihnen bei folgenden Aufgaben helfen:

    • Initiieren eines neuen Builds, der auf Codecommits in Ihrem Coderepository basiert
    • Stellen Sie Ihren neu erstellten Code für Benutzerakzeptanztests automatisch in Azure bereit.
    • Automatisches Bereitstellen in Azure Stack Hub, nachdem Ihr Code die Testphase bestanden hat

Weitere Informationen finden Sie im Abschnitt Release Engineering des Azure Well-Architected Frameworks.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Azure und Azure Stack Hub unterstützen die Anforderungen global verteilter Unternehmen.

  • Einfach zu verwaltende Hybrid Cloud: Microsoft bietet eine Integration lokaler Ressourcen mit Azure Stack Hub und Azure in einer einzigen zentralen Lösung. Durch diese Integration entfällt der Mehraufwand für die Verwaltung mehrerer Punktlösungen und verschiedener Cloudanbieter. Durch die cloudübergreifende Skalierung können Sie Azure Stack Hub einfach per Cloudbursting mit Azure verbinden und Ihre Daten und Apps in Azure verfügbar machen.

    • Sie müssen keinen sekundären Standort für die Notfallwiederherstellung mehr erstellen und zu warten.
    • Sparen Sie Zeit und Geld, indem Sie Bandsicherungen abschaffen. Bewahren Sie Sicherungsdaten aus bis zu 99 Jahren in Azure auf.
    • Migrieren Sie laufende Hyper-V-Workloads, physische Workloads (in der Vorschauphase) und VMware-Workloads (in der Vorschauphase) zu Azure, um die Wirtschaftlichkeit und Flexibilität der Cloud zu nutzen.
    • Führen Sie rechenintensive Berichte oder Analysen in einer replizierten Kopie Ihrer lokalen Ressourcen in Azure aus, ohne diese von den Produktionsworkloads zu trennen.
    • Nutzen Sie Cloudbursting, und führen Sie lokale Workloads in Azure aus, und zwar bei Bedarf mit größeren Computevorlagen.
    • Erstellen Sie mehrschichtige Entwicklungsumgebungen. Replizieren Sie Liveproduktionsdaten in Ihrer Entwicklungs-/Testumgebung, um sie in Quasi-Echtzeit zu synchronisieren.
  • Cloudübergreifende Skalierung mit Azure Stack Hub: Der Hauptvorteil von Cloudbursting besteht darin, dass Sie Kosten sparen. Sie zahlen nur dann für zusätzliche Ressourcen, wenn eine Nachfrage besteht. Sie müssen kein Ausgaben für unnötige zusätzliche Kapazität tätigen oder versuchen, Nachfragespitzen und Schwankungen vorherzusagen.

  • Verarbeitung in der Cloud: Mithilfe der cloudübergreifenden Skalierung können Sie den Verarbeitungsaufwand reduzieren. Durch das Verschieben von grundlegenden Apps in die öffentliche Cloud wird Last verteilt. Dadurch werden wiederum lokale Ressourcen für unternehmenskritische Apps frei. Sie können eine App in der privaten Cloud bereitstellen und nach Bedarf per Burst in die öffentliche Cloud übertragen, um die Nachfrage zu decken.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Nächste Schritte