Problem Nr. 1: zu kleinteilige Dienste

Die Möglichkeit, jeden Tag neue Dienste zu erstellen, führte zu einem Kreativitätsschub bei den Entwicklern. Ein neues Feature? Bäm, ein neuer Dienst! Mit einem Mal betreuten Teams mit 20 Entwicklern 50 Dienste. Das ist mehr als ein Dienst pro Person!

Stellenmarkt
  1. Spezialist (m/w/d) Controlling
    Porsche Financial Services GmbH, Bietigheim-Bissingen
  2. Chief Technology Officer (m/w/d)
    Hays AG, München
Detailsuche

Nun ist ja das Problem mit Code im Allgemeinen, dass er erodiert. So war die Wartung jedes Dienstes plötzlich mit Kosten verbunden.

Stellen Sie sich vor, Sie verbreiten ein Bibliotheks-Upgrade über die gesamte Reihe Ihrer Dienste. Stellen Sie sich nun vor, dass diese Dienste zu unterschiedlichen Zeitpunkten gestartet wurden, mit unterschiedlichen Architekturen und einer bestimmten Verknüpfung zwischen der Geschäftslogik und den verwendeten Frameworks.

Das ist völlig verrückt! Natürlich gibt es Lösungen für diese Art von Problemen. Allerdings waren die meisten davon zu Anfang noch nicht verfügbar, andere verbrauchen auch heute noch große Mengen an Arbeitszeit.

Golem Akademie
  1. Kubernetes – das Container Orchestration Framework: virtueller Vier-Tage-Workshop
    11.-14.07.2022, Virtuell
  2. Container Management und Orchestrierung: virtueller Drei-Tage-Workshop
    22.-24.08.2022, Virtuell
Weitere IT-Trainings

Es gibt noch andere Negativbeispiele: Etwa, als mir jemand sagte, dass das Deployment einer neuen Funktion in Dienst A zur gleichen Zeit auch ein Deployment in Dienst B erforderte. Oder als man begann, Dienste zu schreiben, um CSVs zu erzeugen. Warum sollte jemand Netzwerk-Hops einführen, um ein weltweit bekanntes Dateiformat zu erzeugen? Wer würde so etwas pflegen?

Einige Teams litten an regelrechter Servicitis. Noch schlimmer waren aber die Reibungsverluste, die das alles erzeugte: Man konnte nicht einfach in ein Projekt in seiner IDE schauen, sondern musste mehrere Projekte gleichzeitig öffnen, um in dem ganzen Durcheinander einen Sinn zu erkennen.

Problem Nr. 2: Entwicklungsumgebungen

Ich habe aufgehört zu zählen, wie oft jemand zu mir gesagt hat:

Hey, João. Hast du mal eine Minute? Wir müssen unsere Entwicklungsumgebungen verbessern! Die Leute beschweren sich die ganze Zeit über sie.

Dabei hatte das Problem verschiedene Dimensionen: Mobile-Entwickler, die eine Funktion nicht entwickelten, bevor sie in einer Entwicklungsumgebung war, oder Backend-Entwickler, die ihren Dienst ausprobieren wollten, ohne den Business Flow zu unterbrechen. Auch war es problematisch, wenn jemand den gesamten Ablauf in einer mobilen App vor der Produktion testen wollte.

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

Insbesondere hinsichtlich der Skalierung in verteilten Systemen sollten vorher unbedingt folgende wichtige Fragen geklärt werden:

1. Wie aufwendig ist es, 200 Dienste bei einem Cloud-Anbieter zu betreiben? Ist es möglich? Ist es zudem möglich, die für den Betrieb benötigte Infrastruktur bereitzustellen?

2. Wie lange dauert es, das alles einzurichten? Was, wenn ein Mobile-Entwickler anfängt, eine Funktion zu programmieren, und es eine ganze Reihe von Diensten in einer bestimmten Version gibt, aber die Dienste, wenn die Entwicklung fertig ist, alle schon in neuen Versionen produktiv eingesetzt werden?

3. Wie sieht es mit Testdaten aus? Gibt es Testdaten für alle Dienste? Sind sie im gesamten Verbund kohärent, so dass Benutzer und andere Entitäten übereinstimmen?

4. Bei Anwendung in mehreren Regionen und mit mehreren Mandanten: Wie sieht es mit der Konfiguration und mit Feature Flags aus? Wie bleiben sie synchron mit der Produktion? Was ist, wenn sich die Voreinstellungen zwischenzeitlich ändern?

Und das ist nur die Spitze des Eisbergs. Man könnte darüber nachdenken, sämtliche Entwicklerkraft in diese Probleme zu stecken, vielleicht funktioniert das sogar. Allerdings bezweifle ich, dass die meisten Organisationen dafür groß genug sind. Es richtig zu machen, ist erstaunlich schwierig und teuer.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Verteilte Systeme: Die häufigsten Probleme mit MicroservicesProblem Nr. 3: End-to-End-Testing 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


janoP 02. Sep 2021

Wenn die Services fachlich getrennt sind, brauchen sie i. d. R. unterschiedliche...

TheUnichi 20. Jul 2021

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

ds4real 20. Jul 2021

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

ds4real 20. Jul 2021

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



Aktuell auf der Startseite von Golem.de
Kitty Lixo
Nach Sex mit Mitarbeitern Instagram-Account zurückerhalten

Laut einer Sexdarstellerin muss man nur die richtigen Leute bei Facebook sehr intim kennen, um seinen Instagram-Account immer wieder zurückzubekommen.

Kitty Lixo: Nach Sex mit Mitarbeitern Instagram-Account zurückerhalten
Artikel
  1. Ebay-Kleinanzeigen: Im Chat mit den Phishing-Betrügern
    Ebay-Kleinanzeigen
    Im Chat mit den Phishing-Betrügern

    Wenn man bestimmte Anzeigen in Kleinanzeigenportalen aufgibt, hat man sofort einen Betrüger an der Backe. Die Polizei kann kaum etwas dagegen tun.
    Ein Bericht von Friedhelm Greis

  2. Musikstreaming: Audi bringt Apple Music ins Auto
    Musikstreaming
    Audi bringt Apple Music ins Auto

    Audi integriert den Streamingdienst Apple Music in das Infotainmentsystem seiner Fahrzeuge. Ein Smartphone-Kopplung ist nicht notwendig.

  3. Autos: Mercedes' Luxuskurs könnte das Aus für A- und B-Klasse sein
    Autos
    Mercedes' Luxuskurs könnte das Aus für A- und B-Klasse sein

    Mercedes definiert sich neu als Luxuskonzern. Das könnte auch das Ende für die Einsteiger-Modelle bedeuten, weil mit diesen kaum Geld zu verdienen ist.

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
    Daily Deals • Cyber Week: Bis zu 87€ Rabatt auf SSDs • PNY RTX 3080 12GB günstig wie nie: 974€ • Razer Basilisk V3 Gaming-Maus 44,99€ • PS5-Controller + Samsung SSD 1TB 176,58€ • MindStar (u. a. MSI RTX 3090 24GB Suprim X 1.790€) • Gigabyte Waterforce Mainboard günstig wie nie: 464,29€ [Werbung]
    •  /