Unter Anwendungsmigration versteht man die Verlagerung einer Anwendung von einer Computerumgebung in eine andere. Sie könnten zum Beispiel eine Anwendung von einem Rechenzentrum in ein anderes, von einem lokalen Server in die Umgebung eines Cloud-Anbieters oder von der öffentlichen Cloud in eine private Cloud-Umgebung migrieren.
Da Anwendungen in der Regel für die Ausführung auf bestimmten Betriebssystemen in bestimmten Netzarchitekturen oder für eine einzelne Cloud-Plattform entwickelt wurden, kann das Verlagern einer Anwendung in eine neue Umgebung eine Reihe von Herausforderungen mit sich bringen. Es ist in der Regel einfacher, Anwendungen aus virtualisierten oder servicebasierten Architekturen zu migrieren als Anwendungen, die auf Bare-Metal-Hardware ausgeführt werden.
Bei der Festlegung einer Gesamtstrategie für die Anwendungsmigration müssen die Abhängigkeiten und technischen Anforderungen jeder einzelnen Anwendung sowie die Sicherheits-, Compliance- und Kostenvorgaben Ihres Unternehmens berücksichtigt werden.
Verschiedene Anwendungen können auf unterschiedlichen Wegen in die Cloud gelangen, selbst innerhalb derselben Technologieumgebung. Seit den Anfängen des Cloud-Computings haben Entwickler diese Anwendungsmigrationsmuster mit Namen bezeichnet, die fast alle mit „R" beginnen.
Rehosting: Bei dieser gängigen Strategie, die auch unter der Bezeichnung „Lift-and-shift“bekannt ist, verlagert das Unternehmen die Anwendung von einem lokalen Server auf eine virtuelle Maschine in der Cloud, ohne wesentliche Änderungen vorzunehmen. Das Rehosting von Anwendungen ist in der Regel schneller als andere Migrationsstrategien und kann die Migrationskosten deutlich senken. Der Nachteil ist, dass die Anwendungen nicht von cloudnativen Computing-Funktionen profitieren, sofern keine Änderungen an ihnen vorgenommen werden, und dass die langfristigen Kosten für den Betrieb in der Cloud am Ende höher sein können.
Refactoring oder Re-Architecting: Refactoring bedeutet, dass an der Anwendung erhebliche Änderungen vorgenommen werden, damit sie skaliert werden kann oder in einer Cloud-Umgebung besser funktioniert. Dies kann bedeuten, dass große Teile der Anwendung neu programmiert werden müssen, um die Vorteile der nativen Cloud-Funktionen besser nutzen zu können, z. B. die Umstrukturierung einer monolithischen Anwendung in eine Reihe von Microservices oder die Modernisierung des Datenspeichers von SQL auf NoSQL.
Replatforming: Eine Art Mittelweg zwischen Lift-and-shift und Re-Architecting. Dabei werden kleinere Änderungen an einer Anwendung vorgenommen, damit sie besser von der Cloud-Architektur profitieren kann. Beispiele hierfür sind das Aufrüsten der Anwendung für die Arbeit mit einer nativen, in der Cloud verwalteten Datenbank, das Ändern der Betriebssysteme oder der Middleware, mit denen die Anwendung arbeitet, oder das Containerisieren der Anwendung.
Außerbetriebnahme/Ersetzen: In einigen Fällen ist es einfach am sinnvollsten, die Anwendung außer Betrieb zu nehmen. Dies könnte darin begründet sein, dass der Nutzen der Anwendung begrenzt ist, dass ihre Funktionen an anderer Stelle in Ihrer Umgebung bereits vorhanden sind oder dass es kostengünstiger ist, die Anwendung durch ein neues Angebot – häufig eine SaaS-Plattform (Software-as-a-Service) – zu ersetzen, als die Migration durchzuführen.
Um die Anwendungsmigrationsstrategie zu entwickeln, die für die individuelle IT-Umgebung und die Geschäftsanforderungen Ihres Unternehmens am besten geeignet ist, müssen Sie genau verstehen, was sich in Ihrem Anwendungsportfolio befindet, welche Besonderheiten Ihre Sicherheits- und Compliance-Anforderungen haben, welche Cloud-Ressourcen Sie derzeit nutzen und wie Ihre lokalen Speicher-, Rechen- und Netzinfrastrukturen aussehen.
Damit eine Cloud-Migration erfolgreich ist, müssen Sie sich auch über die wichtigsten geschäftsrelevanten Einflussfaktoren im Klaren sein, die ihr als treibende Faktoren zugrunde liegen, und Ihre Strategie auf diese Faktoren abstimmen. Sie müssen sich bewusst sein, aus welchem Grund Sie in die Cloud migrieren und was Sie mit der Umstellung zu erreichen hoffen.
Im folgenden Video nimmt Andrea Crawford die Cloud-Migration genauer unter die Lupe:
Stakeholder befürchten möglicherweise, dass Anwendungsmigrationen zu Störungen des Geschäftsbetriebs oder zu unvorhergesehenen Kosten führen könnten. Dies sind die gängigsten Risiken:
Eine sorgfältige und detaillierte Bewertung der Risiken und Vorteile, die mit dem Rehosting, dem Re-Architecting/Replatforming oder dem Zurückziehen einer jeden Anwendung in Ihrem Portfolio verbunden sind, kann dazu beitragen, die mit der Anwendungsmigration verbundenen Gesamtrisiken zu mindern. Insbesondere ist es wichtig, die Kosten auf Abteilungsebene mit den Gesamtkosten für das Unternehmen zu vergleichen und die Gesamtbetriebskosten (TCO) der Hardware zu bewerten, die Sie warten müssen, um Anwendungen vor Ort zu betreiben.
In den vergangenen Jahren haben Unternehmen häufig versucht, Anwendungen in die Cloud zu verlagern, weil sie die Flexibilität, Skalierbarkeit oder kalkulierbare Kostenstruktur mit nutzungsbasierter Bezahlung wünschten, wie Cloud-Provider sie bieten.
Heute suchen die Unternehmen aber auch Umgebungen, die Innovation ermöglichen. Ob es sich dabei um den Zugang zu Hochleistungsprozessoren handelt, die für Deep-Learning-Algorithmen benötigt werden, oder um containerisierte Anwendungen, die es den Entwicklungsteams ermöglichen, das digitale Kundenerlebnis durch die schnelle Implementierung von Änderungen zu verbessern – Cloud-Technologien versetzen Unternehmen in die Lage, zu experimentieren, neue Ideen zu testen und schneller aus Fehlern zu lernen („fail faster"). In vielen Fällen ermöglichen es cloudfreundliche Technologien wie die Containerisierung, den Endbenutzern ein besseres Erlebnis zu bieten als die virtuellen Maschinen, die sie ersetzen können.
Generell lässt sich der Planungsprozess für die Anwendungsmigration in drei Phasen unterteilen. In jeder Phase ist es wichtig, die Kosten aller potenziellen Optionen abzuwägen, einschließlich der Entscheidung, bestimmte Workloads weiterhin lokal beizubehalten.
Anwendungsidentifikation und -bewertung. In dieser ersten Erkennungsphase sollten Sie zunächst sicherstellen, dass Sie über einen umfassenden Katalog aller Anwendungen in Ihrem Portfolio verfügen. Anschließend kategorisieren Sie die Anwendungen danach, ob sie geschäftskritische Bedeutung haben oder nicht kritisch für das Geschäft sind, ob ihr Wert strategisch oder nicht strategisch ist und welche Vorteile Sie von der Migration in die Cloud haben. Versuchen Sie, den Nutzen jeder Anwendung hinsichtlich der folgenden Merkmale zu ermitteln:
Anschließend sollten Sie für jede Anwendung, für die Sie eine Migration in Betracht ziehen, eine Bewertung der Cloud-Affinität durchführen. Im Verlauf dieses Prozesses können Sie bestimmen, welche Anwendungen sofort und unverändert einsatzbereit sind und welche erst durch erhebliche Änderungen cloudfähig gemacht werden müssen.
Sie können auch Tools zur Erkennung von Anwendungsabhängigkeiten nutzen, um die Durchführbarkeit der Migration einer bestimmten Workload außerhalb ihrer aktuellen Umgebung zu ermitteln.
Bewertung der Gesamtbetriebskosten (TCO). Die Ermittlung der Gesamtkosten für ein Cloud-Migrationsprojekt kann eine komplexe Aufgabe sein. Dabei müssen Sie „Was-wäre-wenn“-Szenarien für die Beibehaltung von Anwendungen und Infrastrukturen vor Ort mit denen für die Verlagerung in die Cloud vergleichen und gegeneinander abwägen. Dies bedeutet, dass Sie die Anschaffungs-, Betriebs- und Wartungskosten für die Hardware, die Sie in beiden Szenarien vor Ort warten würden, sowie die Kosten für die Lizenzierung von Software berechnen müssen.
Sie sollten die monatliche Rechnung, die Sie in beiden Szenarien von Ihrem Cloud-Anbieter erhalten würden, und die Kosten der eigentlichen Migration an sich vergleichen, einschließlich der Kosten für das Testen der neuen Infrastruktur und der Einarbeitung der Mitarbeiter in die aktualisierte Software. Berücksichtigen Sie dabei auch die Wartungskosten für die Bestandsanwendungen, die weiterhin lokal betrieben werden.
Schätzung des Gesamtrisikos und der Projektdauer. In der letzten Phase der Migrationsplanung legen Sie einen Zeitplan für das Projekt fest und ermitteln die Risiken und Hindernisse, auf die Sie sehr wahrscheinlich stoßen werden.
Im Allgemeinen gilt Folgendes: Je älter die Anwendung, desto schwieriger (und damit möglicherweise weniger lohnenswert) ist es, sie in die Cloud zu migrieren. Veraltete Software ist in vielerlei Hinsicht problematisch: Sie ist teuer in der Wartung, sie kann Sicherheitsprobleme verursachen, wenn sie nicht mehr gepatcht wird, und sie funktioniert in modernen Computerumgebungen in der Regel nicht optimal. Seien Sie bei der Bewertung Ihrer Bestandsanwendungen besonders gründlich, bevor Sie sich für deren Migration entscheiden.
Wenn Unternehmen die Eignung und Priorität einer Anwendung für die Migration beurteilen, berücksichtigen sie dabei die nachfolgend aufgeführten Aspekte.
Komplexität: Wo wurde diese Anwendung entwickelt? Falls die Anwendung intern entwickelt wurde, ist der Entwickler noch in Ihrem Unternehmen tätig? Ist die Dokumentation der Anwendung leicht zugänglich? Wie alt ist die Anwendung? Wie lange wird sie bereits genutzt? Wie viele andere Anwendungen oder Arbeitsabläufe in Ihrem Unternehmen sind in irgendeiner Weise von dieser Anwendung abhängig?
Kritikalität: Wie viele Nutzer sind täglich auf diese Anwendung angewiesen? Und auf wöchentlicher Basis? Wie viel Ausfallzeit wäre tolerierbar, bevor der Geschäftsbetrieb unterbrochen wird? Wird die Anwendung in der Produktion, in der Entwicklung, zu Testzwecken oder in allen drei Bereichen eingesetzt? Wird sie von einem internen IT-Team oder einem externen Anbieter verwaltet? Gibt es andere Anwendungen mit Anforderungen an die Betriebszeit/Ausfallzeit, die mit dieser Anwendung synchronisiert werden müssen?
Compliance: Welchen regulatorischen Anforderungen muss die Anwendung genügen?
Verfügbarkeit: Welche Betriebszeitstandards muss diese Anwendung erfüllen? Unterliegt sie zum Beispiel einem Service Level Agreement (SLA), das eine Verfügbarkeit von 99,99 % zur Auflage macht?
Tests
Um sicherzustellen, dass während des Anwendungsmigrationsprozesses keine Daten oder Funktionen verloren gehen, sollten Sie während der Migration Tests durchführen, um sich davon zu überzeugen, dass alle Daten vorhanden sind, dass die Integrität der Daten erhalten geblieben ist und dass sich die Daten jetzt am richtigen Speicherort befinden.
Darüber hinaus ist es unerlässlich, nach Abschluss der Migration Folgetests durchzuführen, um die Anwendungsleistung zu messen und sicherzustellen, dass die Sicherheitsmechanismen weiterhin vorhanden und wirksam sind.
Virtualisierung ist eine grundlegende Komponente in vielen Cloud-Migrationsstrategien, da virtuelle Maschinen problemlos in neuen physischen Hardwareumgebungen ausgeführt werden können. Es ist sogar möglich, eine Live-Anwendung, die auf einer virtuellen Maschine ausgeführt wird, zwischen physischen Host-Computern zu verschieben, ohne dass hierbei Unterbrechungen im Benutzererlebnis auftreten. Die Flexibilität und Vielseitigkeit virtueller Datenverarbeitungsumgebungen vereinfacht den Prozess der Anwendungsmigration deutlich.
Arten von Hypervisoren und Migrationsoptionen
Mehrere derzeit verfügbare Replikations- und Migrationslösungen ermöglichen es ihren Kunden, virtuelle Maschinen zwischen Bare-Metal-Servern, virtuellen Servern in der Cloud und sogar Hypervisoren zu migrieren.
Zur Unterstützung Ihres Unternehmens bei der Strategie, Planung und Durchführung einer erfolgreichen Cloud-Migration stehen viele Services zur Verfügung.
Blueprint für die Migration: Im Rahmen eines umfassenden Blueprint-Serviceangebots unterstützt Sie Ihr Anbieter bei der Klärung Ihrer Migrationsstrategie und -ziele, beim Sammeln von Informationen über Ihre Anwendungen und Ihre Umgebung, bei der Ermittlung der Bedürfnisse Ihrer Benutzer und Ihrer geschäftlichen Anforderungen sowie bei der Ausarbeitung eines detaillierten Aktionsplans für Ihre Migration.
Bereitstellung der Migration: Wenn Sie sich für eine verwaltete Bereitstellungsoption entscheiden, unterstützt Sie Ihr Anbieter nicht nur bei der Strategieentwicklung und Planung Ihrer Migration, sondern führt auch die Migration selbst und alle damit verbundenen Tests und Fehlerbehebungsmaßnahmen durch. Dabei handelt es sich in der Regel um ein gebrauchsfertiges Serviceangebot, das umfassenden End-to-End-Support umfasst.
Verwaltete Cloud-Services: Ein verwaltetes Cloud-Service-Angebot beinhaltet typischerweise die Überwachung und Wartung Ihrer cloudbasierten IT-Umgebung. Ihr Managed-Cloud-Service-Provider übernimmt dabei die Verantwortung für mehrere Funktionen, von der Verwaltung der Cloud-Sicherheit bis hin zur Beschaffung von As-a-Service-Angeboten von Anbietern in Ihrem Auftrag. Die Anwendungsmigration kann im Rahmen eines Dienstleistungspakets oder individuell (à la carte) angeboten werden.
Anwendungsmodernisierung: Services zur Anwendungsmodernisierung umfassen benutzerdefinierte Entwicklungsangebote, die Bestandsanwendungen zur Verwendung in der Cloud vorbereiten können, indem sie derart geändert werden, dass sie in Containern oder virtualisierten Umgebungen ausgeführt werden können.
IBM Cloud Migration Services unterstützt Sie bei der Cloud-Migration Ihres Unternehmens, damit Sie sich auf alles andere konzentrieren können.
Mit Cloud-Computing wird die IT-Infrastruktur zu einem Instrument, das es Ihnen ermöglicht, Rechenressourcen und Anwendungen über das Internet zu nutzen, ohne sie lokal installieren und warten zu müssen.
Cloud-Migration ist der Prozess der Verlagerung der Daten, Anwendungen und Workloads eines Unternehmens in eine Cloud-Infrastruktur.
Heute bezieht sich die Anwendungsmodernisierung in erster Linie auf die Umwandlung monolithischer Bestandsanwendungen in Cloud-Anwendungen, die auf einer Microservices-Architektur basieren.