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. IT-Administrator (m/w/d)
    Zeitfracht GmbH, Stuttgart
  2. IT Security Consultant (m/w/d)
    SySS GmbH, Tübingen, Frankfurt am Main, München, Wien (Österreich)
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. C++ 20: Concepts - Ranges - Coroutinen - Module
    4.-8. Oktober 2021, online
  2. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
  3. Python kompakt - Einführung für Softwareentwickler
    28.-29. Oktober 2021, online
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.  


Aktuell auf der Startseite von Golem.de
Powervision Powerray im Test
Diese Drohne geht unter

Ein ferngesteuertes U-Boot mit 4K-Kamera ist nicht mit einem Quadcopter vergleichbar, wie wir in unserem Test festgestellt haben.
Ein Test von Martin Wolf

Powervision Powerray im Test: Diese Drohne geht unter
Artikel
  1. Nach Ransomware-Angriff: Anhalt-Bitterfeld bittet Bundeswehr um Hilfe beim IT-Aufbau
    Nach Ransomware-Angriff
    Anhalt-Bitterfeld bittet Bundeswehr um Hilfe beim IT-Aufbau

    Die IT-Infrastruktur nach dem Ransomware-Angriff in Anhalt-Bitterfeld schnell wieder aufzubauen, schafft die Kreisverwaltung nicht selbst.

  2. Onlinehandel: Aukey-Produkte weiterhin bei Amazon erhältlich
    Onlinehandel
    Aukey-Produkte weiterhin bei Amazon erhältlich

    Über Drittanbieter und unter neuem Namen sind Aukey-Produkte immer noch bei Amazon zu finden - teilweise sogar mit Aukey-Schriftzug.

  3. Porsche Renndienst: Porsche zeigt extravaganten Innenraum seines Elektro-Vans
    Porsche Renndienst
    Porsche zeigt extravaganten Innenraum seines Elektro-Vans

    Ein gut gestalteter Innenraum ermöglicht es laut Porsche, eine emotionale Beziehung zu einem Auto aufzubauen.

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 • Crucial Ballistix 16GB Kit 3200MHz 66,66€ • PCGH-Gaming-PCs stark reduziert (u. a. PC mit RTX 3060 & Ryzen 5 5600X 1.400€) • Samsung 27" Curved FHD 240Hz 239,90€ • OnePlus Nord CE 5G 128GB 299,49€ • Microsoft Flight Simulator Xbox Series X 69,99€ • 3 für 2 Spiele bei MM [Werbung]
    •  /