Warum überhaupt in die Cloud?
Es gibt viele triftige Gründe Ihre aktuelle Datenhaltung in die Cloud zu verschieben oder für eine neue Unternehmung direkt die Arbeit in der Cloud zu beginnen. Dies kann in geringeren Kosten, besserer Performance, mehr Sicherheit etc. begründet sein. Jedoch wird heute von den verschiedenen Cloud Anbietern jeder dieser Aspekte in Superlativen beworben, was eine Unterscheidung auf dem Papier schwierig macht. Zudem handelt es sich um komplexe Produkte, wodurch die Auswahl einer Cloud Data Plattform nicht auf einfache Art und Weise möglich ist.
Annahmen
In diesem Artikel gehen wir davon aus, dass Sie bereits die Entscheidung getroffen, dass eine On-premises Lösung nicht (mehr) das Richtige für Ihr Unternehmen ist und Sie nun in die Cloud migrieren oder von Grund auf den Betrieb der Datenbanken in die Cloud verlegen wollen.
Weiterhin nehmen wir an, dass Sie sich für ein RDBMS (Relational Database Management System) entschieden haben und nicht für eine andere Art von Datenbanksystem (NoSQL), die noch mal besondere eigene Herausforderungen mit sich bringt.
Welche Arten von Cloud Datenbanken?
Eine Cloud-Datenbank ist nicht gleich eine Cloud-Datenbank. Es gibt verschiedene Varianten, die verschiedene Trade-offs hinsichtlich Kosten, Komplexität, Aufwand, Performance etc. mit sich bringen. Diese gilt es gegeneinander abzuwägen und eine Entscheidung aufgrund der eigenen Bedürfnisse zu treffen.
Cloud Datenhaltungstools kommen generell in drei verschiedenen Varianten vor: self-managed, semi-managed und fully-managed
Self-managed: Diese Variante einer Cloud Datenbank läuft meist in einer virtuellen Maschine bei einem Cloud-Anbieter und umfasst die Installation eines bekannten Datenbankanbieters. Die virtuelle Maschine kann dabei nach eigenen Vorstellungen skaliert werden und bietet viel Flexibilität. Dadurch ist allerdings auch der administrative Aufwand hoch und die Verantwortung liegt zum allergrößten Teil bei Ihnen. Es wurde primär von der zugrunde liegenden Hardware abstrahiert.
Semi-managed: Eine Semi-managed Cloud Datenbank läuft größtenteils noch immer in einer virtuellen Maschine bei einem Cloud-Anbieter. Diese wird jedoch zu großen Teilen bereits vom Anbieter gemanged. Dieser kümmert sich auch um die Installation der Datenbank selbst. Das Sizing des Clusters und die Kostenoptimierung liegen jedoch noch immer bei Ihnen. Der administrative Aufwand sinkt etwas.
Fully-managed: Bei einem fully-managed DBaaS (Database as a Service) handelt es sich um eine komplett vom Provider verwaltete Datenbank. Sie als Kunde haben auf das Sizing, Skalierung etc. keinen Einfluss mehr. Dadurch sind sie auch am wenigsten flexibel, haben aber auch den geringsten Aufwand hinsichtlich der Administration. Häufig schlägt sich dies auch im Preis nieder, jedoch muss dieser stets ganzheitlich betrachtet werden.
Definieren der wichtigsten Kriterien für Ihr Unternehmen
Zunächst einmal sollten die wichtigsten Fragen in den untenstehenden drei Kategorien beantwortet werden, die die Auswahl einer passenden Lösung im Weiteren leiten werden. Die Fragen sind nicht vollumfänglich und sollen primär als Denkanstöße dienen. Ihre Organisation hat ggf. noch weitere individuelle Kriterien.
- Wer greift auf die Daten zu?
- Sind es primär externe oder interne User?
- Erfolgt der Zugriff direkt oder via einer Applikation (Website, App etc.)?
- Welche Funktionen werden von den Nutzern verwendet?
- Erfolgt der Zugriff zu Peak Zeiten auf einmal oder über den Tag verteilt?
- Erfolgt der Zugriff primär lesend, schreibend oder beides?
- Wie sieht das Verhalten in der Zukunft aus? Wird es sich ändern?
- Kommen noch viele Nutzer hinzu oder bleibt der Nutzerkreis relativ stabil?
- Was für Belastungen gibt es?
- Wie groß ist der initiale Load?
- Wie groß sind die regelmäßigen Deltas?
- In welchem Zeitraum erfolgt der Delta-Load?
- Wie viele Anfragen erfolgen maximal parallel?
- Wie sind die Anfragen geografisch verteilt?
- Wie sind die Anfragen zeitlich verteilt?
- Wie verändert sich die Belastung in Zukunft?
- Welche Vorgaben gibt es?
- Was gibt es für regulatorische Vorgaben?
- Was gibt es für technische Vorgaben?
- Was gibt es für Vorgaben hinsichtlich Erreichbarkeit/Skalierbarkeit?
- Was gibt es für Performance Vorgaben?
- Welches Budget steht zur Verfügung für eine initiale Migration?
- Welches Budget steht zur Verfügung für den Betrieb?
- Welches Budget steht zur Verfügung für Anpassungen?
- Welche sonstigen Vorgaben gibt es aus der Organisation heraus?
Vergleich verschiedener Lösungen
Auf Basis der obigen Fragen und verschiedenen Dimensionen kommt nun der Punkt, die verschiedenen Anbieter miteinander zu vergleichen. Dabei sollte zunächst eine Longlist aller potenziellen Anbieter und im Weiteren durch das Ausschlussverfahren eine Shortlist der möglichen Lösungen erstellt werden.
Einen guten Startpunkt, welche Plattformen infrage kommen und wie sie auf den ersten Blick einzuordnen sind, geben Vergleichsservices, wie etwa G2.com.
Mit der entsprechenden Shortlist sollten dann jeweils Gespräche und Demos in Zusammenarbeit mit den jeweiligen Herstellern abgestimmt werden. Dabei ist es wichtig anhand der zuvor erarbeiteten Kriterien Test Cases zu entwickeln und diese direkt auf den Demo-Systemen zu benchmarken. Nur so ist ein objektiver Vergleich in der realen Welt und mit den tatsächlich relevanten Use-Cases zu gewährleisten.
Die Fragen und Gewichtungen der einzelnen Aspekte müssen von jedem Unternehmen selbst bestimmt und auf die jeweiligen Anbieter angewandt werden.
Folgende Punkte veranschaulichen, was für Unterschiede es im Detail bei den Anbietern geben kann:
- Was für Workloads sollen genau stattfinden? Sind es analytische Workloads mit vielen Aggregationen oder doch einzelne Zeilen Abfragen? Hier unterscheiden sich die Angebote verschiedener Anbieter stark.
- Bietet der Anbieter Cluster / Warehouses an, die heruntergefahren werden können, wenn sie nicht gebraucht werden und lassen sich damit größere Kosten sparen? Wenn ja, wie realistisch ist es, dass die Workloads wirklich zurück gefahren werden können?
- Welche Kosten fallen bei eingehendem und ausgehendem Netzwerkverkehr an? Wie viele Daten sind vorgesehen in welche Richtung zu transferieren?
- Wie schnell kann ein Anbieter unter verschiedenen Workloads wirklich skalieren? Erfahrungsgemäß gibt es je nach Art des Workloads und dem jeweiligen Anbieter große Unterschiede.
Entscheidung treffen
Die Ergebnisse in Bezug auf Performance, Kosten, Cluster-Größe etc. können dann in tabellarischer Form ausgewertet und mit Punkten hinsichtlich der Wichtigkeit in Ihrer Organisation gewichtet werden.
Die Entscheidung, welches System es am Ende wird, kann auf Basis der Punkteverteilung getroffen werden. Vor allem hinsichtlich der Kosten ist hier stets eine ganzheitliche Betrachtung im Sinne der Total Cost of Ownership wichtig.
Fazit
Die Auswahl eines Cloud Data Plattform ist ein komplexer Prozess mit vielfältigen Abhängigkeiten und Dimensionen, die es zu bedenken gilt.
Zum einen muss das Verhalten und die Menge der zukünftigen Nutzer abgeschätzt werden. Auf der anderen Seite muss abgesteckt werden, was für Belastungen es aktuell und in Zukunft geben wird, um Lösungen in mit einer angemessenen Skalier-Fähigkeit bereitstellen zu können. Am Schluss sind auch noch diverse Einschränkungen rechtlicher, organisatorischer, technischer etc. Natur mit einzubeziehen. Sobald alle Anforderungen genutzt wurden, um eine Shortlist zu erstellen folgt ein Benchmarking der Lösungen unter zuvor definierten Testfällen. Auf Basis der Resultate und der Total Cost of Ownership kann dann eine Entscheidung getroffen werden.