Auf dem Weg in die Public Cloud: Qual der Wahl bei der Applikations-Migration

Was ist der beste Migrationspfad für meine Applikationslandschaft?

Autor:  Daniel Albisser

Welche Unternehmen verwenden heute keine Public Cloud Dienste? Banken, Versicherungen bis hin zu Energieversorger und Industrie, alle verschieben ihre Applikationen in die Public Cloud. Die Gründe sind vielseitig: tiefere Kosten, mehre Flexibilität, Innovation, Sourcing, Skalierbarkeit usw. Wie und wieviel – das ist heute die Kernfrage beim Schritt in die Public Cloud.

Dieser Blog basiert auf dem Gartner Report «Decision Point for Choosing a Cloud Application Migration Strategy» von Eric Knipp und Richard Watson aus dem März 2016.

Der Grundsatzentscheid, in die Cloud zugehen, wurde bereits früher gefällt. Jetzt stellt sich die Frage, was ist der beste Migrationspfad für meine Applikationslandschaft? Bei der Migration von Applikationen in die Public Cloud gibt es verschiedene Strategien, die von Rehost bis hin zu Replace reichen. Auf die Frage, welche Strategie sich nun für meine Unternehmen am besten eignet, gibt es keine allgemeingültige Antwort – es kommt drauf an.

Die fünf Strategien

Bei der Applikationsmigration in die Public Cloud gibt es grob fünf Strategien: Rehost, Refactor, Rearchitect, Rebuild und Replace. Jede dieser Strategien erfordert Abstriche und ist für das Erreichen bestimmter Ziele mehr oder weniger geeignet. Das Mapping zwischen den verschiedenen Migrationsoptionen und Cloud-Tiers (IaaS, PaaS und SaaS) ist nicht eindeutig und abhängig vom Angebot jedes einzelnen Herstellers. Z.B. bietet Microsoft Dienste auf allen Cloud-Tiers an und lässt dadurch verschiedene Spielvarianten offen.

Public-Cloud_Abbildung1.png
Abbildung 1: Die verschiedenen Strategien für die Applikationsmigration in die Public Cloud entlang Cloud-Tiers

Die Rehost-Strategie ermöglicht wohl den schnellsten und direktesten Weg in die Cloud, doch ist wohl auch der am wenigsten ambitionierte. Rehost erlaubt begrenzte Möglichkeiten die Eigenschaften der Laufzeitumgebung der Applikation zu verbessern, und keine Möglichkeiten die zu Grunde liegenden Applikationsarchitektur für die Nutzung von Cloud-Fähigkeiten anzupassen.

Grösseren Nutzen von den Cloud-Fähigkeiten kann durch die Refactor- und Rearchitect-Strategien erzielt werden. Durch diese Strategien wird die der Applikation unterliegende Architektur für die Cloud-Nutzung optimiert oder sogar auf Cloud-native Funktionalitäten umgeschrieben.

Mit der Rebuild-Strategie werden Applikationen auf PaaS neugeschrieben oder mit der Replace-Strategie vollumfänglich durch SaaS-Applikationen ersetzt. Hierdurch können diese von Cloud-nativen Fähigkeiten profitieren und diesbezüglich den grössten Nutzen erzielen. Neben dem, dass man dadurch schneller wird, bezahlt man den Preis mit der erhöhten Abhängigkeit zum Cloud-Anbieter.

Die Qual der Wahl: die richtige Migrationsstrategie

Unternehmen die strategisch in die Cloud gehen, verfolgen eine Cloud-Strategie und haben deren Applikationen für die Migration in die Cloud priorisiert. Grundfragen bezüglich Sicherheit, Verfügbarkeit und Vertrauen wurden geklärt. Doch es stellt sich nach wie vor die Frage, was ist der beste Weg, um Applikationen in die Cloud zu verschieben und was sind die damit verbundenen Konsequenzen?

Folgend eine kurze Übersicht mit Beispielen, wann sich welche Migrationsstrategie am besten eignet; die folgende Aufzählungen der Gründe ist nicht abschliessend:

Rehost:

  • Rechenintensive Applikationen mit unregelmässiger Last (z.B. monatliche oder jährliche Spitzen), welche man einfach skalieren können muss.
  • Temporär genutzte Applikationen, für die keine Hardware beschafft werden soll.
  • Auslagerung von Entwicklungs- und Test-Umgebungen um Kosten zu sparen.

Refactor:

  • Auslagerung einer selbst geschriebenen Applikation, welche über eine reife Code-Basis verfügt, doch die Portabilität nicht gewährleistet ist. Wichtig ist auch, dass die Applikation einfach den Cloud-Gegebenheiten angepasst werden kann.

Rearchitect:

  • Wenn bei einer Applikation aufgrund neuer Anforderungen tiefgreifende Anpassungen vorgenommen werden müssen oder diese neue Cloud-Funktionalitäten voraussetzen.

Rebuild:

  • Die Applikation sollte Cloud-native aus PaaS neu entwickelt werden, wenn kürzere Time-to-Market und mehr Flexibilität im Zentrum stehen.

Replace:

  • «Commodity» Applikationen die ab Stange als SaaS Lösung verfügbar sind, sollten mit einer SaaS Lösung ersetzt werden.

Fazit: Fundierte Entscheide, keine Abkürzungen

Leider gibt es bei der Wahl der richtigen Migrationsstrategie keine allgemeingültige Antwort. Die richtige Strategie muss von Applikation zu Applikation entschieden und nicht strikt für das gesamte Applikationsportfolio angewendet werden. Es braucht klare Vorgaben und Entscheidungskriterien, welche die unternehmensspezifischen Cloud-Prinzipien verfolgen. Es braucht genügend Flexibilität um die beste Migrationsstrategie für jede Applikation zu wählen. Der Entscheid sollte fundiert gefällt werden, Abkürzungen gestützt auf früheren Erfahrungen sollten vermieden werden. Erfahrungsgemäss kosten diese Geld und Zeit!