Verteilte Systeme: Die häufigsten Probleme mit Microservices

Microservices bergen das große Versprechen schnellerer Entwicklungszeit. In der Praxis machen sie aber oft einfach nur mehr Arbeit.

Artikel von João Alves veröffentlicht am
Der Ameisenstaat ist ein Beispiel für ein gut funktionierendes verteiltes System.
Der Ameisenstaat ist ein Beispiel für ein gut funktionierendes verteiltes System. (Bild: gamagapix / Pixabay)

Dieser Text ist eine Übersetzung. Das Original des Softwareentwicklers João Alves ist hier zu finden.

Als 2014 Martin Fowlers Post über Microservices erschien, arbeiteten die Teams, in denen ich war, bereits mit serviceorientierten Architekturen. Der Post und der folgende Hype fanden ihren Weg dann aber in fast jedes Softwareteam der Welt.

Der "Netflix-OSS-Stack" war damals das Ding. Er ermöglichte es Entwicklern weltweit, alles zu nutzen, was Netflix über verteilte Systeme wusste. Jetzt, mehr als sechs Jahre später, spielen Microservices bei den meisten Entwicklerjobs eine wichtige Rolle.

Vom Hype getriebene Entwicklung

Microservices kamen zu einer Zeit auf, als viele Firmen Probleme in ihren Software-Entwicklungszyklen hatten. 50, 100, 200 Entwickler kämpften mit ihren Entwicklungsumgebungen, mit schwerfälligen QA-Prozessen und programmierten Deployments. Das Buch Continuous Delivery brachte viele dieser Teams zu der Erkenntnis, dass ihre majestätischen Software-Monolithen ihnen organisatorische Probleme bereiteten.

Stellenmarkt
  1. QA-Engineer (m/w/d)
    innus GmbH, Frankfurt
  2. Frontend Developer (m/w/d)
    nexible GmbH, Düsseldorf
Detailsuche

Deshalb waren Microservices so attraktiv. Denn es ist schwieriger, Continuous Delivery oder Deployment in einem großen Projekt einzuführen, als direkt damit zu beginnen.

Also fingen Teams an, sich drei, zehn, hundert Microservices auszudenken. Die meisten verwendeten "JSON over HTTP" - einige mögen es RESTful nennen 😉 - APIs für Remote-Aufrufe zwischen den Komponenten. Denn: Man kannte das HTTP-Protokoll gut und es schien ein recht einfacher Weg zu sein, die Monolithen in kleinere Stücke zu zerlegen.

Teams konnten nun Code in weniger als 15 Minuten in die Produktion überführen. Es gab kein "Team A hat die CI-Pipeline zerstört, jetzt kann ich meinen Code nicht deployen" mehr - und das war ein tolles Gefühl!

Die meisten Entwickler übersahen jedoch, dass sie zwar ein organisatorisches Problem auf der Ebene der Software-Architektur lösten, aber auch eine Menge Komplexität hineinbrachten. Die Irrtümer der verteilten Datenverarbeitung (englisch: Fallacies of Distributed Computing) wurden immer augenfälliger und bereiteten diesen Teams schnell Kopfschmerzen. Selbst Unternehmen, die schon lange mit Client/Server-Architekturen arbeiteten, flog alles um die Ohren, sobald sie zehn oder mehr bewegliche Teile in ihren Systemen hatten.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

Die Realität schlägt zurück

Signifikante architektonische Änderungen gibt es nicht geschenkt. Nach und nach erkannten die Teams zum Beispiel, dass die gemeinsame Nutzung einer Datenbank ein Single Point of Failure (SPOF, deutsch: einzelner Ausfallpunkt) war.

Auch wurde ihnen klar, dass die Trennung ihrer Domänen ganz neue Problemfelder aufmachte: Plötzlich spielte die sogenannte eventual consistency eine Rolle. Was, wenn ein Dienst, von dem man Daten abruft, ausfällt? Die Zahl der Fragen und Probleme stieg und stieg.

Das Versprechen eines hohen Entwicklungstempos wurde durch die Suche nach Bugs, Störfällen und Datenkonsistenzproblemen aufgehoben. Ein weiteres Problem war, dass die Entwickler zentralisierte Logs und Monitoring-Lösungen benötigten, die sich über Dutzende von Diensten erstrecken mussten, damit sie diese Fehler erkennen und beheben konnten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Problem Nr. 1: zu kleinteilige Dienste 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


Aktuell auf der Startseite von Golem.de
Apple
Macbook-Nutzer berichten über gesprungene Displays

Zahlreiche Besitzer von Macbooks mit M1-Chip berichten über plötzlich gesprungene Displays - Apple geht von Fremdverschulden aus.

Apple: Macbook-Nutzer berichten über gesprungene Displays
Artikel
  1. Gesetz tritt in Kraft: Die Uploadfilter sind da
    Gesetz tritt in Kraft
    Die Uploadfilter sind da

    Ab sofort haften große Plattformen für die Uploads ihrer Nutzer. Zu mehr Lizenzvereinbarungen hat das bei der Gema noch nicht geführt.
    Ein Bericht von Friedhelm Greis

  2. Mercedes-Benz: Daimler rechnet mit Abbau von Arbeitsplätzen durch E-Autos
    Mercedes-Benz
    Daimler rechnet mit Abbau von Arbeitsplätzen durch E-Autos

    Mehr Elektroautos bei Daimler bedeuten nach Ansicht der Chefetage weniger Arbeitsplätze. Grund sei der einfachere Einbau eines Elektromotors.

  3. VW, BMW, Daimler: Jedes sechste Elektroauto ist von deutschem Hersteller
    VW, BMW, Daimler
    Jedes sechste Elektroauto ist von deutschem Hersteller

    Das Elektroauto gewinnt an Fahrt bei den deutschen Herstellern und Autokäufern. Bei Angebot und Nachfrage dominiert China.

Marconry 23. Jul 2021 / Themenstart

Wie Bluejanis schrieb, eine programmiersprachenunabhängige Spezifikation (z.B. OpenAPI...

TheUnichi 20. Jul 2021 / Themenstart

Es geht darum, ein gesamtes Framework in einzelnes Paket zu schmeißen. Man braucht nie...

ds4real 20. Jul 2021 / Themenstart

Man kann Dinge im Code erzwingen - aber die Erfordernisse unterscheiden sich sogar von...

ds4real 20. Jul 2021 / Themenstart

Ich arbeite selbst seit über 10 Jahren im Java-Umfeld, kenne mich aber auch in vielen...

mnementh 19. Jul 2021 / Themenstart

All diese Ansätze dienen ja im Endeffekt dazu komplexe Software zu handhaben. Aber meine...

Kommentieren



Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Acer XB323UGP (WQHD, 170Hz) 580,43€ • Acer XV340CKP (UWQHD, 144 Hz) 465,78€ • Razer BlackShark V2 + Base Station V2 Chroma 94,98€ • Mega-Marken-Sparen bei MM • Saturn: 1 Produkt zahlen, 2 erhalten • Alternate (u. a. AKRacing Core EX-Wide SE 248,99€) • Fallout 4 GOTY 9,99€ [Werbung]
    •  /