microservices vs monolith – Sekt oder Selters?

So sieht sie nun aus, die schöne, neue Softwarewelt. Die ehemals monolithische Struktur grosser, komplexer Softwareprojekte weicht einer  Mikroservicearchitektur. Ehemals langatmige Deployment- (und Test-) prozesse werden ersetzt durch kurze CI / CD Pipelines.

Ein Klick und jeder neue und geänderte Service ist produktiv. Natürlich vollständig abwärtskompatibel und dank automatisierter Tests frei von Fehlern.

Für mich – primär im Mittelstand tätig – ergeben sich Fragestellungen:

Wer kann sich diese Form von Softwareentwicklung in Kundenprojekten leisten?. Ist da nicht ein Haken? Nicht jedes Projekt dient am Ende der Schaffung eines Weltmarktführers wie bspw. Amazon.

Wieso komme ich auf dieses Thema?

Bei der Rechereche im Internet bin ich über die folgende Skizze als beispielhafte Microservicearchitektur gestossen: (Diese Bilder gibt es in Hülle und Fülle in ähnlicher Form im Web. Dem geneigten Besucher empfehle ich eine Suche nach dem Bergiff “Microservices” bei google, bing, DuckDuckGo oder sonstwo.

 

Quelle: https://www.weave.works/assets/images/bltc1f320aca569f087/microservices-infographic.png

Hier wird dann fachlich sehr fundiert über die Nachteile des Monolithen gegenüber serviceorientierten Architekturen debattiert. Um dann am Ende dem maximal flexiblen Backend ein dickes, fettes und sehr monolithisches UI überzustülpen. In der Skizze auch noch sehr schön in rot eingefärbt. Bam. Nochmal zurück zu meiner Frage von oben: Wo ist der Haken?

Warum gibt es nicht etwas zwischen den beiden Welten Monolith und Micrososervice? Etwas, dass ich Micro-App Architektur bezeichne? Kleine Apps, die in sich geschlossen einen bestimmten Funktionsumfang vollständig abwickeln? Und die dank gemeinsamer Authentifizierung, Navigation und Konfiguration in einem Verbund ein Grosses Ganzes darstellen: Jede App weitestgehend autonom mit wenigen bis keinen Schnittstellen zu anderen Apps. Und jede App kann sich natürlich aus der Fülle der Backendservices bedienen. Dafür sind sie schliesslich da!

Jede App geformt aus einem einheitlichen Theme, so dass es die Entwickler einfach haben und das Corporate Design gewahrt ist.

Vielleicht habe ich das Thema Microservices noch nicht in Gänze durchdrungen. Aber wir werden unseren Weg der Micro-Apps in absehbarer Zeit weiter verfolgen und dem der klassischen Microservicearchitektur vorziehen.