Die letzte Meile der digitalen Transformation: Dezentralisierung der Softwarebereitstellung

Okt 18, 2021

Wie Sie Ihre digitale Transformation mit einer Plattform zur Bereitstellung von Wertströmen beschleunigen können

Die Pandemie hat es kristallklar gemacht. Ihre digitale Transformation ist kein interner Aufwand, den man sich leisten kann. Sie ist ein strategisches Projekt, um Ihren Wettbewerbsvorteil zu erhalten und auszubauen, und das in einem Kontext, in dem die Pandemie die digitale Transformation von Unternehmen auf breiter Front beschleunigt hat. Wie der CEO von Microsoft, Satya Nadella, letztes Jahr sagte: „Wir haben in zwei Monaten eine digitale Transformation im Wert von zwei Jahren erlebt“.

Wie kann man also beschleunigen? Wie schafft man zwei Jahre in zwei Monaten? In den fünf Jahren, in denen wir unsere Value Stream Delivery Platform entwickelt haben, sprachen wir mit CIOs, Softwarearchitekten und technischen Leitern – ob in großen Konzernen wie IBM oder in kleinen, ambitionierten Unternehmen. Obwohl die Antworten im Detail variierten, zeichneten sie ein ziemlich ähnliches Bild.

Sie sagten uns, dass die Unternehmen schon seit langem ihre Geschäfte dezentralisieren und in schlankere Organisationen umwandeln, um näher am Kunden zu sein. Das Internet und die Cloud-Technologien ermöglichten neue digitale Produkte und Dienstleistungen, veränderten Geschäftsprozesse und machten IT und Software zu entscheidenden Komponenten in jeder Wertschöpfungskette.

Sie betonten, dass Unternehmen ihre Dezentralisierung auf IT- und Software-Teams ausdehnen müssen, um die Effizienz, Agilität, Geschwindigkeit und Widerstandsfähigkeit zu steigern, die sie benötigen, um konkurrenzfähig zu sein. Sie warnten davor, dass diese erweiterte Dezentralisierung trotz aller Vorteile eine Reihe von komplexen Kompromissen mit sich bringt. Wenn Sie diese ignorieren, kann Ihre digitale Transformation grandios scheitern.

In diesem Zusammenhang verstärken selbstbediente DevOps-Value-Stream-Delivery-Plattformen (DevOps VSDPs) die Vorteile der Dezentralisierung und berücksichtigen gleichzeitig die Nachteile der Dezentralisierung im großen Maßstab.

Wir konnten unmöglich alle Gespräche wiedergeben, die wir im Laufe der Jahre mit IT- und Unternehmensleitern geführt haben. Stattdessen haben wir die Erkenntnisse in einem einzigen Interview mit einem typischen CIO zusammengefasst.

Lesen Sie weiter. So reifen große und kleine Unternehmen bei ihrer digitalen Transformation.

 

Beginnen wir mit dem geschäftlichen Kontext. Was ist die digitale Transformation und warum steht sie so weit oben auf der Agenda von Führungskräften?

Eine digitale Transformation besteht darin, das Unternehmen so zu positionieren, dass es die mit der Digitalisierung verbundenen Geschäftschancen nutzen oder auf Wettbewerbsbedrohungen reagieren kann. Digitale Technologien haben den Zahlungsverkehr, das Bankwesen, das Reisen, das Einkaufen, die Logistik, die Unterhaltung … verändert. Unternehmen müssen sich auf neue digitale Kanäle, neue Kundennachfrage und -erwartungen sowie auf zunehmende Wettbewerbsbedrohungen durch eine neue Reihe digitaler Akteure einstellen.

Früher waren es die Großen, die die Kleinen überwältigten. In dieser schönen neuen Welt sind es die Schnellen, die die Langsamen hinter sich lassen. Wer erinnert sich noch an Blockbuster? Netflix verdrängte die großen Videotheken in den Bankrott. Die Digital-First-Bank Simple (die später von der spanischen Bank BBVA übernommen wurde) hat es mit den großen etablierten Banken aufgenommen, ohne eine einzige Filiale zu eröffnen. Das Ausmaß der Veränderungen, zu denen man sich verpflichten muss, ist so groß, dass Unternehmensberatungen wie IBM oder McKinsey noch einen Schritt weiter gehen und von digitaler Neuerfindung sprechen.

Das ist nicht neu. Wir sind schon seit mehr als einem Jahrzehnt auf dem Weg der digitalen Transformation. Neu ist jedoch, dass die Pandemie die Bewegung beschleunigt hat:

Der digitale Wandel hat sich in den letzten zwei Jahren beschleunigt

Der digitale Wandel hat sich in den letzten zwei Jahren beschleunigt

Um die neuen Chancen zu nutzen, die sich durch die Digitalisierung in den sich schnell verändernden Märkten ergeben, oder einfach nur, um mit den digital fortgeschrittenen Wettbewerbern zu konkurrieren, müssen die Unternehmen ihre digitale Transformation beschleunigen. Da IT und Software in jeder Wertschöpfungskette eine Rolle spielen, müssen sie Wege finden, zuverlässige Software schneller bereitzustellen, um ihre Transformation voranzutreiben.

Lassen Sie uns also über Software sprechen. Ein großer Teil des von den Unternehmen geschaffenen und an die Kunden gelieferten Werts entsteht durch Software. Wir sehen, dass diese sich schnell verändernden Märkte, flinkere Wettbewerber bei ihrer digitalen Transformation vorankommen und bessere Fähigkeiten aufbauen. Was sollten CIOs und CTOs tun?

Dezentralisieren Sie den Softwarebetrieb! Das haben wir schon einmal erlebt.

Um schneller mehr Wert zu schaffen, haben Unternehmen in den letzten Jahrzehnten ihre Entscheidungsprozesse und ihre Organisationsstruktur dezentralisiert, um kleineren wertschöpfenden Einheiten mehr Macht zu geben (z. B. strategische Geschäftseinheiten, McKinseys Wertzellen).

 

Ein Kerngedanke ist der Aufbau eines agilen Unternehmens, das unmittelbares Feedback von seinen Zielmärkten erhält und über die Entscheidungsfähigkeit und die Ressourcen verfügt, um schneller zu reagieren. Agile Unternehmen verlagern Autorität, Entscheidungsfindung und Verantwortlichkeit auf diejenigen, die den Informationen am nächsten sind.

Heute stellen viele Unternehmen, die ihre Entscheidungszentren, Geschäftsprozesse und Organisationsstrukturen dezentralisiert haben, fest, dass sie in einer digitalen Welt nur so schnell sind, wie es ihre zentralisierte IT und Softwarebereitstellung zulässt.

Nehmen wir das Beispiel einer traditionellen Bank. Sie haben Filialen. In den Filialen benötigen Sie Software, um die Kunden zu bedienen. Sie haben Abteilungen für Internetbanking, Kreditrisiko, Kernbankwesen und aufsichtsrechtliche Meldungen. Auch sie brauchen Software. In einem zentralisierten IT-Kontext richten diese Abteilungen ihre Softwareanfragen an eine einzige Stelle. Diese einzige Stelle wird zu dem Engpass, über den sich jedes Unternehmen mit zentralisierter IT beschwert.

Man muss also auch die Softwarebereitstellung dezentralisieren und die Softwareteams näher an ihre Kunden heranführen.

Aber dieses Mal haben die Unternehmen keinen 5-Jahres-Zeitrahmen und kein 10-Millionen-Budget (das irgendwann auf 25 Millionen anwächst), um ein paar Beratungsunternehmen dazu zu bringen, darüber nachzudenken, wie man den ERP-Mammut integrieren kann. Unternehmen stehen heute unter dem Druck, ihre digitale Transformation schnell voranzutreiben. Die Pandemie war für viele ein Weckruf.

Was also hält Unternehmen heute davon ab? Die damit verbundenen Budget-, Betriebs- und Sicherheitsrisiken im Zusammenhang mit der Dezentralisierung. Laut einer Studie der Economist Intelligence Unit (EIU), die vor der Pandemie durchgeführt wurde, berichten 2/3 der IT-Führungskräfte über eine zunehmende Komplexität und erhöhte Schwachstellen, gepaart mit höheren Kosten:

Zwei Drittel der IT-Führungskräfte berichten von höherer Komplexität und mehr Schwachstellen, gepaart mit höheren Kosten

Dezentralisierung erhöht Budget-, Betriebs- und Sicherheitsrisiken

Das ist nicht einfach. Es handelt sich um echte Herausforderungen, für die die Unternehmen echte Lösungen brauchen. Viele Unternehmen zögern ihre Umstellung hinaus, weil sie befürchten, eine schlechte Situation noch schlimmer zu machen. Andere sind sich nicht sicher, wo sie anfangen und was sie tun sollen.

Auf der anderen Seite gibt es Unternehmen, die sich erfolgreich zu digitalen Marktführern entwickelt haben und ihren Kunden täglich digitale Produkte und Dienstleistungen mit erstklassigen Zuverlässigkeits- und Qualitätsindikatoren liefern.

Wie also dezentralisieren digitale Führungskräfte die Softwarebereitstellung?

Drei Schlüsselinitiativen:

  • Dezentralisierung der Software selbst in unabhängig voneinander einsetzbare Module. Den Monolithen aufbrechen. Architektur um Microservices herum. Cloud-native Muster einführen.
  • Dezentralisieren Sie die Struktur. Verwenden Sie kleine, unabhängige Teams mit End-to-End-Verantwortung für ein Produkt/eine Dienstleistung/einen Wertstrom. Ordnen Sie die Teams den Microservices zu.
  • Übertragen Sie die volle Verantwortung an dezentrale Einheiten. Führen Sie DevOps und Agile in großem Umfang mit Build-Run-Teams ein. Sie programmieren. Testen Sie es. Sie stellen es bereit. Sie werden sonntags um 4 Uhr morgens davon geweckt.

Wie funktioniert das? Viele Anwendungen fangen klein an: ein kleines Team von Entwicklern, wenige Schlüsselfunktionen. Wenn die Funktionsliste der Anwendung und die Größe des Teams wachsen, verlangsamt sich die Entwicklungsgeschwindigkeit. Selbst kleine Änderungen am Monolithen erfordern unter Umständen einen Neuaufbau, ein erneutes Testen und eine erneute Bereitstellung des gesamten Pakets. Dies wiederum kann die Zusammenarbeit mehrerer Teams erfordern, was zu einer geringeren Ablaufeffizienz und einer höheren Wahrscheinlichkeit von Fehlern führt. 

Bei Microservices werden die Funktionalitäten des Monolithen in kleinere Microservices aufgeteilt, die unabhängig voneinander betrieben und bereitgestellt werden. Ehemals große Teams werden in kleinere, entkoppelte Einheiten mit weniger und gezielteren Verantwortlichkeiten aufgeteilt. Die einzelnen Einheiten verfügen über einen bestimmten Satz von Microservices, die von einer Geschäftsperspektive gesteuert werden – zum Beispiel nach einem Domain-Driven-Design-Ansatz (DDD).

Microservices ermöglichen kleinere Teams mit durchgehender Verantwortung für die Wertströme

Microservices ermöglichen kleinere, spezialisierte, unabhängige Teams

Dezentralisierte, entkoppelte Teams gehen schneller in Produktion, weil sie kleiner sind, einen geringeren Umfang haben und unabhängig voneinander arbeiten. Wie Robert C. Martin, einer der Unterzeichner des einflussreichen Agile Manifesto, sagte:

Entkopplung beschleunigt immer. Wenn wir in den letzten fünfzig Jahren eines über die Kopplung gelernt haben, dann, dass nichts besser ist als eine Verlangsamung.

Da unabhängige Teams schneller arbeiten, erhalten sie auch schneller Kundenfeedback und Änderungswünsche, was zu einer schnelleren Produkt-/Marktanpassung und einem besseren Portfolio führt. Da unabhängige Teams schneller bereitstellen, liefern sie häufig kleinere Software-Inkremente aus, anstatt alle sechs Monate eine große Version zu veröffentlichen. Da sie häufig liefern, können sie bei einem Zwischenfall den Fehler oft mit den letzten, kleinen Implementierungen in Verbindung bringen. Die kleine Oberfläche des zu untersuchenden Codes reduziert den technischen Aufwand für die Problemdiagnose und die Zeit für die Bereitstellung einer Lösung.

Wie in einer Tugendschleife verstärken sich Geschwindigkeit und Stabilität gegenseitig: Wenn Sie schneller und häufiger bereitstellen können, wird auch die Qualität der Software steigen. Wenn Sie die Softwarequalität erhöhen, müssen Sie weniger Rollbacks durchführen, weniger Zeit für die Korrektur von Fehlern aufwenden und können dann häufiger ausliefern.

Dieser Tugendkreis wird durch Cloud-native Technologien und Architekturmuster ermöglicht. Microservice-Architekturen ermöglichen kleine, dezentralisierte, entkoppelte Teams. Cloud-native Technologien abstrahieren weiter von der Infrastruktur, um die Illusion ständig verfügbarer, skalierbarer, selbstheilender und unbegrenzter Ressourcen ohne Ausfallzeiten zu schaffen. Sie ermöglichen die Bereitstellung digitaler Produkte und Dienste mit der von den Kunden erwarteten Sicherheit, Hochverfügbarkeit und Ausfallsicherheit.

Sie haben also mit Cloud-Native- und Microservices-Architekturen dezentralisiert. Sie haben diese kleinen, unabhängigen multidisziplinären Teams, die für die Wertströme verantwortlich sind. Sie reagieren schneller auf Änderungen. Sie stellen häufiger bereit. Warum brauchen sie dann eine Plattform zur Bereitstellung von Wertströmen (VSDP)?

Denken Sie daran, dass Sie die Geschwindigkeit dezentralisierter Teams ohne die Erhöhung von Budget-, Betriebs- oder Sicherheitsrisiken wollen. Andernfalls gehen Sie bei der Skalierung baden. Sie würden nur noch schneller in Katastrophen laufen. Eine DevOps-Plattform zur Bereitstellung des Wertstroms (manchmal auch kurz als Selbstbedienungs-Entwicklerportal bezeichnet) mildert die oben genannten Risiken durch erhöhte Effizienz (Budget Risiko), Stabilität (Betriebsrisiken) und End-to-End-Kontrolle der Bereitstellung (Sicherheitsrisiken) wirksam ab.

Erläutern wir diese Achsen der Risikominderung nacheinander.

Effizienz. DevOps VSDPs bieten sowohl Flow-Effizienz (ein zentrales Lean-Konzept) als auch Kosteneffizienz. Flow-Effizienz entsteht durch die Automatisierung des gesamten Softwarebereitstellungszyklus. Sie ergibt sich auch aus der Beseitigung nicht wertschöpfender Aufgaben, insbesondere von Wartezeiten. Da DevOps VSDPs als Self-Service-Entwicklerportale fungieren, können Entwickler Dienste hoch- und herunterskalieren, Microservices überwachen und nachverfolgen – und vieles mehr -, ohne jemanden darum bitten oder darauf warten zu müssen, dass dies jemand anderes tut.

Die Effizienz der Abläufe führt natürlich zu niedrigeren Kosten. Aber es gibt noch mehr. Durch die Dezentralisierung verfügen Unternehmen heute über kleine, unabhängige Teams mit Eigenverantwortung und Entscheidungsbefugnis. Eine Bank kann von einem Kreditrisikoteam mit 150 Mitarbeitern zu 15 Teams mit 10 Mitarbeitern wechseln. Es besteht ein enormes Verschwendungspotenzial, wenn diese unabhängigen Teams 15 Mal allein die gleichen übergreifenden Probleme lösen: Sicherheit, Hochverfügbarkeit, Skalierung, Berichterstattung und mehr.

Eine gute DevOps VSDP kümmert sich ein für alle Mal um die übergreifenden Belange der Plattform, damit sich die Teams auf die geschäftsspezifischen Belange konzentrieren können. Eine gute DevOps-VSDP trifft eine sorgfältig kalibrierte Auswahl von Technologien, damit die Teams in den verschiedenen Unternehmen diese Bemühungen nicht unabhängig voneinander duplizieren – und gleichzeitig ein gewisses Maß an Flexibilität beibehalten, um geschäftsspezifische Situationen anzugehen.

Mit anderen Worten: Während einzelne Teams die Kosten lokal optimieren können, kann eine unbedachte Implementierung der Dezentralisierung die Gesamtkosten in die Höhe treiben. Mit einer zentralisierten DevOps VSDP können Unternehmen stattdessen die Kosteneffizienz auf globaler Ebene steigern. Das ist glokale Kosteneffizienz.

DevOps VSDPs steigern die Kosteneffizienz durch Beseitigung von Kostendopplungen

DevOps VSDPs vermindern Kostenüberschneidungen

Stabilität. Gute DevOps-Plattformen zur Bereitstellung von Wertströmen unterstützen standardmäßig Cloud-native Architekturen und Muster (Container, Microservices, Infrastructure as Code, verteiltes Tracing und mehr). Dies sind die Best Practices, die die einzigartigen Eigenschaften der Cloud nutzen, um hoch skalierbare, belastbare und sich selbst wiederherstellende Dienste bereitzustellen.

Sicherheit. Querschnittsthemen wie die Sicherheit werden direkt in einen DevOps VSDP integriert. Sie wollen nicht, dass jedes Team für sich selbst herausfindet, wie es seine Kundendaten sichern und Vorfälle untersuchen soll. Das ist viel Arbeit, und die Wahrscheinlichkeit – und die Kosten – eines Fehlers sind hoch. Plattformen sind bestrebt, Sicherheitsfunktionen wie zentralisiertes Audit-, Sicherheits- und Incident-Management zu bieten.

DevOps Value Stream Delivery Platforms bilden also im Wesentlichen die Quadratur des Kreises, indem sie das Risiko für Software und die Dezentralisierung von Teams verringern. Aber wir haben hier nur die Grundvoraussetzungen beschrieben. Jede DevOps VSDP sollte das beschriebene Minimum an Fähigkeiten bieten. Darüber hinaus werden sich DevOps VSDPs dadurch unterscheiden, dass sie sich auf bestimmte Schmerzpunkte auf Kosten anderer konzentrieren oder auf bestimmte Segmente abzielen.

Wie unterscheiden sich VSDP?

Zunächst einmal sollten wir interne DevOps-Plattformen oder Self-Service-Portale von DevOps VSDP im Rahmen eines XaaS-Modells (anything as a service) unterscheiden. Einige Unternehmen verfügen über eine Plattform, die als spezifische Software-Produktlinie konzipiert und entwickelt und von einem speziellen Team (PlatformOps-Team) gepflegt wird. Diese formalisierte Plattform hat sich in der Regel organisch aus einer Reihe unterschiedlicher Skripte oder Tools entwickelt und ist so gewachsen, dass sie die wichtigsten unternehmensspezifischen Belange der Softwarebereitstellung in einem einheitlichen Ganzen zusammenfasst. 

Andere Unternehmen werden es vorziehen, DevOps VSDP-Anbieter wie CodeNOW im Rahmen eines PaaS-Modells zu nutzen. Diese Unternehmen müssen keine beträchtlichen Investitionskosten in die Schaffung einer eigenen Plattform investieren und können sich stattdessen darauf konzentrieren, ihre digitale Transformation in Gang zu bringen. Diese Unternehmen konzentrieren sich direkt auf den Kern ihrer Wertschöpfung: das Was (digitale Produkte und Dienstleistungen für Kunden), während die Plattform den Großteil der Wertschöpfung automatisiert.

DevOps VSDPs im Rahmen eines PaaS-Modells bieten ein besseres Preis-Leistungs-Verhältnis

DevOps VSDPs im Rahmen eines PaaS-Modells bieten ein besseres Preis-Leistungs-Verhältnis

Daher ist das Geschäftsmodell bei weitem das wichtigste Unterscheidungsmerkmal von DevOps VSDPs. Es gibt keine Unternehmen mehr, die keine reinen IT-Unternehmen sind und ihre eigenen Server unterhalten. Sie mieten Rechenkapazität bei Amazon oder einem anderen IaaS-Anbieter. IaaS-Anbieter brachten preiswerte Serverinfrastrukturen für die breite Masse. 

In ähnlicher Weise wird das XaaS-Modell den Eintritt von DevOps VSDPs in den Mainstream beschleunigen. Laut Gartner wird DevOps VSDP in 2 bis 5 Jahren zum Mainstream werden. Es gibt jedoch nicht genügend Plattformteams auf dem Markt, um ein solch schnelles Wachstum zu unterstützen. Das XaaS-Modell wird dazu beitragen, dass jedes Unternehmen auf dem Weg der digitalen Transformation eine DevOps VSDP erhält.

Zweitens können VSDPs auf spezifische Probleme und Herausforderungen abzielen. CodeNOW zum Beispiel eliminiert die Herstellerabhängigkeit seiner Plattform. CodeNOW nutzt einen vollständig quelloffenen Stack, der aus sorgfältig ausgewählten Technologien besteht, die heute von Millionen von Entwicklern verwendet werden (z. B. GitLab, ArgoCD, Kubernetes, SonarQube). Folglich erwerben CodeNOW-Benutzer keine Azure-spezifischen Kenntnisse oder AWS-spezifischen Kenntnisse. Anstelle von proprietären Technologien lernen sie Cloud- und Cloud-Native-Konzepte, die sie für den Einsatz von Tools beliebiger Anbieter nutzen können. 

Wenn die Zeit gekommen ist, können sie also die beste Wahl des Anbieters treffen, die Kosten und Wert optimiert. Wenn es sinnvoll ist, können sie Multi-Cloud-Umgebungen auswählen und betreiben oder von einer Cloud in eine andere migrieren. So können Ingenieure in andere Teams wechseln und ihr Wissen sofort wiederverwenden. Große Unternehmen sagten uns, dass rotierende Entwickler sowohl für die Entwickler als auch für das Unternehmen einen Mehrwert schaffen. Es ermöglicht die gegenseitige Befruchtung von Fachwissen. Das schafft zufriedenere Entwickler.

In der Praxis stehen Unternehmen, die sich für eine Cloud-native Lösung entscheiden, vor der unmittelbaren Herausforderung, ihre Teams neu zu schulen und weiterzubilden. Microservices bringen zwar Vorteile, erhöhen aber auch die Komplexität erheblich. Es gibt viel mehr Teile zu koordinieren. Als Antwort darauf bieten einige VSDPs eine Umgebung für Selbstversuche, Lehren und Lernen, die das Onboarding von Entwicklern und die Teamproduktivität beschleunigen.

 

Unternehmen haben viele Optionen zur Auswahl, je nachdem, was ihr Kerngeschäft ist, welche Fähigkeiten ihre Teams haben und in welchem Stadium der digitalen Transformation sie sich befinden. Dennoch werden Unternehmen, die keine DevOps VSDP einsetzen, um ihre Lieferkennzahlen zu verbessern, wahrscheinlich nach und nach hinter ihre Konkurrenten zurückfallen, die dies tun. CodeNOW ist eine sichere Wahl für Unternehmen, die den Wert von DevOps-Plattformen ausloten wollen, da es keine Anbieterbindung gibt.