Die Verfügbarkeit und Verarbeitung von Daten ist für digitalisierte Unternehmen ein vitaler Bestandteil des täglichen Geschäftsbetriebs. Sämtliche Anwendungen, von der Personalverwaltungssoftware bis hin zum Onlineshop, sind mit Datenbanken verbunden und speisen ihre Prozesse aus deren Beständen. Brauchen Datenbankanfragen zu lange, geraten auch die Anwendungen, die auf diese zugreifen, ins Stottern. Nutzer oder auch Kunden bekommen dies durch Timeout-Fehler zu spüren.
Die Migration von Datenbanken aus dem eigenen Rechenzentrum in die Cloud bietet Unternehmen die Chance, den Zugriff performanter zu gestalten, IT-Prozesse effizienter zu strukturieren und langfristig flexibler agieren zu können. Derartige Vorteile lassen sich allerdings nur erzielen, wenn die Cloud möglichst effizient genutzt wird. Um dies sicherzustellen, sollten Unternehmen vor und während der Migration sicherstellen, dass sie die folgenden Punkte beachten:
1. Zentrale Funktionsanforderungen frühzeitig ermitteln
Für den Umzug in die Cloud – wie auch auf jede andere Plattform – gilt für Unternehmen: Sie müssen vorab prüfen, inwieweit zwischen dem alten und dem neuen System Diskrepanzen bestehen vorab zu identifizieren, um sie bestmöglich adressieren zu können. Beispielsweise kann es beim Wechsel von einem SQL Server zu einer SQL-Datenbank in der Cloud vorkommen, dass einige Eigenschaften der vorhandenen Datenbank von dem Anbieter der Cloud nicht unterstützt werden. Die rasche Weiterentwicklung von Cloud-Diensten sorgt zwar dafür, dass die Liste nicht unterstützter Elemente immer kürzer wird. Versäumen Unternehmen es allerdings, dies frühzeitig zu prüfen, kann dies erhebliche Schwierigkeiten im Geschäftsablauf nach sich ziehen. Bei der Auswahl eines geeigneten Cloud-Anbieters sollten die potenziellen Herausforderungen bereits in einem frühen Stadium geklärt werden.
2. Datenbanken bereinigen und effizient organisieren
Die Kostenvorteile in der Cloud sind bestimmt durch eine effiziente Nutzung des Speicherplatzes. Werden zum Beispiel veraltete Datenbankarchive, die in der Onpremises-Umgebung nahezu in Vergessenheit geraten sind, in die Cloud migriert, kann sich das Einsparpotenzial schnell in Luft auflösen. Was die Verwaltung von Datenbanken anbelangt, markiert die Cloud für Unternehmen einen Neuanfang: Um diesen reibungslos vollziehen zu können, müssen Datenbankadministratoren zunächst den Datenbestand in aufräumen, in dem sie entscheiden, welche aufbewahrt werden sollen und welche nicht mehr benötigt werden. Dadurch lässt sich nicht nur die Migration schneller vollziehen. Der Speicherplatz – und damit auch die Kosten – bleibt auf ein Minimum beschränkt. Die Dauer der einzelnen Datenbankabfragen kann damit so gering wie möglich gehalten werden, was das System äußerst flüssig arbeiten lässt.
Neben Effizienz sollten Unternehmen beim Bereinigen ihrer Daten auch dem Aspekt der Compliance besondere Aufmerksamkeit widmen. Unter Umständen gelten für manche Datenkategorien in der Cloud andere Vorschriften als bei der lokalen Speicherung. Fallen Datensätze zum Beispiel in den Geltungsbereich der DSGVO, spielt der Serverstandort des Cloudanbieters eine entscheidende Rolle. Im Zuge dessen muss auch geprüft werden, inwieweit das Schutzniveau für sensible Daten ausreichend ist oder ob zusätzliche Maßnahmen erforderlich sind.
3. Datenherkunft und -verarbeitungswege dokumentieren
Mit der Datenbereinigung ist unweigerlich eine umfangreiche Dokumentation verbunden. Die Erfahrungen aus der Praxis zeigen leider, dass diese nur in wenigen Unternehmen in ausreichendem Umfang betrieben wird. Steht die Migration in die Cloud an, ist eine umfangreiche Dokumentation, in der die Herkunft aller Daten im System dargelegt ist, hingegen von essenzieller Bedeutung. Es gilt zu klären, woher einzelne Daten stammen und welche Stationen sie seit ihrer Erstellung durchlaufen haben. Beispielsweise können Daten ihren Ursprung in einem POS-System haben, das Daten in Flat Files speichert, die dann jede Nacht auf einen SQL-Server mit Zwischenspeicherung verschoben werden. Anschließend werden die Daten bereinigt, transformiert und mit Hilfe eines Python-Programms vom Staging-Server in die Produktionsdatenbank übertragen. Schließlich werden die Daten in der Produktionsdatenbank verschoben und auf einem Data-Warehouse-Server aggregiert, wo die Endbenutzer ihre eigenen Berichte und Analysen ausführen können. Bei diesem beispielhaften System verfügt die Datenherkunft über eine Tiefe von vier Stufen beziehungsweise fünf, wenn man auch alle Endbenutzerberichte und -analysen mitzählt.
Hintergrund einer eingehenden Dokumentation ist die Frage, ob Daten vor der Migration in die Cloud modifiziert werden müssen – denn nicht alle Aspekte von On-Premises-gespeicherten Daten eignen sich für die Cloud. Sofern also Daten existieren, die besser weiterhin lokal aufbewahrt werden müssen, hilft die Dokumentation dabei, zu überblicken, welche Daten verschoben werden müssen und welche nicht.
4. Altes und neues System im Parallelbetrieb halten
Während der Migration selbst gibt es zwei Hauptaspekte zu berücksichtigen: Den ETL-Prozess (Extrahieren, Transformieren, Laden) der Daten und andererseits die Anwendungen, die beide parallel zwischen dem alten und dem neuen System betrieben werden müssen. Für ETL können Unternehmen die Daten auf das neue Cloud-System replizieren lassen, während die Benutzer noch in der lokalen Umgebung mit den vorhandenen Daten arbeiten.
Für die Anwendungen bestehen zwei Möglichkeiten. Die einfachste Variante wäre, in nur einem Schritt von der alten, lokal installierten Anwendung mit verbundener Datenbank auf die neue Cloud-Anwendung und der damit verbundenen Datenbank zu wechseln. In der überwältigenden Mehrheit der Fälle ist dies jedoch unmöglich. Daher müssen die DBA-Teams verstehen, wie ihre aktuellen Anwendungen konfiguriert sind, damit sie den Programmiercode für die Cloud neu schreiben können. Dabei muss jede Anwendungsschicht exakt repliziert werden. Häufig müssen sie neuen Code hinzufügen, um Cloud-native Funktionen ohne Einbußen nutzen zu können. Es ist für Datenbankadministratoren (DBAs) und die Mitarbeiter der Fachabteilungen, die die Anwendung verwenden, von entscheidender Bedeutung, die beiden Systeme im Anschluss gegeneinander zu testen, da einige lokale Anwendungen möglicherweise leicht hinter der aktualisierten Version, die für die Cloud neu geschrieben wurde, zurückbleiben oder leicht andere berechnete Werte liefern können.
5. Umfangreiches Testen vor Abschluss der Migration
Ein häufiges Problem bei Cloud-Migrationen ist, dass Teams ihr Cloud-System nach der Bereitstellung nicht überwachen und folglich erst nach Eintreffen der monatlichen Rechnung feststellen, dass sie die regulären Kosten dramatisch überschreiten. Sobald also das Cloud-System betriebsbereit ist, besteht die wichtigste Aufgabe darin, im Parallelbetrieb das neue System gegen das alte zu testen, um sicherzustellen, dass Abfragen und Transaktionen in beiden Systemen identische Ergebnisse liefern. Für eine bestimmte Übergangszeit sollten IT-Teams beide Systeme eingehend überwachen, eine Reihe an Tests durchführen und entsprechende Reports erstellen. Auch regelmäßige routinemäßige Tests – wie Monats-, Quartals- oder Jahresreports – sollten versuchsweise durchgeführt werden. Viele Berichtsprozesse erfordern während der Verarbeitung nämlich zusätzliche CPU, IO und Speicherplatz. Wird bereits in der Testphase geprüft, ob derartige Prozesse reibungslos klappen, können IT-Teams sicherstellen, dass sie am Ende eines Reportzeitraums in der Cloud keine bösen Überraschungen erleben. Erst wenn dieser Punkt erreicht ist, kann die endgültige Migration in die Cloud vollzogen werden.
Bei der Migration von Datenbanken in die Cloud, geht es im Wesentlichen darum, einen Fehler zu vermeiden: Davon auszugehen, dass alle lokalen Funktionen auch selbstverständlich in der Cloud verfügbar sind. Stattdessen müssen Unternehmen zunächst die Datenbankverwaltung auf dem bestehenden System eingehend evaluieren. Damit schaffen sie die geeigneten Voraussetzungen für eine gelungene Migration und einen reibungslosen Datenbankbetrieb aus der Cloud.
Von Kevin Kline, Principal Programme Manager, Sentryone