Datenbank: Astra hebt mit Kubernetes Apache Cassandra in die Cloud
DataStax bringt das NoSQL-Datenbanksystem mit dem verwalteten Dienst Astra in die Cloud – als Kubernetes-basierten Database-as-a-Service.
- Silke Hahn
Mit dem neuen verwalteten Dienst Astra bringt DataStax das unter dem Dach der Apache Software Foundation verwaltete Projekt der NoSQL-Datenbanksystem Cassandra in die Cloud. Astra ist als vollständig verwalteter Service nun allgemein verfügbar und soll bei AWS sowie in der Google Cloud laufen, eine Anbindung für Azure ist offenbar in Arbeit.
Bereits vor einem Jahr hatte das Unternehmen das Projekt angekündigt, damals noch unter dem Namen Constellation. Mit der Betaversion im Herbst 2019 tauften die Entwickler Cassandras Cloud-Distribution um zu Astra (was auf Griechisch und Latein "Sterne" heißt).
Griff nach den Cloud-Sternen mit Kubernetes
Dabei schwebt dem Unternehmen nach eigenen Angaben nichts Geringeres vor, als Cassandra "zur besten Open-Source-, Scale-out- und Cloud-nativen Datenbank der Welt" zu machen. Für den Moment setzt DataStax dabei voll auf Kubernetes und gibt sich mit Blick auf andere Anbieter kämpferisch. Astra basiere auf Kubernetes, die Erfahrungen mit Kubernetes-Operatoren für Cassandra seien in die Entwicklung eingeflossen.
Die Architektur des Service stehe auf den vier Säulen Gateway, Operations, Management und Deployment. Astra nutze den Open Source Service-Proxy Envoy, um Cassandras Traffic zu empfangen. Die Reduktion auf eine einzige Ingress-IP sei typisch für Cloud-native Konfigurationen und führe zu einem gut erreichbaren, elastischen Backend. Eine begrenzte Zahl von Ports soll die Sicherheit erhöhen. Den Gateway verwendet Astra offenbar auch, um Entwicklern über die REST- und GraphQL-APIs Zugriff zu verschaffen.
Kontinuierliches Testing und Deployment
Die Clusteroperationen verlaufen offenbar automatisiert, was Astra mit einem Kubernetes-Operator für Cassandra (Cass Operator) und dazu passender Management-API bewerkstellige. Für die Verwaltung greife der Dienst auf einen Metrics Collector für Apache Cassandra (MCAC) zu, dessen Funktionen mit Kubernetes und Cloud-Umgebungen kompatibel seien. MCAC erstelle mit collectd
Logs der Metriken und Ereignisse im Lebenszyklus (flushes, compactions, exceptions und garbage collection). Die metrische Komponente ist wichtig, um Prozesse der Datenbank in Echtzeit zu verfolgen.
Das Deployment findet laut Anbieter kontinuierlich in einer Kubernetes-Umgebung statt. Mit einem Tool zum Erstellen von Konfigurationen steuere Astra die NoSQLBench für kontinuierliches Testen der Umgebung. Der verwaltete Cloudservice solle laut Anbieter durch Automatisierung und Verwaltung die technischen Hürden verringern, die ein selbst verwaltetes Deployment der Datenbank mit sich bringt. DataStax habe Astra einige "Leitplanken" eingebaut, die versehentlich falsches Konfigurieren verhindern sollen, erklärte Matt Kenedy, Senior Director der Cloudsparte von DataStax, gegenüber der Presse.
Technischer Hintergrund
Das einfache, verteilte Datenbankverwaltungssystem Cassandra ist auf große strukturierte Datenmengen ausgelegt und repliziert Daten automatisch auf Nodes. Die Replikation wird dabei dezentral über mehrere Datencenter verteilt, was das Ausfallrisiko verringern soll – das Prinzip verteilter, dezentraler Speicherung verfolgen auch andere Datenbanksysteme wie MongoDB oder ScyllaDB, von der unlängst Version 4.0 erschienen ist. Hohe Skalierbarkeit und Datenverfügbarkeit stehen im Zentrum.
Andere Service-Anbieter dürften zunächst noch einen Vorsprung haben. Nutzerfeedback habe gezeigt, dass "Cassandra-as-a-Service" Kubernetes braucht – aber umgekehrt brauche auch Kubernetes Cassandra, meint Sam Ramji von DataStax im Blogeintrag zur Veröffentlichung. Die Zukunft von Apache Cassandra sei auf jeden Fall Cloud-native.
Mehr Informationen zu den technischen Hintergründen von Astra stehen in den Release Notes. Weitere Hinweise lassen sich auf der Website von DataStax Astra finden. (sih)