Was ist Anwendungsmodernisierung?

Anwendungsmodernisierung ist der Prozess, bei dem die zugrunde liegende Infrastruktur einer Anwendung geändert, ersetzt oder neu aufgebaut wird, um eine größere Flexibilität oder Skalierbarkeit zu erreichen. Dies geschieht häufig durch eine Cloud-Migration.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Anwendungsmodernisierung beschreiben
  • Die wichtigsten Technologien für die Modernisierung älterer Anwendungen kennenlernen
  • Schritte und Strategien zur Anwendungsmodernisierung (die „fünf Rs“) erläutern

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist Anwendungsmodernisierung?

Anwendungsmodernisierung ist der Prozess, bei dem die Architektur, der Code und die Infrastruktur älterer – oder veralteter – Anwendungen aktualisiert oder ersetzt werden. Der Begriff bezieht sich meist auf die Umstellung der Infrastruktur einer App von On-Premise auf Cloud-basiert und beinhaltet in den meisten Fällen den Wechsel von einer monolithischen Architektur zu Mikroservices oder Serverless. Das Ziel ist es, Apps skalierbarer, wartungsfreundlicher und kosteneffizienter zu gestalten und gleichzeitig den Betriebsaufwand zu reduzieren.

Wie andere Modernisierungsprozesse in der Geschäftswelt (z. B. der Wechsel von gedruckten Memos zu E-Mails) passt die Anwendungsmodernisierung Prozesse an neue Technologien an, um eine höhere Effizienz zu erreichen. Durch die Modernisierung veralteter Anwendungen profitieren die Entwickler dieser Anwendungen von Cloud Computing, das skalierbarer und im Vergleich zu älteren IT-Modellen preislich flexibler ist.

Die Modernisierung von Anwendungen ist oft nur ein Element einer größeren Cloud-Migration oder einer digitalen Transformation.

Wie funktioniert die Modernisierung veralteter Anwendungen?

Cloud-Computing findet auf virtuellen Maschinen statt. Cloud-Dienste sind eine oder mehrere „Abstraktionsschichten“, die von der zugrunde liegenden Hardware entfernt wurden. Dies unterscheidet die Cloud von einer On-Premise-Infrastruktur, bei der Anwendungen auf bestimmten Servern und innerhalb klar definierter Netzwerke ausgeführt werden. Der Cloud-Anbieter verwaltet die Hardware und stellt Dienste über Netzwerkverbindungen zur Verfügung. Durch diese Architektur ist Cloud Computing flexibler, da es bedarfsgerecht skaliert werden kann und einige der Kosten für den Betrieb vor Ort entfallen.

Während On-Premise-Apps in der Regel eine einzige monolithische Einheit bilden, ist die Architektur von Cloud-gehosteten Anwendungen meist in kleinere Einheiten unterteilt, die bei Bedarf abgerufen werden. Im Rahmen der Anwendungsmodernisierung kann eine Anpassung der Architektur an dieses Format erforderlich sein (dies ist jedoch nicht bei allen Strategien der Fall).

Zu den wichtigsten Konzepten für modernisierte Anwendungen gehören:

  • Microservices: Microservices sind kleine, unabhängig voneinander bereitgestellte Komponenten, die jeweils eine bestimmte Funktion innerhalb einer Anwendung ausführen. Jeder Service läuft in seiner eigenen Umgebung und kann separat entwickelt und skaliert werden.
  • Container: Container bündeln Anwendungscode und Abhängigkeiten, sodass sie in verschiedenen Umgebungen einheitlich ausgeführt werden. Sie werden häufig in Microservice-Architekturen verwendet, wenn auch nicht ausschließlich.
  • Serverless Computing: Diese Art von Cloud-Architektur zerlegt eine Anwendung in diskrete, ereignisgesteuerte Funktionen. Serverless Funktionen sind einzelne Codeteile, die nur bei Bedarf ausgeführt werden. Beachten Sie, dass viele Cloud-basierte Anwendungen Serverless, Microservices und Container in einer einzigen Architektur kombinieren, die über ein API-Gateway verbunden ist.
  • APIs: Application Programming Interfaces (APIs) fungieren als Konnektor für die Microservices und Funktionen, aus denen sich eine Cloud-basierte Anwendung zusammensetzt und die alle getrennt voneinander laufen. APIs ermöglichen es einer Anwendung, jeden Dienst bei Bedarf aufzurufen.
  • Orchestrierung: Orchestrierung ist die Automatisierung von Aufgaben, die mit der Verwaltung von Containern verbunden sind. Eine Anwendungsarchitektur, die Container enthält, umfasst in der Regel auch eine Art Orchestrierung – Kubernetes ist hier ein gängiges Beispiel.
  • Cloud-Speicher: Es gibt verschiedene Arten des Cloud-basierten Speichers für Anwendungsdaten, darunter Objektspeicher, Blob-Speicher und Blockspeicher.
  • Cloud-native Sicherheit: Cloud-native Sicherheit wurde entwickelt, um die Cloud-basierte Anwendungsinfrastruktur zu schützen und gleichzeitig die Compliance und Governance von Daten zu unterstützen.
  • KI-Integration: Modernisierte Anwendungen lassen sich reibungsloser mit generativer KI und agentenbasierter KI integrieren, die auf Modellen aufbauen, die nicht lokal, sondern in der Cloud ausgeführt werden.

Was sind die wichtigsten Strategien zur Anwendungsmodernisierung?

Die gängigsten Strategien zur Anwendungsmodernisierung sind alle unter Namen bekannt, die (auf Englisch) mit „R“ beginnen. Deshalb werden diese Strategien von manchen als „die 5 Rs“ oder „die 7 Rs“ bezeichnet.

Die „5 Rs“ (wie ursprünglich von Gartner im Jahr 2010 definiert):

  • Rehost: Wird auch als „Lift and Shift“ bezeichnet. Diese Strategie zur Anwendungsmodernisierung lässt sich oft am schnellsten umsetzen. Eine monolithische On-Premise-Anwendung wird in die Cloud verlagert und über einen Infrastructure-as-a-Service (IaaS)-Provider statt über eine selbst verwaltete Infrastruktur gehostet. Rehosting ist so, als würde man ein Haus nehmen und es auf ein Grundstück auf der anderen Straßenseite ziehen.
  • Refactor: Refactoring ähnelt dem Rehosting, jedoch wird die Anwendung über Platform-as-a-Service (PaaS) statt über IaaS gehostet. Dies ist mit noch weniger Aufwand und mehr Flexibilität verbunden, allerdings kann eine geringfügige Anpassung der Anwendung an die Plattform des Cloud-Providers erforderlich sein. Stellen Sie sich vor, Sie würden ein Haus auf ein Grundstück ziehen, das zwar länger, aber schmaler ist als das vorherige; und dann setzen Sie ein zweites Stockwerk auf, um den Platz besser zu nutzen.
  • Revise: Bei der „Revise“-Strategie wird der Code der Anwendung teilweise neu geschrieben. Stellen Sie sich vor, Sie würden ein Haus auseinandernehmen und es dann nach einem effizienteren Grundriss wieder aufbauen.
  • Rebuild: Bei dieser Strategie zur Anwendungsmodernisierung wird die Anwendung für die Bereitstellung über einen PaaS-Provider neu geschrieben. In diesem Szenario demolieren Sie das Haus mit einer Abrissbirne und errichten es anschließend von Grund auf neu.
  • Replace: Bei dieser Strategie werden veraltete Anwendungen ausgemustert und durch modernisierte oder Cloud-basierte Anwendungen mit ähnlicher Funktionalität ersetzt. So als würden Sie ein komplett neues Haus kaufen.

Andere Strategien zur Anwendungsmodernisierung (oder „R“s) sind:

  • Replatform: Bei dieser Strategie werden einige Änderungen am Code vorgenommen, damit die Anwendung auf einer Cloud-Plattform einwandfrei funktioniert. Die Änderungen sind jedoch nicht so umfangreich wie beim Refactoring (Refaktorierung).
  • Rearchitect: Das Backend der Anwendung wird neu gestaltet und teilweise neu geschrieben, um eine bessere Funktion in der Cloud zu gewährleisten.
  • Repurchase: Ähnlich wie bei der „Replace“-Strategie wird eine Ersatzanwendung von einem neuen Anbieter erworben.

Welche Strategie zur Anwendungsmodernisierung sollte ein Unternehmen verfolgen?

Die richtige Strategie – oder genauer gesagt Strategien, da die meisten Unternehmen mehr als eine verwenden – hängt von den Zielen und dem Budget eines Unternehmens ab. Eine schnellere Migration mit minimalem Aufwand und geringen Kosten bedeutet häufig, dass Rehosting zunächst die richtige Strategie ist. Für langfristige Skalierbarkeit oder zur Unterstützung moderner Entwicklungspraktiken wie Continuous Integration und Continuous Deployment (CI/CD) sind umfangreichere Änderungen erforderlich. In diesen Fällen können Unternehmen durch Rearchitecting, Refactoring oder Rebuilding von Anwendungen besser auf zukünftige Anforderungen vorbereitet werden.

Bevor Sie sich für Strategien entscheiden, sollten Sie Ihre Ziele, Ihren Zeitplan und Ihr Budget für den Modernisierungsprozess festlegen.

Was sind die wichtigsten Schritte bei der Anwendungsmodernisierung?

Die konkreten Schritte variieren je nach Strategie und Organisation, aber im Allgemeinen lassen sich bei der Modernisierung von Anwendungen folgende Hauptphasen unterscheiden:

  • Vorbereitung: Zunächst wird jede Anwendung, die für eine Modernisierung in Frage kommt, bewertet, ihre Komponenten identifiziert, alle Daten gefunden und die Ziele für die Anwendung nach der Modernisierung festgelegt (z. B. soll sie über eine API verfügbar sein? Wird sie die gleichen oder erweiterte Funktionen bieten?). Unternehmen müssen ihre Pläne flexibel gestalten, da sie während der Umsetzung jederzeit an unerwartete Bedingungen angepasst werden müssen.
  • Modernisierung: In dieser Phase führen die Unternehmen den in der Vorbereitungsphase festgelegten Plan durch, wandeln die Anwendungs-Backends um und migrieren ihre Daten nach Bedarf.
  • Cutover: Alte Anwendungen werden ausgemustert und ihre Funktionen werden von modernisierten Anwendungen übernommen. Diese Phase findet idealerweise entweder nach oder während der Modernisierung statt, damit die Geschäftsprozesse nicht beeinträchtigt werden.
  • Laufender Betrieb: Unternehmen testen, aktualisieren, warten, sichern und verbessern ihre modernisierten Anwendungen kontinuierlich und stellen bei Bedarf weitere Cloud-Ressourcen bereit.

Was sind die Herausforderungen bei der Anwendungsmodernisierung?

Die Anwendungsmodernisierung ist für ein Unternehmen mit einem gewissen Aufwand an Zeit, Geld und Ressourcen verbunden. Entwickler-, DevOps-, Sicherheits- und Compliance-Teams müssen Zeit für die Migration, Architekturgestaltung und Sicherung modernisierter Anwendungen einplanen. Interne Teams müssen womöglich Netzwerk-Traffic weiterleiten, Hardware außer Betrieb nehmen und neue Sicherheitsmaßnahmen implementieren. Im Idealfall machen diese Maßnahmen das Unternehmen langfristig jedoch effizienter.

Was sind die Vorteile der Anwendungsmodernisierung?

Unternehmen modernisieren ihre Anwendungen nicht einfach, um „modern“ zu sein oder die Cloud zu nutzen, sondern um bestimmte Vorteile zu erzielen, darunter:

  • Schnellere Entwicklung: Da die Cloud Gemeinkosten und Infrastruktur abstrahiert, können Unternehmen neue Features wesentlich schneller einführen.
  • Bereitstellung von Anwendungen über API: So können Anwendungen in andere Anwendungen integriert werden, was eine effizientere Entwicklung und automatisierte Prozesse ermöglicht.
  • Skalierung für die Zukunft: Wenn Unternehmen ihre eigene Infrastruktur erwerben, sind sie durch die erworbene Kapazität eingeschränkt. Aber die Cloud ist praktisch unbegrenzt (obwohl künstliche Intelligenz die Kapazität bereits existierender Rechenzentren auf die Probe stellt).
  • Verbesserte Anwendungsperformance: Eine Cloud-basierte Anwendung kann von verschiedenen Standorten aus erreicht werden. Dabei wird der Netzwerk-Traffic nicht durch die unnötig lange Umleitung über ein lokales Rechenzentrum ausgebremst (ein Phänomen, das als „Posaunen-Effekt“ bezeichnet wird).
  • Zukunftssicherheit: Dank der Flexibilität, die sich aus Anwendungsmodernisierung ergibt, können Unternehmen neue Technologien und Effizienzsteigerungen nutzen, wenn sich ihre Anforderungen ändern.
  • Reduzierung technischer Schulden: Veraltete Sprachen, umständliche Implementierungen und auslaufende Hardware können im Rahmen der Modernisierung ersetzt werden.
  • Verbesserte Sicherheit: Die Verlagerung von Anwendungen in die Cloud beseitigt viele der Sicherheitprobleme, die mit monolithischen On-Premise-Anwendungen einhergehen – allerdings bringt die Cloud ihre eigenen Sicherheitsprobleme mit sich.

Cloudflare hilft Unternehmen, diese Vorteile voll auszuschöpfen. Die Connectivity Cloud von Cloudflare konsolidiert Netzwerkzugang, Sicherheit, Bedrohungsdaten und andere Dienste verschiedener Anbieter auf einer einzigen Plattform. Die Entwicklerdienste von Cloudflare bieten die erforderlichen Tools für die Modernisierung von Anwendungen. Erfahren Sie, wie Cloudflare die Modernisierung von Anwendungen vorantreibt.