Microservices, APIs und Endpunkte – Was ist was?

In der Tech-Welt und besonders im Bereich Composable DXP und Headless Architecture stolpert man heute regelmäßig über Begriffe wie Microservices, APIs und Endpunkte.

Da die Begriffe nah beieinander liegen, kann es schnell zu Verwechslungen oder Begriffsvertauschungen kommen. Daher will ich in diesem kurzen Artikel erklären, was sie bedeuten und wie sie zusammenhängen.

Microservices

Microservices sind ein Architekturansatz, der große, monolithische Anwendungen in kleine, eigenständige Dienste aufteilt. Jeder dieser Dienste ist darauf spezialisiert, eine bestimmte Funktion zu erfüllen und kann unabhängig von den anderen Diensten entwickelt, bereitgestellt und skaliert werden.

Da Microservices kleinere, lose gekoppelte Dienste sind, können sie unabhängig voneinander eingesetzt werden. Sie stellen verschiedene Funktionen einer Anwendung dar und werden oft von verschiedenen Teams entwickelt und haben häufig unterschiedliche Technologie-Stacks.

Die Vorteile von Microservices haben dazu geführt, dass beispielsweise Unternehmen wie Amazon und Netflix von monolithischen Architekturen zu Microservices gewechselt sind, um Skalierbarkeit und Agilität zu erreichen und eine größere Modularität sowie Flexibilität im Systemdesign zu ermöglichen.

APIs

APIs fungieren sowohl als Schnittstellen als auch als Verträge („Service Contracts“), die klar definieren, wie verschiedene „Konsumenten“ – wie Dienste, Anwendungen oder externe Systeme – auf zugrunde liegende Services zugreifen und diese nutzen können. Ein API spezifiziert präzise, welche Anfragen gestellt werden können, welche Parameter erforderlich sind und wie die Antworten formatiert zurückgegeben werden. Dies geschieht über festgelegte Endpunkte (Endpoints), die über bestimmte URLs zugänglich sind. Ein Endpunkt stellt im Wesentlichen einen Zugangspunkt dar, über den Anfragen an die API gesendet und Antworten empfangen werden können, beispielsweise /api/articles/:id.

Die Rolle von APIs in der Microservices-Kommunikation

In einer Microservices-Architektur stellt jeder Microservice in der Regel eine oder mehrere APIs bereit, die verschiedene Endpunkte zur Verfügung stellen. Diese APIs ermöglichen es den Konsumenten, mit dem Microservice zu interagieren. Dadurch wird gewährleistet, dass jede Einheit des Systems klar definierte Kommunikationswege hat und ihre Funktionalitäten nach außen hin zugänglich macht.

Ein wichtiger Aspekt ist, dass APIs in einer Microservices-Architektur als Verträge dienen, die die verfügbaren Interaktionsmöglichkeiten festlegen. Sie beschreiben die verfügbaren Endpunkte, die erwarteten Parameter und die Struktur der Antworten. Dies standardisiert die Interaktion und vereinfacht die Integration und den Betrieb der verschiedenen Microservices innerhalb eines komplexen Systems.

Kurz gesagt

Eine Microservices-Architektur besteht aus verschiedenen Microservices, die jeweils über mehrere APIs verfügen, welche wiederum zahlreiche Endpunkte haben.

Kleine Anekdote in diesem Zusammenhang: Jeff Bezos, Gründer von Amazon, soll um 2002 herum in einem Memo gefordert haben, dass generell APIs/Services für die Kommunikation verwendet werden müssen, ansonsten werde man gefeuert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Dieses Formular speichert Deinen Namen, Deine E-Mail-Adresse sowie den Inhalt, damit wir die Kommentare auf unserer Seite auswerten und anzeigen können. Weitere Informationen findest Du in unserer Datenschutzerklärung.