Auch die effektivste Softwarelösung übersteigt nach einigen Einsatzjahren ihren Zenit und ist dann technisch / fachlich veraltet. Dennoch ist sie für das Unternehmen unverzichtbar, denn sie ist nach wie vor dienstbereit, ihre Funktionen haben sich bewährt und werden auch zukünftig benötigt. Viele Unternehmen stehen dann vor einer schwierigen Entscheidung das veraltete System kostspielig und zeitaufwändig entweder durch eine neuentwickelte Applikation zu ersetzen, zu versuchen zumindest geringfügige technologische Anpassungen vorzunehmen oder sich einfach mit den vorhandenen Schwächen zu arrangieren.

Mit einer Software-Modernisierung steht eine weitere, lösungsorientierte Option zur Verfügung, die darauf abzielt, die bisherige Softwarelösung und ihre unverzichtbaren Funktionen zu erhalten. Schritt für Schritt wird die bisherige Lösung auf den neuesten Stand der Technologie gebracht. Inklusive einer modernen Architektur, notwendiger Erweiterungen und bereit für künftige Einsatzszenarien.

Indikatoren für eine Software-Modernisierung der existierenden Lösung sind u.a.:

  • Die bisherige Lösung ist unverzichtbar, bzw. ihr Wegfall verursacht große Schwierigkeiten.
  • Die Wartungsaufwände sind bereits sehr hoch und steigen weiter an.
  • Die Entwicklungszyklen für neue Funktionalitäten dauert (zu) lange.
  • Sie ist technisch und/oder fachlich veraltet.
  • Zusätzliche Anforderungen lassen sich mit der bestehenden Softwarearchitektur nicht mehr umsetzen.
  • Es fehlen Schnittstellen zu anderen Applikationen und/oder der Cloud.

Das Team von M&M Software berät Sie umfassend zum Thema Software-Modernisierung. Dazu gehört, dass unsere Spezialisten aus den Bereichen Architektur, Entwicklung und Design gemeinsam Ihre Softwarelösung analysieren und Ihnen Möglichkeiten für eine Modernisierung und eine Migration in die Cloud erläutern. Dafür stehen verschiedene Strategien zur Verfügung, die unterschiedliche Vor- aber auch Nachteile haben:

Rehost

Icon: Rehost

Die einfachste und schnellste Variante der Cloud-Migration ist die Rehost-Strategie. Eine Anwendung, die bisher lokal läuft, wird mithilfe von Infrastructure-as-a-Service in eine Cloud-Umgebung gebracht. Der Umzug der Anwendung erfolgt ohne Änderungen am Source Code. Einmal in die Cloud-Umgebung gebracht, braucht man sich nicht mehr um Themen, wie Hardwareausfälle, Verwaltung der Infrastruktur, Anschaffung und Bereitstellung von Hardware und Disaster Recovery zu kümmern. Um diese Dinge kümmert sich dann der Cloud Provider.

Vorteile

  • Keine Code- oder Architekturänderungen
  • Anwendungen werden ohne Anwendungs- oder Infrastrukturänderungen in der Cloud neu gehostet, wodurch teure Entwicklungs- und Testkosten entfallen.

Nachteile

  • Legacy-Anwendungen sind nicht skalierbar und lassen keine verteilten Arbeitslasten zu, wie dies bei Cloud-nativen Anwendungen der Fall ist.
  • Lokale Anwendungen können nach der Migration unter Latenz- oder Performanceproblemen leiden, da sie nicht für die Cloud-Umgebung optimiert oder modifiziert wurden.

Refactor

Bei Refactor wird der Code der Anwendung so weit angepasst, dass Platform-as-a-Service Dienste verwendet werden können. Der größte Teil der Anwendungslogik bleibt unberührt.

Vorteile

  • Dieser Ansatz spart Kosten und erfordert oftmals kein großes Entwicklungsprojekt.
  • Skalierung erfolgt nach Bedarf. Durch die Plattformumstellung können  einige Arbeitslasten in die Cloud verlagern werden, mit der Cloud-Umgebung experimentiert werden, Lehren gezogen und dann zu anderen Arbeitslasten übergegangen werden, ohne einen großen Migrationsaufwand in Kauf nehmen zu müssen.
  • Cloud-native Funktionalitäten, wie automatische Skalierung, verwaltete Speicher- und Datenverarbeitungsdienste, Infrastructure-as-Code uvm. können genutzt werden.

Nachteile

  • Um den Arbeitsaufwand zu minimieren, muss man sich an gängige, gut bekannte Cloud-Komponenten halten. Spezialisierte Komponenten erfordern oft dramatische Änderungen an der Anwendung und lohnen sich unter Umständen nur dann, wenn sie einen hohen geschäftlichen Nutzen bieten oder eine Nutzung unvermeidlich ist.
  • Es ist erforderlich, in eine  grundlegende Automatisierung zu investieren, die ein gewisses Maß an Flexibilität beim Betrieb des Systems in der Cloud bietet.
Icon: Refactor

Rearchitect

Icon: Rearchitect

Das Ziel von Rearchitect ist, die Softwarearchitektur so anzupassen und so zu optimieren, dass sie perfekt in einer Cloud-Umgebung läuft. Die monolithische Anwendung wird in lose gekoppelte Microservices aufgeteilt, die mithilfe von Containern unabhängig hochskaliert, getestet, ausgetauscht und verwaltet werden können.

Vorteile

  • Langfristig Kostensenkung, , durch den Abgleich des tatsächlichen  Ressourcenbedarfs mit der Cloud-Infrastruktur. Die Fähigkeit zur bedarfsgerechten Skalierung senkt den Ressourcenverbrauch und sorgt für einen nachhaltigen Return On Investment.
  • Mit Cloud-nativen- und Microservices-Architekturen können Anwendungen schnell an neue Kundenanforderungen angepasst werden, indem neue Funktionen hinzugefügt oder bestehende Funktionen modifiziert werden.
  • Durch die Nutzung von Platform-as-Service-Diensten ist eine erhöhte Ausfallsicherheit garantiert.

Nachteile

  • Ein Refactoring ist ressourcen- und kostenintensiver, da es komplexer ist als die Rehost-Strategie.
  • Es erfordert fortgeschrittene Kenntnisse des Codes, der Automatisierung und des DevOps Prozesses.
  • Ein falsches Refactoring bedeutet, dass evtl. viele Bereiche der Anwendung geändert werden müssen, sodass ein hohes Fehlerrisiko auf Code-, Konfigurations- und Infrastrukturebene besteht. Jeder Fehler kann zu Verzögerungen, erhöhten Kosten und möglichen Ausfällen führen.

Rebuild

Rebuild ist die Neuentwicklung der bestehenden Softwareapplikation als Cloud-native-Lösung. Sie ist die kosten- und zeitintensivste Migrationsstrategie – allerdings aber auch die mit Abstand beste, wenn es um die Ausnutzung aller Vorteile von Cloud-Computing geht.

Vorteile

  • Eine Cloud-native Lösung bietet Agilität, Skalierbarkeit, Zuverlässigkeit und bedarfsgerechte Ressourcen Nutzung.
  • Es bietet optimale Bedingungen für die Umsetzung eines DevOps-Prozesses.
  • Softwareupdates können wöchentlich, täglich, stündlich oder sogar nach abgeschlossener Funktion erfolgen.
  • Veraltete Technologien werden durch neue und moderne Technologien ersetzt.
  • Die neue Applikation bekommt nur die Funktionen, die sie tatsächlich benötigt.

Nachteile

  • Im Vergleich zu den anderen ist das Rebuild die Kosten- und zeitintensivste Strategie.
  • Es erfordert fortgeschrittene Kenntnisse des Codes, der Automatisierung, des DevOps Prozesses und von Cloud-Computing.
Icon: Rebuild

Replace

Icon: Replace

Die Replace- Strategie verfolgt den Ansatz, die bestehende Anwendung mit einer auf dem Markt bestehenden Software-as-a-Service-Lösung zu ersetzten.

Vorteile

  • Es ist keine Neuentwicklung oder Änderung der bestehenden Anwendung erforderlich.
  • Diese Strategie verspricht Zeit- und Kostenersparnis.

Nachteile

  • Individuelle Anpassungen sind entweder bedingt oder gar nicht möglich.
  • Die Applikation ist nicht individuell  entwickelt. Daher kann sie entweder weniger Funktionalitäten oder nicht benötigte Funktionalitäten aufweisen.

Mixed

Ein sehr beliebtes Verfahren ist die Rebuild/Rearchitect- und die Rehost- Strategie zu kombinieren. Das Rebuild/Reachitect erfolgt hier schrittweise, nachdem die alte Anwendung mit der Rehost-Strategie in die Cloud gebracht wurde. Es besteht eine Koexistenz der alten Anwendung und den neuen Microservices, die nach und nach Funktionen der alten Anwendung ersetzen. Die alte Anwendung bleibt dabei unberührt. Erfolgt eine Benutzeranfrage kann entweder auf das Altsystem weitergeleitet werden oder auf den neuen Microservice. Nachdem alle Komponenten aus der alten Anwendung als Microservices implementiert wurden, kann die alte Anwendung abgeschaltet werden.

Icon: Mixed

Die Software-Modernisierung ist kein leichtes Projekt und es bedarf einer gründlichen Voruntersuchung, um die passende Migrationsstrategie zu finden. Die Strategie kann sich dabei von Anwendung zu Anwendung unterscheiden und hängt von mehreren Faktoren ab. Nach der Migration in die Cloud profitieren Sie durch Agilität, Skalierbarkeit, höhere Zuverlässigkeit, schnellere Leistung und Reduzierung der Betriebskosten. Auf den Weg dahin sollten Sie die Komplexität und die aufkommenden Fallstricke nicht unterschätzen.

Nutzen Sie Expertenwissen, um Ihr Projekt zum Erfolg zu führen. Das Team von M&M berät Sie umfassend. Gemeinsam mit Ihnen entwickeln und realisieren wir die passende Strategie.

Kontakt

Dirk Stadtherr - Sales Manager
Dirk Stadtherr

Dirk Stadtherr

Sales Manager

Location: St. Georgen
E-Mail: dsr@mm-software.com
Tel.: +49 151 55334682