Mit zunehmender Komplexität Ihrer IT-Architektur wird es immer schwieriger, eine Änderung durch Änderung eines einzelnen Systems umzusetzen. Die Abhängigkeiten können sogar so stark werden, dass eine einzige Anforderung Änderungen in mehreren voneinander abhängigen Systemen erfordert. Um sicherzustellen, dass die einzelnen Änderungen an verschiedenen Systemen korrekt zusammenarbeiten, müssen Sie alle neuen Versionen der Systeme in einer integrierten Abnahmeumgebung testen. Nach einer umfangreichen Testphase müssen Sie alle neuen Versionen der Systeme gleichzeitig für die Produktion freigeben. Die integrierte Abnahmeumgebung wird zu einem Engpass für die einzelnen Teams, da jedes Team seine Änderungen isoliert testen möchte. Es liegt auf der Hand, dass die Komplexität der IT-Landschaft die Markteinführungszeit von Änderungen verkürzt.
Wie konnte es dazu kommen und wie lässt sich dies vermeiden?
Serviceorientierte Architektur erhöht die Komplexität
Das zwingende Argument der serviceorientierten Architektur war die Kostenreduzierung durch die Wiederverwendbarkeit von Systemen. Leider wird mit der Einführung eines jeden wiederverwendbaren Dienstes eine neue Abhängigkeit zwischen zwei Systemen geschaffen. Im Laufe der Zeit entsteht so ein komplexes Netz von voneinander abhängigen Systemen. In dieser Architektur sind die konsumierenden Systeme von der Qualität und Stabilität des Systems abhängig, das den Dienst bereitstellt. Fehler ziehen sich durch die IT-Landschaft und die Suche nach der Fehlerursache ist zeitaufwändig. Um Fehler zu vermeiden, werden strenge Akzeptanztests eingeführt und ein vierteljährlicher Release-Kalender verwendet, um die Anzahl der Änderungen zu minimieren und "Kontinuität" zu erreichen.
Maximieren Sie die Autonomie der Systeme
Der Schlüssel zur Beschleunigung der Bereitstellung neuer Versionen liegt in der Schaffung autonomer Systeme, die unabhängig von den anderen Systemen in der IT-Landschaft freigegeben und eingesetzt werden können. Anstatt die Wiederverwendbarkeit zu maximieren, sollten Sie sich auf die Maximierung der Autonomie der Systeme konzentrieren. Obwohl die vollständige Autonomie eines Systems selten ist, wird das Streben nach Autonomie Ihre IT-Architektur vereinfachen und die Bereitstellung neuer Versionen beschleunigen und sowohl die Stabilität als auch die Qualität erhöhen.
Dieser Beitrag ist Teil einer Serie über Continuous Delivery. Bitte beachten Sie unseren Tag
Verfasst von

Mark van Holsteijn
Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.
Unsere Ideen
Weitere Blogs
Contact



