Was sind Microservices?

Bei Microservices handelt es sich um eine bestimmte Form der Software-Architektur. Die einzelnen Dienste des betreffenden Software Systems erledigen hierbei lediglich eine kleine Aufgabe und agieren von einander losgelöst. Als Endergebnis ist die Gesamtsoftware modular aufgebaut statt monolithisch. Der Einsatz von Microservices ist ein bewährter Ansatz - eine vielzahl der bekannten Online Dienste setzen erfolgreich Microservices ein.

Vorteile der Modularisierung

Welche Vorteile haben Microservices gegenüber der monolithischen Softwarearchitektur?

  • Deployment: Jeder Microservice kann einzeln installiert und gegebenenfalls verändert werden. Die anderen Einheiten bleiben davon unberührt.
  • Programmierung: Monolithische Software muss komplett in einer Programmiersprache geschrieben werden. Nicht so Microservices. Jeder Bestandteil einer Anwendung kann theoretisch in einer anderen Programmiersprache und auf einer anderen Plattform implementiert werden.
  • Robustheit: Je nach Art der Programmierung übersteht die betreffende Anwendung sogar den Ausfall einzelner Microservices. Auch wenn eine Einheit die CPU stark auslastet, wirkt sich das nur auf diesen einen Service aus, nicht auf alle anderen.
  • Überschaubarkeit: Dadurch, dass Microservices nur zwischen 10 und 100 Zeilen Code benötigen, bleiben sie übersichtlich und lassen sich leicht weiterentwickeln.
  • Stabilität: In monolithischen System schleichen sich mit der Zeit Abhängigkeiten ein, die die ursprünglich geplante Architektur zerstören. Abhängigkeiten zwischen Microservices hingegen müssen bewusst per API eingerichtet werden und sind daher von einer bewussten Entscheidung abhängig. Auf diese Weise sind Microservice-Architekturen langfristiger angelegt.
  • Skalierung: Nur weil ein Bestandteil einer Anwendung mehr Ressourcen benötigt, heißt das nicht automatisch, dass das auch für alle anderen gilt. Bei monolithischer Software-Architektur ist die Skalierung der einzelnen Einheiten nicht von einander trennbar – bei Microservices schon.
  • Ressourcenauslastung: Wenn bei Microservices zuvor Schlüsseleinheiten festgelegt wurden, bereiten der Software auch Überlastungen keine Probleme. In diesem Fall werden einfach unkritische Einheiten abgeschaltet und so Ressourcen für wichtige Services frei gemacht.

Motivation für den Einsatz von Microservices

Auch wenn die genannten Vorteile deutlich machen, dass der Einsatz von Microservices für die Erstellung von neuer Software sinnvoll ist, bleibt eine Frage: Welche Motivation haben Online Plattformen von einer monolithischen Architektur auf Microservices umzusteigen?

Ein großer Faktor besteht darin, dass sich Continuous Delivery bei Microservices deutlich leichter umzusetzen lässt, da die einzelnen Einheiten klein sind. Außerdem macht diese Form der Architektur die Wartung der entwickelten Systeme leichter. Das ist gerade bei einer produkt- statt projektorientierten Entwicklung sinnvoll und vereinfacht zum Beispiel den von uns angebotenen Long Term Support. Dank des Einsatzes von Microservices ist nämlich weiterhin eine Weiterentwicklung des Systems ohne Probleme möglich.

Ein weiterer guter Grund für den Einsatz von Microservices zeigt sich darin, dass sich Teams bei der Entwicklung nicht für eine Programmiersprache entscheiden müssen. Stattdessen können sie sich für die Sprache entscheiden, die für den jeweiligen Service am besten geeignet ist. So ist es auch leichter mit neuen Technologien zu experimentieren und ein Veralten der Software zu verhindern. Das ist besonders bei Unternehmenssoftware interessant, deren Einsatz für lange Zeit vorausgesetzt wird. Je nach Bedarf können die Microservices dieser Legacy Systeme erneuert oder neue Einheiten hinzugefügt werden – ohne komplizierte Änderungen an den anderen Bestandteilen auszulösen.

Microservices sind interessant für Sie?

Gerne vereinbaren wir mit Ihnen einen Termin für einen unserer Workshops zu diesem Thema oder führen eine kostenfreie Erst-Beratung durch. Dabei bewerten wir den Stand Ihrer bestehenden Software und prüfen unverbindlich, wie Sie am meisten von Microservices profitieren.

Nach oben