Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
Der folgende Workflow entspricht dem vorherigen Diagramm:
Die vorhandene lokale Web-App nutzt weiterhin die vorhandenen lokalen Webdienste direkt.
Aufrufe von der vorhandenen Web-App an die vorhandenen HTTP-Dienste bleiben unverändert. Diese Aufrufe erfolgen intern im Unternehmensnetzwerk.
Die API-Verwaltung führt Aufrufe von Azure an die vorhandenen internen Dienste durch.
Das Sicherheitsteam ermöglicht den Durchfluss des Datenverkehrs von der API-Verwaltungsinstanz durch die Unternehmensfirewall zu den vorhandenen lokalen Diensten durch die Verwendung sicherer Transportprotokolle wie Hypertext Transfer Protocol Secure (HTTPS) über Transport Layer Security (TLS).
Das operative Team lässt eingehende Aufrufe der Dienste nur von der API Management-Instanz zu. Sie erfüllt diese Anforderung, indem sie die IP-Adresse der API-Verwaltungsinstanz zur Zulassungsliste innerhalb des Unternehmensnetzwerkperimeters hinzufügt.
Ein neues Modul in der lokalen Anforderungspipeline für HTTP-Dienste (Hypertext Transfer Protocol) fungiert nur für Verbindungen, die extern stammen. Die Pipeline überprüft ein Zertifikat, das die API-Verwaltung bereitstellt.
Die neue API weist die folgenden Merkmale auf:
Nur die API-Verwaltungsinstanz, die die API-Fassade bereitstellt, zeigt die neue API an. Sie greifen nicht direkt auf die neue API zu.
Sie entwickeln und veröffentlichen die neue API als Azure PaaS-Web-API-App.
Sie richten die neue API ein, indem Sie die Einstellungen für das Web-Apps-Feature von Azure App Service verwenden, um nur die virtuelle IP (VIP) der API-Verwaltung zu akzeptieren.
Web Apps hosten die neue API mit sicheren Transportprotokollen wie HTTPS oder TLS, die aktiviert sind.
Azure App Service bietet Autorisierungsfunktionen über Microsoft Entra ID und Open Authorization (OAuth) 2.
Die neue browserbasierte Web-App hängt von der API-Verwaltungsinstanz für die vorhandene HTTP-API und die neue API ab.
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.
Wenn die API-Verwaltung mit einem virtuellen Azure-Netzwerk verknüpft ist, kann die Organisation den Back-End-Dienst direkt über private IP-Adressen adressieren.
Im lokalen Szenario kann die API-Verwaltungsinstanz eine private Verbindung mit dem internen Dienst über das Azure VPN-Gateway und eine IPSec-VPN-Verbindung (Site-to-Site Internet Protocol Security, IPsec) oder Azure ExpressRoute herstellen. Dieses Szenario wird dann zu einer Hybridlösung von Azure und lokal.
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:
- Ben Gimblett | Senior Customer Engineer
Andere Mitwirkende:
- Andrew Cardy | Senior Software Engineer
Um nicht-öffentliche LinkedIn-Profile anzusehen, melden Sie sich bei LinkedIn an.
Nächste Schritte
- App Service-Übersicht
- API Management – Übersicht
- Einrichten von Stagingumgebungen in App Service
- Transformieren und Schützen Ihrer API
- Erkunden des App-Diensts