Eine der größten Auswirkungen der digitalen Transformation ist die Unterbrechung der Anwendungsentwicklung. Historisch betrachtet dauert es im Allgemeinen mehrere Jahre, bis die Einführung neuer Architekturen in die App-Entwicklung richtig in Gang kommt und eine breite Akzeptanz findet. Die Anwendungsarchitekturen, die ganze Branchen erfassen, werden letztendlich zum De-facto-Standard. Wir haben dies Mitte bis Ende der 1990er Jahre erlebt, als J2EE langsam aber sicher zum „Unternehmensstandard“ für die Entwicklung dreistufiger Webanwendungen wurde.
Heute scheint die Architektur, die sich durchsetzen und zum neuen Standard werden wird, die Cloud-native-Architektur zu sein. Diese containerbasierten Microservices-Architekturen dominieren zunehmend neue Entwicklungsprojekte in allen Branchen. Das erfolgreiche Wachstum von Kubernetes, auf dem eine beträchtliche Anzahl solcher Anwendungen bereitgestellt und betrieben wird, deutet darauf hin, dass diese neueste App-Architektur von Dauer sein wird. Unsere Untersuchungen zeigen, dass mindestens die Hälfte der Organisationen aufgrund der digitalen Transformation „neue Architekturen“ erkundet.
Heutzutage wird dies häufig so interpretiert, dass die Organisationen sich auf einem Modernisierungsprozess befinden. Und wir (die Branche) neigen dazu, in sehr allgemeinen (und lockeren) Begriffen über Modernisierung zu sprechen. Als ob Organisationen einfach einen Zauberstab schwingen und alle ihre Anwendungen auf diesem neuen Modell aufbauen würden.
Tatsächlich stehen Unternehmen viele Möglichkeiten zur Modernisierung ihrer Anwendungen zur Verfügung. Nur einige (37%) verfolgen einen Refactoring-Ansatz. Es gibt zahlreiche Refactoring-Methoden. Einer der beliebtesten Ansätze ist Red Green Refactor. Es gibt aber noch andere, darunter vorbereitendes Refactoring und eine Auswahl abstraktionsbasierter Optionen. Die meisten basieren auf der Vereinfachung von Code. Mit anderen Worten: Sie verlassen sich weitgehend auf eine weniger störende Form der Neuschreibung der Anwendung.
Manchmal ist jedoch eine vollständige Neufassung die beste Modernisierungsstrategie. Im Allgemeinen kann der Aufwand für die vollständige Neuschreibung einer vorhandenen Legacy-Anwendung so groß sein, dass er selbst den entschlossensten Verfechter der digitalen Transformation abschreckt. In manchen Fällen können jedoch erhebliche Einsparungen erzielt werden.
Betrachten Sie den Ansatz einer Bundesbehörde zur Modernisierung ihres Anwendungsportfolios. Da die Agentur zu einer agilen Methodik wechseln musste, benötigte sie eine Sondergenehmigung für die Entwicklung von Anwendungen im herkömmlichen Wasserfallmodell. Als ich programmierte, war die Wasserfallmethode die vorherrschende Methode. Also ja, sie ist alt. Die Agentur kam zu dem Schluss, dass sie am besten damit beginnen sollte, ihr eigenes Portfolio zu verstehen und den Bedarf für jede einzelne Anwendung zu rationalisieren.
Bei dieser Prüfung fanden sie fast 200 von etwa 6.000 Anwendungen, die dieselbe grundlegende Vermögensverwaltungsaufgabe erfüllten. Stellen Sie sich für einen Moment vor, dass eine Änderung dieser grundlegenden Geschäftsfunktion erforderlich wäre, die eine Modifizierung aller 200 Anwendungen erfordert.
Das bedeutet einen hohen Zeit- und Arbeitsaufwand für Entwickler und Betreiber, um dieselbe Geschäftsfunktion zu entwickeln, zu testen und bereitzustellen.
Die Agentur entschied sich für eine Modernisierung durch den Ersatz aller 200 Anwendungen durch einen einzigen Mikrodienst, der nun in der gesamten Agentur zur Verfolgung von Vermögenswerten genutzt werden kann. Es wurde unter Verwendung agiler Methoden entwickelt und in einer modernen Umgebung betrieben. Es ist skalierbar und erfüllt die Anforderungen aller Funktionen, die bisher auf ihre eigene, persönliche, private Anwendung angewiesen waren.
Nicht alle Modernisierungsbemühungen konzentrieren sich auf Refactoring. Eine strategische Betrachtung der Bedeutung der Modernisierung für das gesamte Anwendungsportfolio kann erhebliche Geschäftsvorteile bringen. Viele Organisationen, insbesondere solche, die bereits seit Jahrzehnten bestehen, stehen vor dem gleichen Portfolioproblem: der Duplizierung. Umstrukturierungen, Übernahmen, Fusionen und Änderungen im Management können leicht zu einer Duplizierung von Anwendungen führen.
Es wäre für jede Organisation von Vorteil, im Rahmen einer Modernisierungsstrategie ein Anwendungsaudit und eine Anwendungsrationalisierung durchzuführen. Möglicherweise stellen Sie fest, dass Sie Hunderte von Anwendungen haben, aber nur einige davon benötigen. Mithilfe einer Strategie dieser Art können Führungskräfte eine völlig neue Anwendung rechtfertigen, die in einer neuen Architektur entwickelt wurde, um App-Redundanz und die damit verbundenen Kosten zu vermeiden.