Software modernisieren mit der Cloud: 4 Möglichkeiten von Application Transformation

Profilfoto Manuel Reinfurt
Chief Technical Officer

14.04.2021
img

Software soll lange halten und auch in Jahren noch leicht zu warten sein. Die Cloud verspricht dafür viele Features. Neu entwickelte Anwendungen können diese Vorteile nutzen, in dem sie von Beginn an cloud-native entwickelt werden. Doch wie schaffen Sie es, auch bei bestehenden Anwendungen die Vorteile der Cloud zu nutzen?

Grenzenlose Skalierbarkeit, Ressourcen sofort auf Abruf, eine moderne und flexible Umgebung – die Cloud bietet viele Vorteile. Bei einer Produktentwicklung auf der grünen Wiese ist es einfach, von der Cloud zu profitieren. Doch wie schaffe ich es, auf die Vorteile der Cloud auch bei bestehenden Anwendungen zu nutzen? Wie kann ich meine Anwendung modernisieren – und wie hoch sind dann meine Kosten? Wir zeigen, welche Methoden existieren und wie sich die Migration zur Cloud für Sie lohnt.

Application Transformation

Unter "Application Transformation" versteht man, dass eine bestehende und in der Regel ältere Anwendung so transformiert wird, dass sie moderne Infrastruktur, Services und Prozesse verwendet. In unserem Fall bedeutet dies konkret, dass eine ältere Anwendung in einem Rechenzentrum so aufbereitet und verbessert wird, dass sie in der Cloud funktioniert und Sie somit die Vorteile der Cloud genießen können. Die Transformation an sich unterscheidet sich dann je nach Anwendung. In welchem Zustand ist die Anwendung? Wie aufwändig ist eine Migration in die Cloud? Was muss umgebaut oder neu gebaut werden, damit diese optimal in der Cloud funktioniert?

Auswahl der zu transformierenden Anwendungen

Um daher Kosten zu sparen und einen möglichst großen Effekt zu erzielen, ist die Auswahl der Anwendungen von großer Bedeutung. Konzentrieren Sie sich auf die Anwendungen, welche nach der Migration die größte Auswirkung auf Ihr Business haben. Gibt es Anwendungen, welche sehr große Varianzen in der Auslastung haben? Bei diesen Anwendungen sind Nutzer zu bestimmten Zeiten hochaktiv, zu anderen Zeiten gar nicht. Die Cloud hilft hier, da die Kapazitäten dynamisch und automatisch zur Verfügung gestellt werden können. Warum also 24/7 einen Hochleistungsserver bezahlen, wenn dieser nur 30 Minuten am Tag wirklich ausgelastet ist? Die flexible Verteilung der Cloud-Ressourcen bietet hohe Kosteneinsparungen, ohne dabei an Zuverlässigkeit zu verlieren.

Cloud Fahrplan

Von Budget bis Hyperscaler: In nur 24 Schritten planen Sie Ihr Cloud-Projekt!

Jetzt kostenlos downloaden

Wie transformiere ich eine Anwendung?

Die Anwendungen wurden ausgewählt – wie werden diese nun modernisiert? Grundsätzlich sind 4 Methoden bekannt, die sich stark in Aufwand und Wirkung unterscheiden.

Diagramm: Darstellung der verschiedenen Methoden der "Application Transformation"


Re-host

Re-host, auch "Lift & Shift" genannt ist eine sehr kostengünstige Variante. Dabei wird die Anwendung – ohne große Veränderung – einfach neu in der Cloud gehosted. Die Anwendung wird also hochgehoben (lift) und in die Cloud verschoben (shift). Das verringert in der Regel die Kosten der Infrastruktur und auch gleichzeitig den personellen Aufwand, den Sie für die Wartung und Pflege Ihrer Infrastruktur benötigen. Leider wird die Anwendung selbst nicht verändert. Die vorhandenen Probleme Ihrer Architektur werden daher auch in die Cloud migriert. Damit alle Vorteile der Cloud optimal genutzt werden können, muss die Anwendung gewisse Anforderungen erfüllen. Eine automatische Skalierung ist beispielsweise nur möglich, wenn mehrere Instanzen der Anwendung parallel laufen können, ohne dass sie sich gegenseitig blockieren. Dies wird bei einem einfachen Lift & Shift nicht sicher gestellt – daher können auch nicht alle Vorteile der Cloud genutzt werden.

Vorteile:

  • Kostengünstige Transformation
  • Verringerung von Kosten & Aufwand für Infrastruktur

Nachteile:

  • Vor- und Nachteile der bestehenden Architektur werden quasi 1:1 übernommen
  • Keine weiteren Vorteile der Cloud nutzbar
  • Nicht für alle Anwendungen möglich

Je nach Anwendung besteht auch die Gefahr, dass ein einfaches Lift & Shift durch Abhängigkeiten nicht möglich ist. Das kann passieren, wenn Ihre Anwendung auf bestimmte lokale Prozesse oder Programme zugreift, die im Cloud-Kontext nicht verfügbar sind. Das führt uns auch direkt zur nächsten Methode:

Re-platform

Re-platform, auch "Lift & Reshape" genannt ist eine erweiterte Variante des Re-host. Dabei wird die Anwendung nicht nur verschoben, sondern auch verändert. Mit wenigen Kniffen wird die Infrastruktur der Anwendung modifiziert, so dass die Anwendung für die Cloud optimiert wird. Häufig wird die Anwendung so verändert, dass sie "plattform-agnostisch", also plattformunabhängig läuft. Bei älteren Anwendungen ist es Gang und Gebe, dass die Anwendung für bestimmte Betriebssysteme entwickelt wurde und nur in einer speziellen Umgebung funktioniert. Das Betriebssystem muss stimmen, es müssen gewissen Programme installiert sein. Heutzutage und insbesondere in der Cloud werden Anwendungen so gestaltet, dass sie eben unabhängig von der Plattform sind. Anwendungen laufen dabei in Containern. Diese Container können problemlos via Cloud Services bereit gestellt werden. Damit eröffnen sich mehr Möglichkeiten und Sie sind flexibler in der Auswahl der verwendeten Cloud und Services Die Pflege der Anwendung wird auch vereinfacht, da die Umgebung in Containern einfacher zu kontrollieren ist. Mehr zu Containern erfahren Sie hierzu auch in unserem Artikel über Kubernetes.

Vorteile:

  • Kostengünstige Transformation
  • Verringerung von Kosten & Aufwand für Infrastruktur
  • Unabhängigkeit der Plattform / Umgebung wird hergestellt
  • Pflege der Anwendung wird vereinfacht

Nachteile:

  • Keine weiteren Vorteile der Cloud nutzbar

Mittels Lift & Reshape können wir noch mehr Vorteile der Cloud freischalten. Die grundlegende Architektur der Anwendung wird aber nicht verändert. Die Cloud kann auch hier noch mehr Vorteile bieten, was durch die nächsten zwei Methoden ermöglicht wird:

Re-purchase

Re-purchase ist eine Variante, die etwas aus der Reihe tanzt. Dabei wird die bestehende Anwendung nicht weiter genutzt – sie wird nicht verändert, nicht verschoben. Stattdessen wird sie durch einen Service oder ein neues Produkt vollständig ersetzt. Eine selbstgebaute Anwendung für einen IT-Servicedesk kann beispielsweise durch Anwendungen wie "Jira Service Desk" ersetzt werden. Es muss also identifiziert werden, welche Anforderungen man hat und welches Produkt am Markt exakt diese Anforderungen erfüllt. Setzt man dann auf dieses Produkt kann man Support, Pflege, Infrastruktur und so weiter vollständig an den Produkthersteller übergeben. Gleichzeitig profitiert man von Weiterentwicklungen und neuen Features.

Vorteile:

  • Komplettes Ersetzen einer bestehenden Anwendung durch ein modernes, gepflegtes Produkt
  • Support, Infrastruktur und Co. werden in der Regel vollständig vom Anbieter übernommen

Nachteile:

  • Einschränkungen in der Weiterentwicklung der Anwendung
  • Abhängigkeit zum Hersteller des neuen Produkts
  • Es entstehen weitere Lizenzkosten je nach Produkt

Re-architect

Was, wenn Re-host, Re-platform und auch Re-purchase nicht in Frage kommen? Sie müssen die Anwendung nicht komplett neu entwickeln. Oft genügen die richtigen Handgriffe, um Ihre Anwendung Cloud-kompatibel zu machen. Mit Re-architect wird die Anwendung deshalb zunächst analysiert. Welche Komponenten sind modern, welche veraltet? Welche Komponenten müssen erneuert werden, damit die Vorteile der Cloud vollständig genutzt werden können? Oft können mit einigen Kniffen und Veränderungen bereits große Kosteneinsparungen oder andere Vorteile erreicht werden. Beispiele hierfür sind die Umstellung der Datenbank oder des gesamten Datenbank-Schemas oder die Entkopplung der Module und Services untereinander, so dass auf Cloud-Services zugegriffen werden kann. Dabei besteht die Möglichkeit, Teile der Anwendung vollständig zu erneuern oder zu überarbeiten und ein sogenanntes Refactoring durchzuführen. Dabei wird die bestehende Anwendung umstrukturiert, Code wird verändert, die Anwendung bleibt insgesamt aber erhalten. Die Flexibilität ist hier sehr hoch – es geht also insbesondere um die Balance zwischen Investment und Mehrwert.

Vorteile:

  • Vorteile der Cloud vollständig nutzbar
  • Vollständige Modernisierung der Anwendung möglich
  • Flexibilität bei Investment und Mehrwert

Nachteile:

  • Aufwändiger als die vorherigen Methoden

Wann lohnt sich der Neubau einer Anwendung?

In speziellen Fällen kann es auch günstiger und sinnvoller sein, eine vollständig neue Anwendung zu konzipieren und diese auf grüner Wiese zu entwickeln. Das ist insbesondere dann der Fall, wenn die Anwendung bereits älter ist und es kaum noch Mitarbeiter gibt, die diese verstehen und warten können.

Wie treffe ich eine Entscheidung?

Sie kennen nun die verschiedenen Wege und Methoden, um Ihre Anwendung zu modernisieren und die Vorteile der Cloud nutzen zu können. Um eine Entscheidung zu treffen sollte zunächst immer die bestehende Anwendung analysiert werden. Die Entscheidung hängt extrem von der bisherigen Architektur, den Technologien und auch Ihren Anforderungen ab. Keine der obigen Methoden ist falsch. Die richtige Methode für Ihren Use-Case reduziert aber Ihre Kosten und maximiert den Nutzen. Sie müssen also keinen Rundumschlag machen, alles wegwerfen und neu in der Cloud anfangen. Konzentrieren Sie sich stattdessen auf Ihre kritischen Anwendungen und adoptieren Sie so Schritt für Schritt die Cloud.

Cloud Fahrplan

Von Budget bis Hyperscaler: In nur 24 Schritten planen Sie Ihr Cloud-Projekt!

Jetzt kostenlos downloaden
Titelbild: Fabian Mardi auf Unsplash
Weiterempfehlen:

Update gefällig?

Mit dem INCLOUD Ping erhalten Sie jeden Monat kleine Aha-Momente rund um die relevantesten digitalen Themen.
Ihre Zeit ist wertvoll, wir nutzen sie produktiv. Versprochen.