ADMIN

2022

02

2022-01-30T12:00:00

Cloudmanagement

TESTS

024

Datenbank

Couchbase Capella

Schnell startklar

von Christian Schulenburg

Veröffentlicht in Ausgabe 02/2022 - TESTS

Datenbanken hochverfügbar zu gestalten, ist immer einer Herausforderung – gerade wenn diese in der eigenen Umgebung laufen. Couchbase Capella möchte hier Abhilfe schaffen und stellt mit einer Database-as-a-Service ein zentrales Management zur Verfügung, das Datenbank-Cluster in der eigenen Azure- oder Amazon-Cloud anlegt und administriert. Wir haben uns angeschaut, wie einfach das von der Hand geht.

Couchbase ging 2011 aus den Produkten Membase und CouchOne hervor und wird von der gleichnamigen Firma mit Hauptsitz in den USA entwickelt. "Couchbase Server" ist bereits in der Version 7.0 erhältlich, während die Cloudvariante seit dem Jahr 2020 als Database-as-a-Service (DBaaS) verfügbar ist. Im Oktober 2021 wurde "Couchbase Cloud" in "Couchbase Capella" umbenannt und Letzteres haben wir in diesem Test genauer unter die Lupe genommen.
Couchbase Capella ist eine vollständig verwaltete NoSQL-Datenbank-as-a-Service für unternehmenskritische Anwendungen. Couchbase läuft dabei im eigenen AWS- oder Azure-Konto. Die Google-Cloud-Plattform soll demnächst ebenfalls unterstützt werden. Das Management erfolgt über die "Couchbase Capella Control Plane", die bei Couchbase gehostet wird und eine dauerhafte und sichere Verbindung zum Cloudanbieter herstellt. Cloudbase stellt dann beim Cloudprovider eine Virtual Private Cloud (VPC) bereit, in der die Cluster über verschiedene Verfügbarkeitszonen bereitgestellt werden. Seit dem Capella-Update im Oktober besteht weiter die Möglichkeit, Couchbase komplett in der AWS-Umgebung von Couchbase selbst zu betreiben, sodass auch die Ressourcen dort angesiedelt sind und der Anwender nicht seine eigene Cloudumgebung nutzt.
Gestartet haben wir unseren Test mit dem Juni-2021-Release. Während des Tests kam das Oktober-Update heraus, das die User Experience an einigen Stellen deutlich ändert. So wurde auch der Start eines Trials noch weiter vereinfacht und bei der Verbindung zum Cloudprovider werden direkt Projekt und Cluster im Couchbase angelegt. Waren zuvor Projekt- und Cluster-Name zu benennen, passiert dies nun automatisch. Ausführliche Releasenotes finden sich in der Dokumentation.
Couchbase ging 2011 aus den Produkten Membase und CouchOne hervor und wird von der gleichnamigen Firma mit Hauptsitz in den USA entwickelt. "Couchbase Server" ist bereits in der Version 7.0 erhältlich, während die Cloudvariante seit dem Jahr 2020 als Database-as-a-Service (DBaaS) verfügbar ist. Im Oktober 2021 wurde "Couchbase Cloud" in "Couchbase Capella" umbenannt und Letzteres haben wir in diesem Test genauer unter die Lupe genommen.
Couchbase Capella ist eine vollständig verwaltete NoSQL-Datenbank-as-a-Service für unternehmenskritische Anwendungen. Couchbase läuft dabei im eigenen AWS- oder Azure-Konto. Die Google-Cloud-Plattform soll demnächst ebenfalls unterstützt werden. Das Management erfolgt über die "Couchbase Capella Control Plane", die bei Couchbase gehostet wird und eine dauerhafte und sichere Verbindung zum Cloudanbieter herstellt. Cloudbase stellt dann beim Cloudprovider eine Virtual Private Cloud (VPC) bereit, in der die Cluster über verschiedene Verfügbarkeitszonen bereitgestellt werden. Seit dem Capella-Update im Oktober besteht weiter die Möglichkeit, Couchbase komplett in der AWS-Umgebung von Couchbase selbst zu betreiben, sodass auch die Ressourcen dort angesiedelt sind und der Anwender nicht seine eigene Cloudumgebung nutzt.
Gestartet haben wir unseren Test mit dem Juni-2021-Release. Während des Tests kam das Oktober-Update heraus, das die User Experience an einigen Stellen deutlich ändert. So wurde auch der Start eines Trials noch weiter vereinfacht und bei der Verbindung zum Cloudprovider werden direkt Projekt und Cluster im Couchbase angelegt. Waren zuvor Projekt- und Cluster-Name zu benennen, passiert dies nun automatisch. Ausführliche Releasenotes finden sich in der Dokumentation.
In einem bezahlten Plan stehen mittlerweile drei Versionen zur Verfügung: "Basis", "Developer Pro" und "Enterprise". Gegenüber der Basisversion bieten die Pro- und die Enterprise-Version Cross Data Center Replication (XDCR), Analytics, Multi-Cluster-Availability-Zonen und Sicherungen mit einem Intervall von bis zur vier Stunden. Die Versionen Developer Pro und Enterprise unterscheiden sich dann wiederum in der Verfügbarkeit des Supports. In der Pro-Variante ist eine Reaktionszeit von acht Stunden werktags garantiert, während in der Enterprise diese bei 30 Minuten für sieben Tage in der Woche besteht. Ein Uptime-SLA wird bei beiden Versionen mit 99,99 Prozent definiert, während dieses bei der Basisversion auf 99,5 Prozent reduziert ist.
Cluster-Vorbereitungen schnell erledigt
Das Testen von Couchbase ist sehr einfach möglich und für einen 45-tägigen Trial ist nur eine kurze Registrierung auf der Seite des Herstellers nötig. Damit besteht die Möglichkeit, Couchbase Capella auf einem Drei-Node-Cluster mit 50 GByte Speicher auszuprobieren. Die Kosten für den eigenen Cloudprovider kommen noch hinzu. Sollten Sie über kein Azure-Konto verfügen, lässt sich hier auch mit einem kostenlosen Account und einem Startguthaben von 200 US-Dollar loslegen. Testmöglichkeiten bietet ebenfalls AWS, unseren Test führen wir aber mit Azure durch.
Die Registrierung bei Cloudbase geht schnell vonstatten und im Anschluss ist die Anmeldung über "cloud.couchbase. com" möglich. Nach dem Login wurden wir über das Interface zunächst zur Einrichtung einer Verbindung zum Cloudprovider aufgefordert. Wir nutzten für unseren Test wie erwähnt Azure und hierfür waren zunächst einige Vorbereitungen in der Cloudplattform nötig. Zunächst mussten wir im Azure-Abonnement den Anbieter "Microsoft.ContainerService" als Ressourcenanbieter registrieren. Danach haben wir auf unserem Windows-10-Arbeitsplatz die Azure-Befehlszeilenschnittstelle (CLI) installiert und über die PowerShell mit az login angemeldet.
Nun haben wir Couchbase als Unternehmensanwendung registriert mit az ad sp create --id <ID>. Auf die eingerichtete Unternehmensanwendung "Couchbase Cloud" vergaben wir dann in Azure direkt Rechte für Couchbase selbst, damit sich die Couchbase-Cloud mit unserem Azure-Account verbinden konnte. Zum Abschluss musste im Azure-Abonnement der Nutzer, der die Verbindung zu Azure herstellt, mit Besitzerrechten ausgestattet werden. Das ganze Vorgehen ist für Azure und AWS in der Dokumentation ausführlich beschrieben, sodass dies keine große Hürde darstellte.
Waren im vorangegangenen Release noch ein Projekt- und ein Cluster-Name auszuwählen, entfällt dies wie erwähnt seit dem Oktober-Release. Ein Projekt und einen Cluster wurden in unserem Trial bei der Cloudeinrichtung direkt erstellt, abhängig von der Cloudverbindung. Wird der Cluster gelöscht, muss auch die Cloudverbindung entfernt und neu eingerichtet werden. Da der Trial auf einen Cluster beschränkt war, gab es keine Möglichkeit, die Bereitstellung über mehrere Cluster hinweg zu testen. Sofern die Managed-Cloud von Couchbase zum Einsatz kommt, geht die Einrichtung noch etwas schneller vonstatten. In diesem Fall sind beim Cloudprovider keine Vorbereitungen nötig und es wird erst gar nicht eine Cloud-Connection eingerichtet, sondern direkt der Cluster.
Bild 1: Die Couchbase-Nodes lassen sich in AWS oder in Azure ablegen. Die Google-Cloud-Plattform soll als weitere Option noch dazukommen.
Startschwierigkeiten
Die Verbindung zur Azure-Cloud ist schnell eingerichtet, doch stellte sich in unseren Test heraus, dass unser Cluster nicht in den Status "Healthy" wechselte und stattdessen im Status "Unhealthy" verblieb. In Azure konnten wir nachvollziehen, dass Ressourcen erstellt wurden. Weitere Hinweise suchten wir hier vergebens. Auch im Capella-Dashboard tauchten keine weiteren Fehlermeldungen auf. Zum Thema Troubleshooting gibt es in der Dokumentation nur einen kurzen Hinweis, der auf fehlende Rechte oder unzureichende Performance verweist – genauer lässt sich ein Fehler nicht eingrenzen. In der Benutzeroberfläche waren im Menüpunkt "Aktivitäten" dabei kaum Informationen zu finden und wir wurden an den Support verwiesen, der sich bei einem Trial auf das Couchbase-Forum beschränkt.
Im Rahmen unseres Tests haben wir den direkten Kontakt zum Anbieter gesucht und dieser konnte den Fehler in einer eigenen Umgebung nachvollziehen. In den Logs stellte sich heraus, dass nicht genügend Ressourcen in Azure vorhanden und deshalb bestimmte Limits erreicht waren. Infolgedessen wurden zwar die Quotas für "Regionale vCPUs gesamt" immer weiter erhöht, jedoch ohne Erfolg. Problematisch war dabei, dass wir das Cluster nicht einfach neu erstellen konnten, sondern auch die Cloudverbindung immer wieder neu einzurichten war.
Als dann auch noch die Cloudverbindung in einen Fehler lief und sich nicht mehr löschen ließ, war eine Webex-Session mit dem Support nötig, der zunächst die Verbindung im Hintergrund zurückgesetzt und mit dem wir dann den Cluster eingerichtet haben. Dabei überprüfte der Support im Hintergrund das Logfile. Die Quotas für "Regionale vCPUs gesamt" und "Standard FSv2-Familie vCPUs" wurden während der Cluster-Einrichtung hochgesetzt, was am Ende zu einem "Healthy"-Cluster geführt hat, mit dem wir unseren Test fortsetzen konnten.
Couchbase Capella
Produkt
Vollständig verwaltete Datenbank-as-a-Service.
Hersteller
Couchbase
Preis
Der Preis für einen Node startet bei 0,32 US-Dollar je Stunde in der Basisversion, steigt auf 0,40 Dollar für die Developer-Pro-Version und beträgt bis zu 0,65 Dollar in der Enterprise-Variante. Zu den Kosten für Couchbase kommen noch die Kosten der virtuellen Infrastruktur.
Systemanforderungen
Vorhandene Azure- oder AWS-Subscription.
Technische Daten
Warum es zu den Quotas keine weiteren Hinweise in der Dokumentation gibt, ist uns schleierhaft. Ein Grund könnte der Fokus des Anbieters auf AWS sein. Denn für die Amazon-Cloud gibt es hierzu Hinweise, doch fehlen diese für Azure gänzlich. Als problematisch sehen wir die Einrichtungsmöglichkeiten im Fehlerfall, denn uns waren die Hände gebunden und wir konnten nicht weiter agieren. Der Trial entspricht der Basislizenz mit einer definierten Anzahl von Cores, wodurch nur der Community-Support zur Verfügung steht, der an dieser Stelle nicht hilfreich war. Im Rahmen einer Versuchsumgebung wäre es angemessen, auch auf einen professionellen Support zugreifen zu können und direkte Unterstützung zu erhalten.
Bild 2: Im Cluster lässt sich nicht nur die Konfiguration anpassen, sondern hier sind im Bereich "Metrics" auch aktuelle Kennzahlen einzusehen.
Clusterverwaltung über Projekte
Nach der Einrichtung der Cloudverbindung und des Clusters bekamen wir nach der Anmeldung zunächst die Cluster-Übersicht angezeigt. Ein zentrales Dash-board vermissten wir an dieser Stelle. Die Oberfläche wirkt sehr aufgeräumt und das zentrale Menü auf der linken Seite setzt sich aus den Einträgen "Clouds", "Cluster", "Projects", "Users", "Activity", "Billing" und "API Keys" zusammen. Im unteren Bereich des Menüs gibt es noch einen Bereich, in dem die Unterstützung in den Punkten "Support", "Feedback", "Documentation" und "Getting Started" zusammengefasst ist.
Im Bereich der Clouds lassen sich in bezahlten Umgebungen weitere Connections aufbauen. Ist eine Verbindung eingerichtet, lässt sich diese nur löschen und die Eigenschaften prüfen. Letztere beziehen sich auf den Namen, den Status, den genutzten Provider, die Region und den CIDR-Block. Die Punkte "Cluster" und "Projekte" übernehmen die zentrale Steuerung der Umgebung. Innerhalb einer Organisation kommen Projekte zum Gruppieren und Organisieren von Couchbase-Clustern zum Einsatz. Eine Organisation kann eine beliebige Anzahl von Projekten und ein Projekt wiederum eine beliebige Anzahl von Clustern enthalten. Es ist dabei zwingend erforderlich, dass ein Cluster einem Projekt zugeordnet ist.
Über ein Projekt lassen sich dann die Rechte auf einem Cluster verwalten. Benutzer können auf die Cluster innerhalb eines Projekts zugreifen, sobald sie als Mitglieder des Projekts hinzugefügt wurden. Durch diese Untergliederung sind separate Umgebungen für Produktion und Entwicklung, Cluster nach Anwendung oder geografischem Standort oder unterschiedliche Sicherheits- und Datenverwaltungsrichtlinien auf Clustern möglich.
Im Punkt "Cluster" findet das Management des Clusters statt. Der Eintrag gliedert sich in verschiedene Unterpunkte. Über den Eintrag "Metric" erhalten Nutzer im Dashboard verschiedene Kennzahlen zum Cluster angezeigt. Das Dashboard war zunächst leer und über ein Template wurden die Kennzahlen für den "Data Service" hinzugefügt.
Im Unterpunkt "Configuration" werden die Services und Nodes und damit die Größe des Clusters definiert. In der Testumgebung ließen sich diese Einstellungen nicht anpassen. Grundsätzlich findet bei der Einrichtung eines Clusters ein kleines Cluster-Sizing statt. Hier unterstützen Vorlagen mit vordefinierten Cluster-Konfigurationen bei der Einrichtung. Ein individuelles Setup ist ebenfalls möglich. Ist ein Cluster definiert, lassen sich Änderungen an Hardware, Arbeitsspeicher und Speicher einfach vornehmen.
Ein "Bucket" ist eine Datenbank in Couchbase. In einem Cluster lassen sich mehrere Buckets anlegen und in den Eigenschaften lässt sich der Arbeitsspeicher je Node konfigurieren. Mehr Möglichkeiten sind an dieser Stelle nicht vorhanden, neue Datenbanken aber schnell eingerichtet.
Im Bereich "Connect" werden die externen Verbindungen zum Capella-Cluster konfiguriert. Dabei findet hier die Konfiguration der Zugriffspunkte für das Couchbase-Cluster wie auch der Rechte für den Datenbankzugriff statt. Im Bereich "Wide Area Network" lassen sich öffentliche IP-Adressen temporär oder dauerhaft erlauben. Darüber hinaus kann das Cluster in ein Virtual Private Network eingebunden werden. Um mit Anwendungen auf einen Bucket zuzugreifen, sind noch "Database Credentials" zu definieren. Neben Benutzername und Kennwort werden dabei auch die Rechte auf einen oder mehrere Buckets eingeräumt.
Testdaten schnell eingebunden
Neben den bereits erwähnten Einträgen bleibt im Bereich "Cluster" zum Schluss noch der Eintrag "Tools" mit den einzelnen Punkten "Documents", "Full Text Search", "Import", "Indexes", "Query Workbench" und "Maintenance". Gut gefallen hat uns, dass im Bereich "Import" verschiedene Testdaten zum Import bereitstehen. In der Dokumentation finden sich auch Beispielabfragen, um die Testdaten über die "Query Workbench" abzufragen.
Damit sind alle Untereinträge im Bereich "Cluster" kurz angerissen. Ein Punkt, der in der Testumgebung gefehlt hat, ist der Eintrag "Backup & Restore". Nach Rücksprache mit dem Support steht dieser nur in einer Vollversion zur Verfügung. Hier lassen sich dann Backuppläne konfigurieren, aber auch Wiederherstellungen durchführen.
Im Hauptmenü werden im nächsten Eintrag "Users" die Benutzer von Couchbase konfiguriert. Diese lassen sich in den Eigenschaften eines Projektes hinterlegen, um Zugriff zu erhalten. Parallel werden die Nutzer den Rollen "Organization Owner", "Project Creator", "Cloud Manager" und "Organization Member" zugeordnet. Anhand des Benutzers selbst lässt sich leider nicht nachvollziehen, auf welche Projekte dieser Zugriff hat.
Wie erwähnt gibt es auch für Couchbase ein einfaches Aktivitätenprotokoll im Bereich "Activity", über das wir einen Einblick in die Benutzeraktionen und die Clusteraktivitäten erhielten. Das Log soll auch weitere Empfehlungen liefern, um Cluster-Probleme zu beheben. Bei unseren Schwierigkeiten stellten sich die Informationen aber als sehr überschaubar heraus. Warum unser Cluster zunächst nicht laufen wollte, war hier zum Beispiel nicht zu erkennen. Hier wäre es schön, wenn Cloudbase etwas gesprächiger würde.
So urteilt IT-Administrator
Bewertung
Hochverfügbarkeit 10 Reporting und Monitoring 5 Sicherheit 7 Einrichtung 8 Dokumentation 6
Dieses Produkt eignet sich
optimal
für große Firmen, die auf der Suche nach einer performanten und hochverfügbaren Datenbank-as-a-Service sind.
bedingt
für Unternehmen, die bereits eine laufende Datenbankumgebung haben.
nicht
für Firmen, für die Cloudnutzung keine Option ist.
Ausbaufähiges Reporting
Insgesamt vermisst haben wir ein "Reporting". Es gibt zwar den Punkt "Metrics" im Bereich "Cluster", aber dieser zeigt nur die aktuellen Daten beziehungsweise Informationen für einen bestimmten Zeitraum an. Regelmäßige Berichte lassen sich hier nicht erstellen, geschweige denn abonnieren und zusenden. Auch eine Fehlerüberwachung gibt es im System nur eingeschränkt.
Die Nodes werden permanent durch Couchbase überwacht und im Fehlerfall schaltet sich der Support direkt ein – Informationen für die Nutzer waren lange nur eingeschränkt verfügbar. Hier zeigt sich die permanente Weiterentwicklung, denn das Alerting wurde zumindest in den letzten Releases verbessert. So werden nun Alerts auch am Cluster über einen Banner dargestellt und Nutzer lassen sich nun auch per E-Mail darüber informieren.
Für Kunden, die mehr Informationen benötigen und eine höhere Automation erwarten, stellt Couchbase eine Reihe von RESTful-APIs zur Verfügung. Diese ermöglichen es, Couchbase Capella in die eigene Umgebung stärker zu integrieren. Hierüber lassen sich zum Beispiel Benutzer aktivieren und deaktivieren oder Überwachungsinformationen von Clustern abrufen.
Fazit
Bis auf die ersten holprigen Setup-Schritte überzeugte Couchbase Capella im Test in Sachen Einfachheit. Leichter lässt sich eine hochverfügbare Datenbankumgebung kaum aufsetzen. Auch wenn der schwierige Start das Bild etwas trübt, richtet sich Couchbase Capella primär an Enterprise-Kunden, die derartige Limitierungen nur selten haben.
Auch wenn sich die Trial-Version ohne Kontakt zu Couchbase testen lässt, geht in einem Standardprojekt nichts an einer Betreuung durch Couchbase vorbei. Kunden sollten weiter direkt betreut und in der Definition der Umgebung unterstützt werden.
Wer sich also lieber auf die Datenbankentwicklung konzentrieren und eine hochverfügbare NoSQL-Datenbank einfach nutzen möchte, findet mit Couchbase Capella eine gute Anlaufstelle. Vor allem die Nutzung der herstellereigenen Cloudinfrastrukur wird für viele ein großer Pluspunkt sein.
(dr)