Vorteile von Microservices mit GraphQL im E-Commerce

Daniel Kolb
Daniel Kolb
March 11 · 3 Min. Lesezeit
building blocks for e-commerce and application programming interface

Die Bedeutung von Microservices und GraphQL

Während Microservices in Deutschland schon seit eine Weile hier sind, handelt es sich international gesehen bereits um einen alten Hut, der sich über die Jahre aber bereits unzählige Male bewiesen hat. Mit GraphQL betritt nun eine relative neue Technologie das Feld, mit welcher die API Anfragen für Microservices sehr viel schneller und effizienter umgesetzt werden können. Darum empfiehlt es sich auf jeden Fall sich mit der konkreten Funktionsweise von GraphQL auseinander zu setzen, wenn man das nächste auf Microservices fußende E-Commerce Projekt in Angriff nehmen möchte. Da im E-Commerce komplexe Datenstrukturen üblich sind, sehen wir hier ein besonders wichtiges Einsatzszenario von GraphQL.

Was sind Microservices und GraphQL?

Bei einer Microservices-Software Architektur besteht eine Software aus sehr vielen kleinen Bausteinen, die baulich voneinander getrennt und theoretisch unabhängig voneinander nutzbar sind. Statt also in einem Webshop beispielsweise Produktkatalog, Nutzerverwaltung, Produktsuche etc. in ein großes Programm zu packen, wird mit Microservices simpel ausgedrückt jede relevante Funktion als eigene kleine Software geschrieben. Der Vorteil besteht nun darin, dass inkrementell und isoliert kleine Änderungen und Verbesserungen am Produkt von unabhängigen Teams sicher und schnell vorgenommen werden können – darum setzen Unternehmen wie Netflix oder Spotify schon seit Jahren auf Microservices. Auch beim E-Commerce Vorreiter REWE Digital in Deutschland weiß man die Vorteile dieser Architektur sehr zu schätzen.

Microservices (also z.B. Produktverwaltung und Suche) kommunizieren in dieser Architektur über ihre APIs miteinander. Dafür nimmt man heute noch gerne REST-APIs, was zu einer ziemlich aufwändigen Implementierung dieser Microservices führt, da oftmals über viele verschiedene Ressourcen / „Datenbanktabellen“ mit Referenzierungen / „Querverweisen“ Informationen beschafft werden müssen.

Was ist GraphQL? Welche Vorteile bringt GraphQL?

Mit GraphQL (ursprünglich entwickelt von Facebook) wird o.g Kommunikationsprozess zwischen den einzelnen APIs  unglaublich vereinfacht – und zwar soweit, dass es oftmals kaum Mehraufwand bedeutet statt einem Monolithen eine auf Microservices basierende Architektur zu wählen. Wird ein GraphQL-Server verwendet, kann man als Entwickler einfach sämtlichen gewünschten Felder in eine einzige Anfrage schreiben, und erhält als Antwort punktgenau jene Informationen die man benötigt – und zwar in einem zeitgemäßen JSON-Format.

Bei einer REST-API werden hingegen nacheinander oft zahlreiche Anfragen gestellt und manuell vom Entwickler in Verbindung gebracht. Beispielsweise muss man erst in der Produkttabelle nach einer ProduktID suchen, um dann in einer zweiten Tabelle den Netto-Preis für diese ProduktID nachzuschlagen. In einer dritten und vierten Tabelle finden sich dann erst der jeweilige Steuersatz sowie das erste Produktbild. In der fünften Tabelle erfährt man welche weiteren Produktbilder es gibt und in der sechsten Tabelle erhält man eine Kurzbeschreibung mit Referenzierung auf die Sprache in einer siebten Tabelle. Das Spiel könnte man noch lange so fortführen. Sämtliche diese Anfragen werden bei GraphQL in eine einzige Anfrage zusammengefasst. Damit spart man als Entwickler nicht nur Zeit und Kosten, sondern belastet den Server auch oftmals essentiell weniger. Besonders im E-Commerce sind komplexe REST-API Strukturen üblich, darum kann hier GraphQL besonders glänzen.

Welche Shopsysteme nutzen Microservices?

Momentan sind quasi alle in Deutschland etablierten Shopsysteme als Monolithen gebaut. Shopify ist eine SaaS Lösung und besitzt eine  hervorragende API, die es bei Shopify mittlerweile bereits als GraphQL Variante gibt. Dadurch kann man aber als Entwickler bei Shopify-Projekten einen Microservice Ansatz hervorragend implementieren.

Microservices mit GraphQL – Noch Fragen?

Die großen Potenziale von Microservices mit GraphQL im E-Commerce klingen für Sie interessant und Sie möchten mit Ihrem digitalen Vertrieb von den neuesten Technologien profitieren? Wenn Sie Fragen dazu haben, können Sie sich gerne an uns wenden. Schreiben Sie uns daher gerne eine E-Mail an hello@especial.digital oder kontaktieren Sie uns über unser Kontaktformular.

Fanden Sie das hilfreich? Teilen Sie diesen Beitrag mit Ihren Kollegen und Freunden

Daniel Kolb
Geschrieben von

Daniel Kolb

Product Development @ Especial

Melden Sie sich für unseren Newsletter an!

Bleiben Sie mit unseren News rund ums Thema E-Commerce und Technologie auf dem Laufenden.
Durch einen Klick auf "Anmelden" erklären Sie sich mit unserer Datenschutzerklärung einverstanden.

KONTAKT

Möchten Sie mehr erfahren?

Lassen Sie sich von uns helfen!