Tipps für die Migration von Anwendungen in die Cloud

Im Zeitalter sinkender Kosten für Cloud-Computing und von Hybrid-Cloud-Infrastrukturen versuchen viele Unternehmen, einen Weg zu finden, ihre Anwendungen in die Cloud zu migrieren. Allerdings ist das konkrete Vorgehen vielen Unternehmen noch weitgehend unklar.

Rubrik hat deshalb zentrale Schritte, Aspekte und Fragestellungen zusammengefasst, die Unternehmen als Leitlinien helfen sollen. Grundsätzlich gibt es eine Vielzahl von Gründen, warum Unternehmen die Migration von Anwendungen in die Cloud anstreben:

Anzeige
  • Potenzielle Kosteneinsparungen
  • Anwendungsfälle der Notfallwiederherstellung (Disaster Recovery)
  • Anpassung oder Modernisierung von Anwendungen
  • Zugriff auf Ressourcen
  • Integration mit SaaS-Plattformen oder neuen Cloud-basierten Tools (z.B. Amazon RDS, Azure App Services und Google Cloud Spanner)

Es gibt verschiedene Konzepte und Anforderungen, die für die Migration einer Anwendung von einem lokalen Rechenzentrum an einen anderen Standort erforderlich sind. Dieser sekundäre Standort ist in der Regel ein Cloud-Provider, aber viele der Konzepte gelten für die Migration zu einem Disaster-Recovery-Standort oder sogar zu einem Entwickler-Laptop. In diesem Beispiel wird eine der gängigsten dreistufigen Anwendungen herangezogen: WordPress.

Die Anwendung verstehen

Anwendungen können komplex sein. Angefangen von der Dokumentation bis hin zur Integration mit Geschäftsprozessen, gibt es einige Hausaufgaben zu erledigen. Alle Aspekte der Anwendung gilt es zu dokumentieren und vollständig zu verstehen, einschließlich:

  • Plattform
  • Anwendungszustand
  • Datenformat und -speicherung
  • Vernetzung
  • Sicherheit und Governance

Plattform

Der erste Schritt ist das Verständnis der Anwendungsplattform. Zwei grundlegende Fragen, die man sich stellen könnte, wären:

Anzeige

1. Läuft die Anwendung auf einem dedizierten Bare-Metal-Server, auf einer VM oder in einem Docker-Container?

2. Welcher Hypervisor wird für die Virtualisierung verwendet?

Jedes dieser Szenarien stellt bei der Migration einen anderen „Weg“ dar. Das WordPress-Beispiel besteht aus VMware-basierten VMs, was eine kleine Herausforderung darstellt, wenn wir sie aufgrund von Hypervisor-Inkompatibilität zu einem großen Cloud-Anbieter (z.B. AWS, GCP oder Azure) verschieben wollen. Dies wird typischerweise als „Lift and Shift“-Ansatz bezeichnet. Es steht eine Reihe von Tool-Sets zur Verfügung, um bestehende VMs in das Format des gewählten Anbieters zu konvertieren. Es gilt die Dokumentation für diese Tools gründlich zu durchdenken und auf einige Versuche vorbereitet zu sein.


Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

WEBINAR AM 4. JULI 2019, 10-11 UHR

WIE SIE DATENBANKSYSTEME LEICHTGEWICHTIG IN DIE CLOUD MIGRIEREN

webinar wie komme ich in die cloud keyvisuak gross 160

Wie komme ich in die Cloud? – Wie Sie Datenbanksysteme leichtgewichtig in die Cloud migrieren und warum Sie damit nicht länger warten sollten, erfahren Sie in diesem Webinar von den Infrastrukturexperten Nadjibullah Rajab und Christian Ballweg, Opitz Consulting. Dieses kostenfreie Webinar findet am Donnerstag, 4. Juli 2019 von 10 bis 11 Uhr statt.

>> JETZT ANMELDEN

 


Anwendungszustand

Das nächste zu verstehende Prinzip ist der Anwendungszustand. Dieser hat je nach Anwendungsverhalten oder Framework unterschiedliche Definitionen, steht aber im Allgemeinen für die Orte, an denen die Anwendung Informationen speichert. Der Status kann eine Reihe von Dingen darstellen: Konfigurationseinstellungen, Inhalt des Warenkorbs, Produktbestellungen oder ein Blogbeitrag und Kommentare. Ohne diese Daten ist die Anwendung wie eine leere Tabelle mit geringem Wert. Diese Daten müssen zusammen mit der Anwendung übertragen werden, sonst fängt man bei Null an. Häufig, wie beim WordPress-Beispiel, wird der Zustand in einer Datenbank vorgehalten.

Cloud

Datenbanken nutzen verschiedene Methoden, um zustandsbehaftete Daten zu verschieben (z.B. Replikation, Backup/Restore), so dass die Methode zu wählen ist, die am besten zum Anwendungsfall passt. Für unser WordPress-Beispiel werden Snapshot-basierte Backups über Copy Data Management eingesetzt. Dies kann für Datenbanken problematisch sein, da ein Snapshot mitten unter dem Schreiben erstellt werden kann, was bei der Wiederherstellung zu einer nicht funktionierenden Datenbank führen kann. Dieses Konzept wird auch als „Backup-Konsistenz“ oder „Snapshot-Konsistenz“ bezeichnet und ist besonders wichtig zu verstehen, wenn eine Snapshot-basierte Sicherungsmethode verwendet wird.

Um konsistente Backups für zustandsabhängige Anwendungen wie Datenbanken zu erhalten, muss möglicherweise ein Agent auf dem Betriebssystem installiert werden oder es werden Pre- und Post-Snapshot-Skripte verwendet. Dieses Prinzip gilt sowohl für Storage-Array-basierte Snapshots als auch für VM-basierte Snapshots. Eine Möglichkeit, dies zu beheben, besteht darin, ein Pre-Snapshot-Skript zum Sperren der Datenbanktabellen und ein Post-Snapshot-Skript zum Entsperren zu verwenden. Dies ist eine praktikable Lösung für eine einfache MariaDB-Datenbank, aber es gibt auch anwendungsfähige Sicherungsmethoden für gängige Unternehmensdatenbanken wie Microsoft SQL und Oracle, um dieses Problem zu lösen.

Datenformat und -speicherung

Sobald ein Verständnis für die Anwendung und deren Zustand entwickelt wurde, ist es an der Zeit, sich die „Masse“ Ihrer Anwendung anzusehen.

1. Wie viele Daten müssen mit der Anwendung übertragen werden?

2. Wie hoch sind die Kosten für Konnektivität und Speicherkosten für Migration und Betrieb?

3. Müssen alle Daten verschoben werden oder reicht eine Teilmenge aus?

Diese Berechnungen helfen, den Aufwand für das Verschieben der Anwendung zu ermitteln und wie viel es kosten wird, wenn sie verschoben wird. Ein weiteres zu berücksichtigendes Konzept ist das der „Datengravitation“. Dies steht im Zusammenhang mit der Vorstellung, dass Daten Masse haben. Mit zunehmender Datenmenge werden zusätzliche Anwendungen und Services angezogen, die immer schwieriger zu bewegen sind. Zu bedenken ist, dass das Verschieben einer kritischen Geschäftsanwendung mit jahrelang gesammelten wichtigen Daten über mehrere verwandte Anwendungen hinweggehen kann, die darauf angewiesen sind. Es ist vielleicht möglich, einige Anwendungen an verschiedenen Orten aufzubewahren, auch wenn sie auf dieselben Daten angewiesen sind, aber dies verursacht Kosten, ganz zu schweigen von der zusätzlichen Komplexität.

Vernetzung

Betrachtet man das WordPress-Beispiel, das eine sehr einfache und unkomplizierte Netzwerkinstallation darstellt.

Im Gegensatz dazu stehen Legacy-Anwendungen, die aus Dutzenden oder Hunderten von Servern oder Anwendungen ohne gut dokumentierte TCP/UDP-Portnutzung bestehen. Es ist offensichtlich, dass die Planung, um eine große oder schlecht dokumentierte Anwendung zu verschieben, schnell außer Kontrolle geraten kann. So ist ein solides Verständnis dafür nötig, wie die Anwendung kommuniziert und welche Ports sie zur Kommunikation verwendet. Wenn Netzwerkgeräte im Einsatz sind, wie z.B. Load Balancer, sollte geprüft werden, wie eng sie mit der Anwendung gekoppelt sind und ob es einen praktikablen Ersatz am Zielort für die Anwendung gibt.

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.