Risikomanagement bei der Anwendungsmodernisierung
Published on 28 Aug 2020

Unternehmen, die Platform-as-a-Service (PaaS) wie Pivotal Cloud Foundry und Red Hat Openshift nutzen möchten, beginnen normalerweise mit zwei Anwendungsumgebungen:
Neue Initiativen (Greenfield), die von Grund auf mit Cloud Native Best Practices aufgebaut werden können
- Vorhandene Anwendungsumgebungen (Brownfield), die modernisiert werden sollen, um die Agilitäts-, Skalierbarkeits- und Leistungsvorteile der Cloud zu nutzen
- Viele der vorhandenen Workloads (Brownfield) sind geschäftskritische Anwendungen, generieren beträchtliche Umsätze und sind anfällig für Störungen. Obwohl es ideal wäre, diese Anwendungen nach Cloud-nativen Prinzipien komplett neu zu strukturieren, ist dies im Allgemeinen weder praktikabel noch kosteneffizient.
Dieses Briefing bietet praktische Ratschläge und Best Practices dazu, wo und wie man mit dem Refactoring einer monolithischen Anwendung beginnt. In Kombination hilft dies den IT-Teams, den Modernisierungsprozess zu beschleunigen und verringert das Risiko, dabei Kundenereignisse und Geschäftsprozesse zu beeinträchtigen.
Wo soll ich anfangen?
Identifizierung von Kandidaten und Komponenten für das Refactoring
Bevor wir beginnen, wollen wir die Bühne mit ein paar Annahmen bereiten:
Sie beginnen mit einem gut strukturierten Monolithen:
Bevor Sie mit dem Refactoring von Elementen Ihres Monolithen beginnen, müssen Sie einige Arbeiten durchführen, um sicherzustellen, dass er gut strukturiert ist. Wenn Sie nicht sicher sind, ob Sie mit einem gut strukturierten Monolithen beginnen, erfahren Sie mehr, indem Sie sich dieses Video „Modulare Monolithen“ von Simon Brown (@simonbrown) ansehen, einem Branchenberater für Softwarearchitektur.
Sie verwenden DevOps-Praktiken und -Tools:
Um das Beste aus Cloud-Native herauszuholen, müssen Sie die bewährten Methoden von DevOps befolgen und Automatisierungstools für Continuous Integration (CI)/Continuous Delivery (CD) verwenden. Weitere Informationen hierzu finden Sie im E-Book „Lessons Learned While Writing The DevOps Handbook“ der Autoren Gene Kim, Mark Tomlinson und Andi Grabner.
Was ist ein Monolith und wie kann ich ihn umgestalten?
In der heutigen neuen Welt verteilter, lose gekoppelter Anwendungsarchitekturen neigen wir dazu, Monolithen als etwas Schlechtes zu betrachten. Wenn Sie einen gut strukturierten Monolithen haben, besteht das einzig Schlechte daran darin, dass es sich um eine einzelne Codebasis handelt und Sie, um ihn zu skalieren, das gesamte Ding skalieren müssen. Im Grunde ist „ein Monolith aus Softwareperspektive eine Kombination aus Geschäftsfunktionen oder begrenzten Kontexten, die alle mit einem Kernkontext verflochten sind. Der Prozess der Umwandlung einer App in eine auf Mikrodiensten basierende Architektur erfordert die Trennung jedes dieser begrenzten Kontexte in seine eigenen Kontexte.“
Siehe auch : 3 Vorteile von Citrix ADC mit flexibler Lizenzierung