Aus Kostengründen wollen viele Unternehmen ihre Anwendungen in die Cloud migrieren. Das konkrete Vorgehen ist jedoch oft unklar. Rubrik, Plattformanbieter für die Verwaltung von Cloud-Daten, hat einen Leitfaden dazu formuliert.
Grundsätzlich gibt es eine Vielzahl von Gründen, warum Unternehmen die Migration von Anwendungen in die Cloud anstreben. Die Beispiele reichen von Kosteneinsparungen über Anwendungsfälle der Notfallwiederherstellung (Disaster Recovery), Anpassung oder Modernisierung von Anwendungen, schnellerer Zugriff auf Ressourcen, bis hin zur Integration mit Software as a Service-Plattformen und Cloud-basierten Werkzeugen wie Amazon Relational Database Service, Azure App Services und Google Cloud Spanner.
Für die Migration einer Anwendung von einem lokalen Rechenzentrum an einen anderen Standort gibt es verschiedene Konzepte und Anforderungen. Der sekundäre Standort ist in der Regel ein Cloud-Provider. Viele der Konzepte gelten auch für die Migration zu einem Disaster-Recovery-Standort oder sogar zu einem Entwickler-Laptop. Im folgenden Beispiel bezieht sich Rubrik auf die Anwendung WordPress.
Die Anwendung verstehen
Die in die Cloud zu migrierenden Anwendungen können komplex sein. Angefangen von der Dokumentation bis hin zur Integration mit Geschäftsprozessen haben Administratoren einige Hausaufgaben zu erledigen. Sie müssen alle Aspekte der Anwendung dokumentieren und vollständig verstehen. Die Aspekte umfassen die Punkte Plattform, Anwendungszustand, Datenformat und -speicherung, Vernetzung, Sicherheit und Governance.
1. Die Plattform
Der erste Schritt ist das Verständnis der Anwendungsplattform. Hier sollten sich die Administratoren laut Rubrik zwei grundlegende Fragen stellen:
- Läuft die Anwendung auf einem dedizierten Bare-Metal-Server, auf einer Virtual Machine oder in einem Docker-Container?
- Welcher Hypervisor kommt für die Virtualisierung zum Einsatz?
Jedes dieser Szenarien stellt bei der Migration einen anderen Weg dar. Das WordPress-Beispiel besteht aus Virtual Machines auf Basis von VMware. Das stellt eine Herausforderung dar, wenn Unternehmen die Virtual Machines zu einem großen Cloud-Anbieter wie Amazon, Google oder Microsoft Azure verschieben wollen. Dieser Ansatz wird typischerweise als „Lift and Shift“ bezeichnet. Es steht eine Reihe von Tool-Sets zur Verfügung, um bestehende Virtual Machines in das Format des gewählten Anbieters zu konvertieren. IT-Manager sollten die Dokumentation für diese Tools gründlich durcharbeiten und sich auf einige Versuche vorbereiten.
2. Der 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. Die 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.
Im WordPress-Beispiel kommen Snapshot-basierte Backups über Copy Data Management zum Einsatz. Dies kann für Datenbanken problematisch sein, da ein Snapshot während des Schreibens erstellt werden kann, was bei der Wiederherstellung möglicherweise zu einer nicht funktionierenden Datenbank führt. Dieses Konzept wird auch als „Backup-Konsistenz“ oder „Snapshot-Konsistenz“ bezeichnet und ist besonders wichtig, 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 Snapshots auf Basis von Virtual Machines. 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 Datenbank MariaDB. Es gibt aber auch Sicherungsmethoden für gängige Unternehmensdatenbanken wie Microsoft SQL und Oracle, um dieses Problem zu lösen.
Anzeige | Kostenloses Webinar der Trovarit-Academy
3. Vom Datenformat bis zur Datenspeicherung
Hat der Administrator ein Verständnis für die Anwendung und deren Zustand entwickelt, ist es an der Zeit, sich die Masse der Anwendung anzusehen. Hierbei empfiehlt Rubrik drei Leitfragen:
- Wie viele Daten müssen mit der Anwendung übertragen werden?
- Wie hoch sind die Kosten für Konnektivität und die Speicherkosten für Migration und Betrieb?
- Müssen alle Daten verschoben werden oder reicht eine Teilmenge aus?
Diese Berechnungen helfen, den Aufwand und die Kosten für das Verschieben der Anwendung zu ermitteln. Ein weiteres zu berücksichtigendes Konzept ist das der ‚Datengravitation‘, also die Vorstellung, dass Daten Masse haben. Mit zunehmender Datenmenge werden zusätzliche Anwendungen und Services angezogen, die 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 zusätzliche Kosten und erhöht die Komplexität.
4. Technologie und Konfiguration der Vernetzung
Die im Beispiel genutzte Anwendung WordPress stellt eine sehr einfache und unkomplizierte Netzwerkinstallation dar:
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. Sind Netzwerkgeräte wie Load Balancer im Einsatz, 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.
5. Richtlinie für Sicherheit und Compliance
Das letzte Stück der vorbereitenden Gedankenspiele betrifft den Bereich Sicherheit und Compliance. Rubrik empfiehlt hier zwei Leitfragen:
- Gelten für die Anwendung oder deren Daten Data-Governance-Gesetze oder Compliance-Vorschriften? Wenn ja, können diese Regelungen den Ort der Datenspeicherung bestimmen?
- Gibt es eine klar definierte Sicherheitsrichtlinie für die Anwendung? Wenn nicht, sollte dies sofort nachgeholt werden.
Die Sicherheitsrichtlinie sollte alle Sicherheitsanforderungen für die Anwendung definieren, einschließlich Authentifizierung, Autorisierung, rollenbasierte Zugriffskontrolle, Firewall-Regeln und Verschlüsselungsanforderungen. Gibt es bereits eine Richtlinie, so ist festzulegen, was geändert werden muss, wenn die Anwendung verschoben wird. Die Durchsetzung von Sicherheitsrichtlinien bei einem Cloud-Provider erfordert ein hohes Maß an Recherche und Planung.
Empfehlenswert ist es, sich zu Beginn des Planungsprozesses mit den Sicherheits- und Compliance-Teams abzustimmen. Sind diese von Anfang an Teil des Projekts, können sie für die Planung wertvolle Ratschläge beisteuern. Niemand will Zeit in die Planung einer Anwendungsmigration stecken, nur um sie später aus Sicherheits- oder Compliance-Gründen abzubrechen.
Die Zielplattform verstehen
Was den Aufwand betrifft, wird es immer einfacher sein, eine Anwendung an ein Ziel zu migrieren, das einen ähnlichen Technologie-Stack verwendet als einen, der sich deutlich unterscheidet. Das vorliegende WordPress-Beispiel läuft unterVMware und hat das Problem, das keiner der großen Cloud-Anbieter einen nativen VMware Hypervisor anbietet. Dies kann dazu führen, dass der Anwendungsbesitzer einen der vielen kleineren Anbieter in Betracht ziehen muss, die so etwas im Portfolio haben. Für große Anwendungsfälle ist VMware Cloud auf Amazon Webservives eine Alternative. Die großen Clouds bieten attraktive Preise, eine hohe Konnektivität und viele Add-On-Services, so dass es sich oft lohnt, den Wechsel vorzunehmen.
Die Migration von Virtual Machines in die Cloud ist ein einfacher Weg, um sich mit der Oberfläche und den Tools vertraut zu machen. In einigen Fällen werden die Unternehmen laut Rubrik aber gezwungen sein, Cloud-native Prinzipien zu übernehmen. Cloud-native Anwendungen werden von Grund auf neu entwickelt, um die Vorteile von Cloud-Computing-Funktionen zu nutzen. Sie basieren teilweise oder ganz auf der Zwölf-Faktor-Anwendungsmethodik für webbasierte Anwendungen. Ein vollständiges Refactoring der Anwendung auf eine Cloud-native Architektur ist eine Option für die Migration, ist aber manchmal aber aus zeitlichen oder finanziellen Gründen nicht möglich. Im Rahmen der Migration der Virtual Machines kann das Unternehmen einige Cloud-basierte Prinzipien im eigenen Tempo übernehmen.
Dynamische statt statischer IP-Adressen
Die erste große Veränderung für die meisten Unternehmen ist die Umstellung von Virtual Machines mit statisch zugewiesenen IP-Adressen auf dynamische Adressen, die über DHCP (Dynamic Host Configuration Protocol) zugewiesen werden. Um sich mit Virtual Machines und den dazugehörigen Diensten zu verbinden, kommen DNS-Einträge (Domain Name System) zum Einsatz. Die großen Cloud-Anbieter generieren DNS-Einträge für Virtual Machines und verwaltete DNS-Angebote, die Administratoren über eine Programmschnittstelle verwalten können.
In einer traditionellen Umgebung ist es kein Problem, eine IP-Adresse in den Konfigurationsdateien für MariaDB oder WordPress fest zu codieren. Auch WordPress wurde auf diese Art im Labor konfiguriert. Bei der Migration der Virtual Machines zu Amazon Web Services wurden die Konfigurationsdateien angepasst, um die für jede Virtual Machine erstellten DNS-Einträge zu verwenden.
Für eine große Produktionsumgebung ist dies ein perfekter Anwendungsfall, um die Automatisierung zu nutzen. So können Unternehmen beispielsweise programmgesteuert DNS-Einträge erstellen, die auf ihre Cloud-basierten Virtual Machines verweisen. Hätte man die DNS-Einträge so gestaltet, dass die Hostnamen in der Laborumgebung und in Amazon Web Services gleich sind, wären keine Konfigurationsänderungen erforderlich gewesen. Das Domain Name System ist flexibler als fest programmierte IP-Adressen, aber es erfordert eine zusätzliche Planung.
Netzwerkplanung und -überlegungen
Netzwerkkonfigurationen wie Routing, Firewall-Regeln, Network Address Translation, Virtual Private Networks und Load Balancing erfordern ebenfalls ein gutes Stück Planung, um sicherzustellen, dass sie den Geschäftsanforderungen entsprechen. Alle notwendigen Teile sind verfügbar, aber die Implementierung sieht anders aus und fühlt sich anders an als in einer traditionellen Umgebung.
Da Cloud-Provider-Netzwerke vollständig softwaredefiniert sind, gibt es keine zentrale Firewall oder Load Balancer zu konfigurieren. Allerdings ist die Menge der Ressourcen in Bezug auf Netzwerk-Präfix-Routen, öffentliche IP-Adressen oder VPN-Tunnel (Virtual Private Network) im Standard begrenzt. Unternehmen sollten die vom Cloud-Anbieter vorgegebenen Limits kennen und wissen, wie sie bei Bedarf das Limit erhöhen können.
Sind die Virtual Machines migriert und verschiedene Netzwerk- und Sicherheitsfunktionen konfiguriert, gelangt das Unternehmen laut Rubrik an eine Weggabelung. Es sei möglich, die Anwendung in der Cloud so zu belassen, wie sie ist. Der Administrator könne auch zusätzliche Dienste des Anbieters evaluieren, um Geld zu sparen oder den Verwaltungsaufwand zu reduzieren. Datenbanken seien ein gutes Beispiel für einen Cloud-Service. Warum sollte ein Unternehmen MariaDB in einer Virtual Machine betreiben, wenn sich die Daten zu geringeren Kosten in eine kompatible verwaltete Datenbank importieren lassen? Der Datenbank-Service ist ein Beispiel für viele ähnliche Dienste der Cloud-Anbieter.
Cloud Data Management lindert Migrationsbeschwerden
Dieser Beitrag betrachtet einige wichtige Punkte, die bei der Migration von Anwendungen in die Cloud zu beachten sind. Diese Migration hat vielerlei Probleme, und Cloud Data Management kann einen Großteil davon elegant lösen.
Im Ausgangsbeispiel fiel die Entscheidung für die Plattform Rubrik CloudOn, um eine WordPress-Anwendung auf Amazon Web Services zu migrieren. Abgesehen von den oben genannten Änderungen an der Konfigurationsdatei hätte es nicht einfacher sein können. Die Virtual Machines wurden dem entsprechenden Service Level Agreement hinzugefügt und die Cloud-Konvertierung aktiviert. Nachdem die Snapshots auf Amazon Web Services repliziert und die Konvertierung von VMware VM zu Amazon AMI abgeschlossen war, ließ sich jede Virtual Machine in der AWS Virtual Private Cloud starten.
Insgesamt stellt diese Variante eine gute Option dar für Unternehmen, die einen praktikablen Weg in die Cloud suchen. Unerlässlich ist es, dass Administratoren die betreffende Anwendung ebenso verstehen wie die Änderungen, die für die Cloud-Migration erforderlich sind. In Kombination mit der umfassenden Automatisierung und den Ressourcen von Rubrik Build können sie dann eine maßgeschneiderte Lösung entwickeln. Jürgen Frisch