GP Solutions freut sich, die erfolgreiche Migration der Website Hotelplan.com von Hotelplan von API Gateway zu Apollo Federation bekannt zu geben. Die Website ist die erste, die solche Back-End-Änderungen durchlaufen hat, und weitere Migrationen sind bereits in Planung.
Nach einer intensiven Vorbereitungsphase, die fast zwei Jahre dauerte, konnten die gemeinsamen Bemühungen unserer und der Hotelplan-Teams eine Reihe von Back-End-Migrationen zu Apollo Federation einleiten. Die erste Website diente als Ausgangspunkt, um die neue Technologie und die sorgfältig entwickelte Methodik der beiden Teams zu testen. In naher Zukunft erwarten wir, dass auch weitere Hotelplan-Websites denselben Migrationsprozess durchlaufen werden.
Wir möchten unserem engagierten Team unseren herzlichen Dank für ihr unermüdliches Engagement und ihre außergewöhnlichen Bemühungen während dieses Migrationsprojekts aussprechen. Ihre Expertise, Sorgfalt und Teamarbeit waren entscheidend für den Erfolg dieses Projekts.
Unser Dank gilt auch dem Team von Hotelplan für ihre unschätzbare Unterstützung und Kooperation. Ihre Einblicke, schnelle Reaktionen und Partnerschaft waren ausschlaggebend, um die Komplexität dieses Projekts zu meistern.
Was ist Apollo Federation?
Apollo Federation ist eine fortschrittliche Technologie, die es ermöglicht, mehrere GraphQL-APIs zu einem einzigen, föderierten Supergraph zu kombinieren, der für die Clientanwendung zugänglich ist. Dieser Ansatz vereinfacht den Entwicklungsprozess, da Entwickler nur unabhängige Dienste für Subgraphen erstellen müssen, die dann automatisch vom Apollo Router kombiniert werden.
KUNDEN KÖNNEN ALLE BENÖTIGTEN DATEN MIT EINER EINZIGEN ANFRAGE ABRUFEN.
Herausforderungen vor der Migration
Die frühere API- und Service-Struktur von Hotelplan war zunehmend schwierig zu verwalten und neue Funktionen zu implementieren. Mehrere Dienste, die jeweils für verschiedene Seiten der Anwendung verantwortlich waren, wurden von einem API Gateway verwaltet, das separate gRPC-APIs importierte, in GraphQL umwandelte und in ein gemeinsames Schema integrierte. Mit zunehmender Datenüberlappung zwischen den Seiten wurden mehrere gRPC-Verbindungen zwischen den Diensten erforderlich, was zu einer komplexen Abhängigkeitsstruktur führte.
Mit der Migration zu Apollo Federation konnten wir die direkten Verbindungen zwischen Diensten beseitigen. Nun ist jeder Dienst unabhängig von den anderen.
Warum der Wechsel zu Apollo Federation?
Die Entscheidung für die Umstellung wurde durch die Notwendigkeit wirklich unabhängiger Microservices auf API- und Code-Ebene motiviert. Da die Domänenentitäten von Hotelplan eng miteinander verbunden sind, ist GraphQL die ideale Lösung. Der vorherige Einsatz von gRPC führte zu einem „Abhängigkeitschaos“, in dem Microservices nicht mehr autonom waren, was die Unterstützung und die Einführung neuer Funktionen erschwerte.
Vorteile des neuen Ansatzes
- Vereinfachte Integration: Entwickler müssen Subgraphen nicht mehr manuell kombinieren – der Apollo Router übernimmt diesen Prozess automatisch.
- Isoliertes Testing: Dienste können einzeln entwickelt und getestet werden, was die Entwicklung und Wartung spezifischer Anwendungsbereiche erleichtert.
- Automatisierung und Debugging: Die Implementierung der neuesten Schema-Version vereinfacht Debugging und automatisierte Tests.
- Inversion of Control: Komplexe Kommunikationscodes zwischen Diensten entfallen, wodurch der Microservice-Code um 30–50 % reduziert wird.
- Verbessertes Frontend: Die neue API-Struktur ermöglicht effizientere Datenabfragen mit einer einzigen Anfrage.
- Deklarative Sprache für Entitätsverbindungen: Beziehungen zwischen Entitäten in unabhängigen Microservices werden auf Schemaebene beschrieben.
- Reibungslose Client-Interaktion: Clients interagieren mit dem föderierten Schema, als wäre es ein monolithisches System.
- Integrierte Validierung: Tools zur Validierung von Schemaänderungen verhindern Rückwärtskompatibilitätsprobleme für Clients bei der Einführung neuer Servicereleases.
Neue Möglichkeiten
Die Migration zu Apollo Federation eröffnet Hotelplan neue Möglichkeiten, wie:
- Direkte Transformation von Inhaltsgraphen im CMS, um diese ohne Zwischendienste über API zugänglich zu machen.
- Einsatz eines flexiblen Automatisierungs-API-Frameworks zur Durchführung automatisierter Tests und zur Generierung von Dokumenten für Apollo-Abfragen.
- Umsetzung von DevOps- und SRE-Best Practices, einschließlich Testing, Log-Verarbeitung, Service-Monitoring und effizienter Release-Strategien.
Alle Beteiligten blicken gespannt auf die bevorstehenden Migrationen. Wir sind zuversichtlich, dass die Umstellung reibungslos verlaufen wird, dank der soliden technischen Grundlage, die während des Projekts geschaffen wurde.