Über unsMediaKontaktImpressum
Martin Lehmann & Dr. Renato Vinga-Martins 11. September 2018

Microservices: Fachliche Entscheidungshilfen für den Einsatz

Microservices sind kleine, betrieblich eigenständige Anwendungen. Aufgrund der hohen Entkopplung verstehen Microservices sich als schlanke, "agile" Alternative zu schwerfälligen Monolithen. Ziel ist eine möglichst isolierte Weiterentwicklung in Form getrennter Services mit überschaubaren Schnittstellen, ohne die Gesamtanwendung kennen und sich mit allen Beteiligten abstimmen zu müssen. Das Ergebnis zeigt die vereinfachte Darstellung in Abb. 1. Sie betont die fachliche Einheit eines Microservice, in der jeweils sämtliche benötigte Verantwortlichkeiten und Kompetenzen in jedem der drei gezeigten Teams vorhanden sind. Dies ist die Einführung zu einer fünfteiligen Artikelserie über Microservices.

Den Begriff "Microservice" gibt es seit 2011. Microservices sind also kein Hype mehr, sondern etabliert und durch umfangreiche Literatur und Erfahrungsberichte beschrieben. Durch ihre Flexibilität spielen sie ihre Vorteile speziell bei Qualitätsattributen wie Änderbarkeit und Skalierbarkeit aus. Wichtig ist insbesondere, dass die einzelnen Microservices unabhängige Lebenszyklen haben. Diese Unabhängigkeit ermöglicht minimale Lieferzyklen für Neuerungen und Fehlerbehebungen und verbessert die Fähigkeit, auf sich ändernde Kundenwünsche gut zu reagieren.

Doch Microservices sind auch umstritten: Christoph Iserlohn und Till Schulte-Coerne greifen die Fragestellungen einzelner Vor- und Nachteile von Microservices gegenüber dem Monolithen auf [2]. Um Microservices erfolgreich einsetzen zu können, muss ein Unternehmen hohe Anforderungen an Design, Entwicklung und Betrieb erfüllen.

Entscheidend für den erfolgreichen Einsatz ist dabei, dass fachliche Kriterien herangezogen werden, wenn über eine Investition in den Einsatz von Microservices entschieden werden soll. In unserer Artikelserie beleuchten wir Microservices daher v. a. aus dieser fachlichen Sicht und arbeiten fachliche Kriterien als Entscheidungsgrundlage heraus. Neben dieser fachlichen Motivation gibt es in der Regel eine Vielzahl weiterer Einflussgrößen und Entscheidungskriterien wie beispielsweise die Frage nach Technologiestacks, nach DevOps-Einsatz bzw. nach betrieblichen Aspekten wie Monitoring: Diese Themen werden wir im Folgenden nur am Rande mitbetrachten und uns stattdessen auf fachliche Aspekte konzentrieren. Auch müssen wir weitere Fragen wie die nach Migrationsszenarien ("Wie kommt man von einem Monolithen zu einer Microservice-Architektur?") und auch die nach Auswirkungen von Microservices auf die Entwicklungsmethodik in unserer vorliegenden Artikelserie weitgehend außer Acht lassen.

    Überblick über die Artikelserie

    Microservice-Architekturen werden üblicherweise im Kontext komplexer, innovationsgetriebener Unternehmen erstellt.

    1. Wir präzisieren zunächst im ersten Teil (Microservices nur bei ausreichender "Komplexität") unserer Artikelserie, was "Komplexität" bedeutet, wie sie sich auf Lösungsstrategien auswirkt und verdeutlichen, warum Komplexität ein Treiber für den Microservice-Einsatz ist.
    2. Im zweiten Teil (Wie groß darf ein Microservice sein?) behandeln wir den Einfluss der Anwendungsgröße auf den Entwicklungsprozess.
    3. Der dritte Teil (Was ist das Was?) arbeitet typische Problemstellungen der fachlichen Ausrichtung von Microservices und deren Rolle in einer Anwendungslandschaft heraus.
    4. Im vierten Teil (Verteilte Systeme, Asynchronität und Eventual Consistency) zeigen wir verschiedene technische Konsequenzen und Herausforderungen eines Microservice-Einsatzes aufgrund ihrer betrieblichen Eigenständigkeit.
    5. Abschließend (Wann und für wen eignen sich Microservices?) fassen wir alle Aspekte zu einer Klassifikation zusammen, die somit Orientierung und Leitfaden für eine Einsatzentscheidung sein kann.

    Lesen Sie jetzt Teil 1 der Artikelserie:

    Microservices nur bei ausreichender Komplexität

    Martin Fowler empfiehlt, Microservices nur bei ausreichender Komplexität einzusetzen. Wieviel Flexibilität wird benötigt, wieviel Dynamik wird erwartet? Ist das Problem kompliziert oder komplex?
    >> Weiterlesen
    Quellen
    1. Eberhard Wolff: Microservices – der aktuelle Stand
    2. Informatik Aktuell – Christoph Iserlohn & Till Schulte-Coerne: Warum es nicht immer Microservices sein müssen

    Martin Lehmann auf den IT-Tagen 2018

    Martin Lehmann hält zwei Vorträge auf den diesjährigen IT-Tagen – der Jahreskonferenz der Informatik Aktuell.

    Alle (halbe) Jahre wieder kommt das neue Java-Release!
    (11.12.2018, 09:00 Uhr)

    Modularity-Patterns mit dem Java-Modulsystem Jigsaw
    (12.12.2018, 11:30 Uhr)

    Autor

    Martin Lehmann

    Seit Ende der 90er Jahre wirkt Martin Lehmann als Softwareentwickler und -architekt in der Softwareentwicklung in diversen Projekten der Individualentwicklung für Kunden verschiedener Branchen.
    >> Weiterlesen

    Dr. Renato Vinga-Martins

    Dr. Renato Vinga-Martins arbeitet bei der Accso – Accelerated Solutions GmbH mit technologischem Schwerpunkt als Architekt, Berater und Projektleiter in allen Phasen der Individualsoftware-Entwicklung.
    >> Weiterlesen
    Das könnte Sie auch interessieren
    botMessage_toctoc_comments_9210