Artikel

Die Minions der Softwareentwicklung: Wie Microservices funktionieren und was sie leisten

Microservices erfreuen sich zunehmender Beliebtheit. Welche Technologien zum Einsatz kommen und worauf Softwarearchitekten und -entwickler achten sollten.

Wer schon einmal eine selbst entwickelte Software über längere Zeit betreut, gewartet und weiterentwickelt hat, kennt das Problem: Bugfixes, neue oder sich verändernde Anforderungen und stetiger technologischer Wandel sorgen dafür, dass Software kontinuierlich wächst und sich verändert. Ohne entsprechende Maßnahmen führt diese „Software-Evolution“ häufig dazu, dass Software größer und komplexer, und somit auch schwieriger zu warten wird.

Um dieser „Softwarealterung“ vorzubeugen, hat sich in den vergangenen Jahren mit dem Microservice-Muster ein neues Architekturparadigma etabliert. Dieses versucht, die Komplexität großer, wachsender Softwaresysteme besser beherrschbar zu machen und somit eine einfache Wartbarkeit sicherzustellen.

Wie funktionieren Microservices?

Eine Microservice-Architektur teilt ein Softwaresystem in eine Vielzahl einzelner, kleiner und unabhängiger Dienste auf. Diese laufen als einzelne Prozesse (somit in der Regel auch über ein Netzwerk verteilt) und kommunizieren über einfache Netzwerkschnittstellen miteinander.

Gegenüber einer herkömmlichen „monolithisch“ aufgebauten Software bietet diese Architektur einige Vorteile – beispielsweise können einzelne Services unterschiedliche Technologien nutzen. Während sich für einen Service womöglich Java als Laufzeitumgebung und MySQL als Datenbankmanagementsystem eignen, sind für einen anderen Service womöglich Node.js und eine Mongo-Datenbank bessere Kandidaten. Die Kapselung in einzelne Services ermöglicht es Entwicklungsteams somit, das jeweils beste Werkzeug für den jeweiligen Zweck zu wählen.

Die Aufteilung in mehrere Einzelkomponenten kann zudem die Auslieferung neuer Versionen vereinfachen: Statt das komplette System am Stück zu deployen (gerade bei komplexen Softwaresystemen ein womöglich riskantes Vorhaben), können einzelne Services nun unabhängig voneinander ausgeliefert werden (oder sogar durch Neu-Implementierungen ersetzt werden).

Im Unterschied zu herkömmlichen serviceorientierten Architekturen (SOAs) liegt der Fokus bei Microservice-Architekturen auf Einfachheit. Der Funktionsumfang eines einzelnen Services sollte möglichst überschaubar sein. Außerdem werden einfachere Kommunikationsprotokolle wichtiger. Statt des schwergewichtigen SOAP-Protokolls geht der Trend zu einfacheren Kommunikationsmustern wie RESTful HTTP, oder – falls Asynchronität oder eine Publish/Subscribe-Architektur gewünscht ist – auch AMQP.

Ein Beispiel für eine Microservice-Architektur im E-Commerce: Sie besteht aus vier verschiedenen Microservices, jeweils mit eigener Datenhaltung, drei externen Applikationen, und einem Gateway, welches den Zugriff auf die verschiedenen Schnittstellen der Services ermöglicht und kontrolliert.

Ein Beispiel für eine Microservice-Architektur im E-Commerce: Sie besteht aus vier verschiedenen Microservices, jeweils mit eigener Datenhaltung, drei externen Applikationen, und einem Gateway, welches den Zugriff auf die verschiedenen Schnittstellen der Services ermöglicht und kontrolliert. Die obige Abbildung zeigt eine Beispiel-Architektur für ein E-Commerce-Szenario, bestehend aus vier Microservices, die verschiedene Aufgaben übernehmen.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung