Bildquelle: Getty Images / iStock / Getty Images Plus
Den Monolithen zerlegen: Auf einen Blick die Vorteile eines verteilten Systems erkennen.
Spricht man mit IT-Architekten über Microservices, dann erklären diese gerne mit viel Geduld, wie ein entsprechendes Systemdesign jede logische Funktion einer als dedizierter Service laufenden Anwendung mit einbezieht, individuell skaliert und standardisierte Verträge für eine effiziente Kommunikation untereinander verwendet.
In der Tat ist es heute eines der großen Themen, mit denen sich Entwickler, Architekten, Integrationsspezialisten und IT-Abteilungen beschäftigen, um moderne Anwendungen zu erstellen und Legacy-Systeme für die heutigen Anforderungen handhabbar zu machen. Die Auswirkungen und Vorteile gehen jedoch über rein technische oder betriebliche Aspekte hinaus und betreffen die Substanz und Organisationsstruktur moderner, wettbewerbsfähiger Unternehmen.
Die Illustration des Blauwals und des Fischschwarms (Siehe oben) fängt das Wesen verteilter Systeme sehr gut ein. Auch ohne technisches Vorwissen erschließt sich die Beschaffenheit von monolithischen Anwendungen – sowohl technischer als auch organisatorischer Art. Zugleich lassen sich auf einen Blick die Vorteile eines Systems erkennen, bei dem die Funktionen dieses riesigen Säugetiers in viele kleine und redundante Teile ohne einen einzigen Fehlerpunkt zerlegt werden.
Nimmt man nun an, dass die Geschäftslogik der Software in einem Unternehmen auf ähnliche Weise in kleinere Teile zerlegt wird, dann können diese von Einzelpersonen oder kleinen Teams entwickelt werden. Dabei ist es möglich, dass jeweils beste Werkzeug, Framework oder die beste Programmiersprache für die entsprechende Aufgabe zu verwenden. Die Dienste können unabhängig voneinander getestet, eingesetzt und skaliert werden und stehen schließlich in einem Katalog von Bausteinen zur Verfügung, den die Entwickler auch für zukünftige Projekte nutzen können.
Eines der offensichtlichen Ergebnisse ist dabei die Geschwindigkeit: neue Produkte und Funktionen werden deutlich schneller geliefert. Aber das ist nur die Oberfläche. Gut implementierte, dokumentierte und unabhängige Dienste ermöglichen eine wesentlich effizientere Ressourcenplanung in Hinblick auf die Entwicklungszeit, Hardware und benötigten Entwickler.
Apropos Entwickler: Diese werden höchstwahrscheinlich weniger Zeit benötigen, um sich mit dem Baustein, an dem sie arbeiten, vertraut zu machen, und schnell andere Teile verwenden, bei denen sie nur die Oberfläche ohne die zugrunde liegende Komplexität verstehen müssen. Bringt man an dieser Stelle noch Automatisierung ein, lässt sich bei der Skalierung des Angebots oder Erholung von Systemausfällen eine nützliche Wiederholbarkeit erzielen.
Wird das große Problem also in viele kleine Probleme aufgeteilt, ist Geschwindigkeit definitiv einer der größten Vorteile. Eyal Sivan hat die Entwicklung im Rahmen einer Keynote beim Axway-Sales-Kick-Off zu Beginn des Jahres in Montreal sehr kraftvoll artikuliert: Die Metaphern des Systemdesigns ändern sich von Dingen wie der „Stadtplanung“, bei der man das Design richtig machen muss, bevor man mit dem Bau beginnt, hin zu biologischen Systemen, die sich entwickeln können, sich im Laufe der Zeit anpassen und für den Wandel gebaut werden.
Während viele im vergangenen Jahr nur eine vage Idee davon hatten, wie es ist, in einem Zeitalter der Ungewissheit zu leben, so wissen es im Jahr 2021 die meisten Menschen mit Sicherheit ziemlich gut. Einige Unternehmen und Organisationen des öffentlichen Sektors haben nur ein oder zwei Wochen gebraucht, um Lösungen für die aktuellen Herausforderungen zu entwickeln – und zwar deshalb, weil sie modulare Konzepte verwenden.
Es ist eine gute Zeit für die Einführung von Veränderungen. Das ist sie immer, doch jetzt sind die Flugzeuge am Boden und die Triebwerke lassen sich noch ein wenig länger inspizieren. Dabei dürfte schnell klar werden, dass viele einer Generalüberholung bedürfen. Beginnen Sie mit dieser Reise – es gibt kein Zurück.