Freigeben über


Migrieren einer Web-App mithilfe von Azure API Management

Azure API Management
Azure Monitor
Azure App Service

In diesem Szenario migriert ein E-Commerce-Unternehmen in der Reisebranche eine ältere Web-App mithilfe von Azure API Management. Das Unternehmen hostet die neue Benutzeroberfläche als Plattformdienst-App (PaaS) auf Azure. Die neue Benutzeroberfläche hängt sowohl von vorhandenen als auch von neuen HTTP-APIs ab. Diese APIs werden mit effektiver gestalteten Schnittstellen bereitgestellt, die die Leistung verbessern, die Integration vereinfachen und zukünftige Erweiterbarkeit ermöglichen.

Architecture

Diagramm, das die Schritte zum Migrieren einer Web-App mithilfe der API-Verwaltung zeigt.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

Der folgende Workflow entspricht dem vorherigen Diagramm:

  1. Die vorhandene lokale Web-App nutzt weiterhin die vorhandenen lokalen Webdienste direkt.

  2. Aufrufe von der vorhandenen Web-App an die vorhandenen HTTP-Dienste bleiben unverändert. Diese Aufrufe erfolgen intern im Unternehmensnetzwerk.

  3. Die API-Verwaltung führt Aufrufe von Azure an die vorhandenen internen Dienste durch.

  4. Die neue API weist die folgenden Merkmale auf:

  5. Die neue browserbasierte Web-App hängt von der API-Verwaltungsinstanz für die vorhandene HTTP-API und die neue API ab.

  6. Das Reise-E-Commerce-Unternehmen kann einige Benutzer zur neuen Benutzeroberfläche zur Vorschau oder zum Testen leiten, während die alte Benutzeroberfläche und vorhandene Funktionalität nebeneinander erhalten bleiben.

Richten Sie die API-Verwaltungsinstanz ein, um die älteren HTTP-Dienste einem neuen API-Vertrag zuzuordnen. In dieser Konfiguration ist die neue Web-UI nicht der Integration mit einer Reihe von älteren Diensten oder APIs und neuen APIs bewusst.

In Zukunft kann das Projektteam die Funktionalität schrittweise auf die neuen APIs verschieben und die ursprünglichen Dienste zurückziehen. Das Team behandelt diese Änderungen innerhalb der API-Verwaltungskonfiguration, sodass die Front-End-Benutzeroberfläche nicht betroffen ist und Die Neuentwicklungsarbeit vermieden wird.

Components

  • DIE API-Verwaltung ist eine Verwaltungsplattform und ein Gateway für APIs in allen Umgebungen. In dieser Architektur dient sie als Fassade für die vorhandenen Legacy-APIs und die neuen APIs. Die neue Client-App nutzt eine einzige konsistente Schnittstelle, und das Team kann legacy back ends inkrementell hinter dieser Fassade mit minimalen Auswirkungen auf die Front-End-Entwicklung modernisieren.

  • App Service ist eine schlüsselfertige PaaS-Lösung für Webhosting, die sofort einsatzbereite Features wie Sicherheit, Lastenausgleich, automatische Skalierung und automatisierte Verwaltung bereitstellt. In dieser Architektur bietet App Service flexibles schlüsselfertiges Hosting, sodass sich das DevOps-Team auf die Bereitstellung von Features konzentrieren kann.

Alternatives

  • Wenn die Organisation plant, ihre Infrastruktur zu verschieben, einschließlich der virtuellen Computer (VMs), die die Legacy-Apps hosten, vollständig auf Azure, kann die API-Verwaltung als Fassade für jeden adressierbaren HTTP-Endpunkt dienen.

  • Wenn die Organisation die vorhandenen Endpunkte privat hält und sie nicht öffentlich verfügbar macht, kann die API-Verwaltungsinstanz der Organisation eine Verknüpfung mit einem virtuellen Azure-Netzwerk herstellen.

  • Die Organisation kann die API Management-Instanz privat halten, indem sie sie im internen Modus bereitstellt. Die Organisation kann dann die Bereitstellung mit dem Azure-Anwendungsgateway verwenden, um den öffentlichen Zugriff für einige APIs zu ermöglichen, während andere intern bleiben. Weitere Informationen finden Sie unter Integrieren der API-Verwaltung in ein internes virtuelles Netzwerk mithilfe des Anwendungsgateways.

  • Die Organisation entscheidet sich möglicherweise, ihre APIs lokal zu hosten. Ein Grund für diese Änderung könnte sein, dass die Organisation die nachgelagerten Datenbankabhängigkeiten, die im Rahmen dieses Projekts als in den Anwendungsbereich fallend betrachtet werden, nicht in die Cloud verlagern kann. In diesem Szenario kann die Organisation die API-Verwaltung lokal mithilfe eines selbst gehosteten Gateways nutzen.

    Das selbst gehostete Gateway ist eine containerisierte Bereitstellung des API-Verwaltungsgateways, das eine Verbindung mit Azure in einem ausgehenden Socket herstellt. Um selbst gehostete Gateways zu verwenden, müssen Sie die folgenden Voraussetzungen erfüllen:

    • Sie müssen selbst gehostete Gateways mithilfe einer übergeordneten Ressource in Azure bereitstellen, die zusätzliche Kosten hinzufügt.

    • Sie müssen die Premium-Stufe der API-Verwaltung verwenden.

Szenariodetails

Ein E-Commerce-Unternehmen in der Reisebranche möchte seinen älteren, browserbasierten Softwarestapel modernisieren. Der vorhandene Stapel ist hauptsächlich monolithisch, aber einige SOAP-basierte HTTP-Dienste (Simple Object Access Protocol) sind aus einem aktuellen Projekt vorhanden. Das Unternehmen betrachtet die Schaffung zusätzlicher Einnahmenströme, um einige seiner internen geistigen Eigentumsrechte zu monetarisieren.

Zu den Zielen für das Projekt gehören der Abbau technischer Schulden, laufende Wartungsverbesserungen und schnellere Feature-Entwicklung mit dadurch weniger Regressionsfehlern. Das Projekt verwendet einen iterativen Prozess, um Risiken zu vermeiden und die folgenden Schritte parallel auszuführen:

  • Das Entwicklungsteam modernisiert das Back-End der App, das aus relationalen Datenbanken besteht, die auf virtuellen Computern gehostet werden.

  • Das interne Entwicklungsteam schreibt neue Geschäftsfunktionen und macht sie über neue HTTP-APIs verfügbar.

  • Ein Vertragsentwicklungsteam erstellt eine neue browserbasierte Benutzeroberfläche, die Azure hosten soll.

Das Unternehmen bietet neue App-Features in Phasen. Diese Features ersetzen schrittweise die vorhandenen browserbasierten Client- und Server-UI-Funktionen, die lokal gehostet werden und das E-Commerce-Geschäft des Unternehmens antreiben.

Mitglieder des Managementteams möchten unnötige Modernisierungen vermeiden. Außerdem möchte es die Kontrolle über den Umfang und die Kosten des Projekts behalten. Um diese Ziele zu erreichen, entscheiden sie sich, ihre vorhandenen SOAP-HTTP-Dienste beizubehalten. Zudem sollen Änderungen an der vorhandenen Benutzeroberfläche auf ein Minimum beschränkt werden. Sie können die API-Verwaltung verwenden, um viele der Anforderungen und Einschränkungen des Projekts zu erfüllen.

Mögliche Anwendungsfälle

In diesem Szenario wird erläutert, wie Legacy-, browserbasierte Softwarestapel modernisiert werden.

Sie können dieses Szenario für die folgenden Aufgaben verwenden:

  • Erfahren Sie, wie Ihr Unternehmen von der Nutzung des Azure-Ökosystems profitieren kann.
  • Planen sie eine Dienstmigration zu Azure.
  • Erfahren Sie, wie sich eine Umstellung auf Azure auf vorhandene APIs auswirken kann.

Considerations

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Well-Architected Framework.

Reliability

Zuverlässigkeit trägt dazu bei, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie für Ihre Kunden vornehmen. Weitere Informationen finden Sie in der Prüfliste zur Entwurfsüberprüfung für Zuverlässigkeit.

  • Aktivieren Sie Verfügbarkeitszonen , wenn Sie Ihre API-Verwaltungsinstanz bereitstellen. Die Option zum Bereitstellen der API-Verwaltung in Verfügbarkeitszonen ist nur in den Premium-Dienstebenen verfügbar.

  • Verwenden Sie Verfügbarkeitszonen mit zusätzlichen Gatewayinstanzen, die in verschiedenen Regionen bereitgestellt werden. Diese Kombination verbessert die Dienstverfügbarkeit, wenn eine Region offline ist. Die Multiregion-Bereitstellung ist nur in der Premium-Dienstebene verfügbar.

  • Integration in Application Insights, die Metriken über Azure Monitor zur Überwachung anzeigt. Sie können z. B. die Kapazitätsmetrik verwenden, um die Gesamtlast der API-Verwaltungsressource zu bestimmen und ob Sie mehr Skalierungseinheiten benötigen. Verfolgen Sie die Ressourcenkapazität und Gesundheit, um die Zuverlässigkeit zu verbessern.

  • Stellen Sie sicher, dass nachgeschaltete Abhängigkeiten, z. B. die Back-End-Dienste, die die APIs hosten, die von der API-Verwaltung abgedeckt werden, ebenfalls widerstandsfähig sind.

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie in der Prüfliste für die Entwurfsüberprüfung für die Kostenoptimierung.

Die API-Verwaltung verfügt über acht Ebenen:

  • Verbrauch
  • Entwickler
  • Basic und Basic v2
  • Standard und Standard v2
  • Premium und Premium v2

Weitere Informationen zu den Unterschieden in diesen Ebenen finden Sie unter API-Verwaltungspreise.

API Management lässt sich durch Hinzufügen und Entfernen von Einheiten skalieren. Die Kapazität jeder Einheit ist vom Tarif abhängig.

Note

Sie können die Entwicklerebene verwenden, um API-Verwaltungsfeatures auszuwerten. Verwenden Sie ihn nicht für die Produktion.

Um projizierte Kosten für Ihre Bereitstellungsanforderungen anzuzeigen, können Sie die Anzahl der Skalierungseinheiten und App Service-Instanzen im Azure-Preisrechner ändern.

Contributors

Dieser Artikel wird von Microsoft gepflegt. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.

Hauptautor:

Andere Mitwirkende:

Um nicht-öffentliche LinkedIn-Profile anzusehen, melden Sie sich bei LinkedIn an.

Nächste Schritte