Cloud-Migrationsstrategien mit API Gateway
January 18, 2023
Cloud Migration ist der Prozess, bei dem Daten, Anwendungen oder andere Geschäftselemente aus einer lokalen Umgebung teilweise oder vollständig in eine cloudbasierte Umgebung verschoben werden, die von einem beliebten Cloud-Dienstleister wie Azure, AWS oder Google Cloud angeboten wird. Dieser Beitrag untersucht verschiedene Ansätze zur Entwicklung Ihrer Cloud-Migrationsstrategie unter Verwendung eines API-Gateways.
Vorteile des Umzugs in die Cloud
Für Unternehmen, die den Prozess der Cloud-Migration durchführen, kann die Cloud einen erheblichen Einfluss haben. Dazu gehören Kosteneinsparungen bei der Hardware, die für die IT-Infrastruktur benötigt wird, eine schnellere Bereitstellung, die Skalierung Ihrer Anwendungen nach Bedarf, die Sicherung geschäftskritischer Workloads und sensibler Daten sowie verbesserte Möglichkeiten für Innovationen.
Hier haben wir weitere Vorteile der Migration in die Cloud zusammengefasst:
- Erhöhte Agilität und Flexibilität
- Möglichkeit, schneller zu innovieren
- Bewältigung steigender Ressourcenanforderungen
- Bessere Verwaltung gestiegener Kundenerwartungen
- Kostensenkung
- Sofortige Geschäftsergebnisse liefern
- Vereinfachung der IT
- Umstellung auf Everything-as-a-Service
- Besseres Verbrauchsmanagement
- Cloud-Skalierbarkeit
- Verbesserte Leistung
Herausforderungen der Cloud-Migration
Die Cloud-Migration kann erhebliche Vorteile bringen, aber es gibt auch einige Herausforderungen auf dem Weg, wie z. B. das Fehlen einer Cloud-Migrationsstrategie zu Beginn, komplexe bestehende Architekturen, ein langer Migrationsprozess, Geschäftsausfallzeiten während der Migration, organisatorische Akzeptanz sowie Sicherheit und Compliance.
Unternehmen ziehen in die Cloud, um eine erhöhte Serviceverfügbarkeit, Skalierbarkeit oder einen der anderen Vorteile zu genießen, die die Cloud verspricht. Um jedoch das volle Potenzial der Cloud auszuschöpfen, sind sorgfältige Planung und Gestaltung erforderlich, um sicherzustellen, dass eine Organisation die Cloud ausgewählt hat, die am besten zu ihrem Anwendungsfall passt.
Cloud-Migrationsstrategien
Es gibt verschiedene Ansätze, um ein API-basiertes System in Richtung Cloud weiterzuentwickeln oder zu migrieren, die von „Beibehalten“ („nichts tun“) über Rehosting, Replatforming, Repurchasing, Refactoring/Re-Architektur (Neuschreiben, um die Cloud-Infrastruktur zu nutzen) bis hin zur Stilllegung reichen.
Dieser Beitrag skizziert 6 verschiedene Migrationsstrategien und ist ein guter Ausgangspunkt, wenn Sie damit beauftragt sind, die Migration Ihrer bestehenden Architektur und Systeme in die Cloud zu bewerten oder zu leiten. Da APIs oft die geschäftsnahe Komponente sind, die dem Benutzer am nächsten liegt – und ein zentraler Eingangspunkt für die meisten Anfragen – sollten Sie ihnen besondere Aufmerksamkeit schenken, wenn Sie Ihren Migrationsansatz festlegen. Die sechs Rs bieten ein Spektrum an Optionen von „nichts tun“ bis hin zu einem vollständigen Neubau oder der Stilllegung eines Systems. Sie lauten:
- Beibehalten oder Überprüfen
- Rehosting
- Replatforming
- Repurchasing
- Refactoring/Re-Architektur
- Stilllegung
Rolle des API-Managements bei der Cloud-Migration
Unabhängig von der gewählten Strategie für Ihren Entwicklungsprozess kann API-Management eine Schlüsselrolle bei der Migration und der Freischaltung des Werts von APIs innerhalb und außerhalb einer Organisation spielen. API-Manager sind im Wesentlichen ein leistungsstarkes Gateway, das verschiedene zusätzliche Funktionen für die Veröffentlichung und Steuerung von APIs bietet. API-Manager bieten Richtlinien, die Edge-Anforderungen wie OAuth2-Herausforderungen, Inhaltsvalidierung, Ratenbegrenzung, Caching, Drosselung und viele andere Funktionen ermöglichen, die typischerweise in einem Gateway zu finden sind. Es gibt viele API-Management-Tools, und es ist wichtig, das richtige auszuwählen.
Darüber hinaus können sie Entwicklerportale bereitstellen, die einen Marktplatz für alle APIs enthalten, die Entwickler beim Erstellen von Systemen zur Nutzung der angebotenen APIs verwenden können. Organisationen können API-Management auch nutzen, um den Zugriff auf APIs zu monetarisieren, sowohl für externe Kunden als auch für interne „Rückverrechnungen“, die in Unternehmen und bereichsübergreifenden Bereitstellungen üblich sind. Vielleicht der wichtigste Aspekt des API-Managements ist, dass es einen zentralen Punkt zur Entdeckung von APIs bieten kann, während Sie weiterhin Änderungen im Hintergrund vornehmen.
API-Gateway als Werkzeug für die Migration
Das API-Gateway ist eine wesentliche Komponente von API-Management-Lösungen. Sie können die 10 häufigsten Anwendungsfälle eines API-Gateways im Apache APISIX-Blog lesen. Die Verwendung eines API-Gateways kann Standorttransparenz für Dienste und APIs bieten, die bereitgestellt werden, was die Bereitstellung eines Dienstes in der Cloud und die schrittweise Umleitung des Datenverkehrs vom bestehenden Dienst zum neuen Dienst mit begrenzter (oder keiner) Auswirkung auf die Nutzer ermöglicht.
Nachfolgend drei mögliche Strategien:
-
Eine Möglichkeit, ein API-Gateway in einer Cloud-Migrationsstrategie zu verwenden, besteht darin, zunächst einen Proxy für Ihre lokalen Dienste zu erstellen. Dies ermöglicht es Ihnen, den Datenverkehr von Ihren lokalen Diensten zu den entsprechenden Diensten in der Cloud umzuleiten, ohne Änderungen an Ihren bestehenden Anwendungen vornehmen zu müssen. Wir können auch einfache A/B-Tests durchführen, Metriken über die Leistung des neuen Cloud-Endpunkts und das Benutzererlebnis sammeln und bei Bedarf wieder auf den lokalen Dienst zurückgreifen, wenn der neue Dienst in der Cloud aus irgendeinem Grund nicht geeignet ist.
-
Eine weitere Strategie besteht darin, ein API-Gateway als Fassade für Ihre Cloud-Dienste zu verwenden. Dies ermöglicht es Ihnen, die Komplexität Ihrer Microservices-Architektur vor externen Nutzern zu verbergen, während sie dennoch auf die benötigte Funktionalität zugreifen können.
-
Eine dritte Strategie besteht darin, ein API-Gateway zur Implementierung eines Service Mesh zu verwenden, das Ihnen helfen kann, Zero-Trust-Netzwerke zu implementieren. Dies ermöglicht es Ihnen, die Kommunikation zwischen Microservices zu verwalten und zu sichern, ohne Änderungen an den einzelnen Diensten vornehmen zu müssen.
Die Dienste von Apache APISIX erweisen sich als effiziente Lösung zur Implementierung der oben genannten Anforderungen, da sie als Proxy für die gesamte Anwendung oder als einziger Zugangspunkt fungieren können. Als Proxy ist das API-Gateway in der Lage, Anfragen effizient zu verarbeiten und die Legacy-Anwendung mit umgestalteten Endpunkten zu routen.
Replatforming einer Beispielanwendung in die Cloud
Nehmen wir an, wir haben eine Konferenzanwendung, die aus 5 Hauptkomponenten besteht: eine Web-App, ein API-Gateway, ein Legacy-Konferenzsystem und zwei Microservices (Session und Teilnehmer). Sie können die Verantwortung jedes Dienstes im folgenden Architekturdiagramm sehen.
Ihr Team entscheidet sich, die Dienste der Konferenz-App schrittweise in die Cloud zu migrieren – anstatt ein Big-Bang-Risiko einzugehen –, aber die Ausführung von Diensten in mehreren Cloud-Umgebungen und lokalen Rechenzentren stellt zusätzliche Herausforderungen dar. Angesichts dieser Aufgabe entscheiden Sie sich, zunächst den Teilnehmerdienst „rezuplattformen“. Da Sie die Funktionalität der Teilnehmer bereits in einem früheren Stadium in einen unabhängigen Microservice extrahiert haben, erschienen die Refactoring-/Re-Architektur-Strategien nicht angemessen. Wenn Sie jedoch in Zukunft neue Funktionen in das Konferenzsystem einfügen, wäre die Re-Architektur des Systems (möglicherweise die Extraktion eines Dienstes) und die Verlagerung in die Cloud eine Option, die stark in Betracht gezogen werden sollte. Rehosting könnte eine solide Strategie sein, aber wir möchten lieber einen cloudbasierten Datenbankdienst nutzen, als unsere eigene MySQL-Datenbankinstanz „lift and shift“ durchzuführen.
Außerdem müssen Sie das API-Gateway in die Cloud migrieren (oder APIM-Lösungen verwenden, die von Cloud-Anbietern bereitgestellt werden), da bei vielen schrittweisen Cloud-Migrationen der Datenverkehr mehrere Netzwerke durchlaufen muss, um eine API-Anfrage eines Benutzers zu erfüllen. Die Verlagerung des API-Gateways in die Cloud wird auch dazu beitragen, den API-Datenverkehr schrittweise vom bestehenden lokalen Standort in die Cloud zu routen. Das folgende Diagramm zeigt den Endzustand der rezuplattformierten Architektur.
Zusammenfassung
Insgesamt kann die Verwendung eines API-Gateways in einer Cloud-Migrationsstrategie viele Vorteile bieten, wie z. B. einfache Verwaltung, Sicherheit und Skalierbarkeit. Es ermöglicht Ihnen, Ihre Dienste schrittweise in die Cloud zu verlagern, und kann Ihnen helfen, die Komplexität Ihrer Microservices-Architektur vor externen Nutzern zu verbergen. Zum Beispiel ist Apache APISIX eine vollständig Open-Source und Cloud-native API-Traffic-Management-Lösung, die Sie in jeder Cloud bereitstellen können und die die Entwicklerproduktivität mit integrierten Plugins verbessert, die die Zeit für Ihre Cloud-Migration verkürzen.
Verwandte Ressourcen
Empfohlene Inhalte
Community
🙋 Treten Sie der Apache APISIX Community bei 🐦 Folgen Sie uns auf Twitter 📝 Finden Sie uns auf Slack