Don't Do it yourself

Automatisierung mit autonomen Datenbanken

16.11.2023
Von 
Gregor Bauer ist Manager Solutions Engineering CEUR bei Couchbase
IT-Infrastrukturen werden immer größer und komplexer. Ohne einen höheren Automatisierungsgrad ist die damit verbundene Aufgabenfülle kaum mehr zu bewältigen – und die fängt bei der Datenbank an.
Je höher der Automatisierungsgrad einer Datenbank, desto weniger Administrationsaufwand.
Je höher der Automatisierungsgrad einer Datenbank, desto weniger Administrationsaufwand.
Foto: Tee11 - shutterstock.com

Autonome Datenbanken sind ein kleiner, aber wichtiger Teil des Megatrends zur immer stärkeren Automatisierung vieler Aufgaben, Workflows und Prozesse. Die Gründe dafür sind vielfältig: So entlastet die Automatisierung von Routineaufgaben bei der Bearbeitung typischer wiederkehrender Vorgänge und ist meist kosteneffizienter. Gleichzeitig gilt sie als probates Mittel gegen den aktuell so häufig kolportierten Fachkräftemangel. Und nicht zuletzt ist ihr prädestiniertes Einsatzfeld dort, wo wachsende Aufgaben nicht mehr mit der bestehenden Manpower bewältigt werden können.

Alle diese Punkte treffen in unterschiedlicher Ausprägung und Mischung auch auf die IT-Abteilungen vieler Unternehmen zu: Die Infrastruktur wird immer komplexer, das Digitalisierungstempo schneller und die sogenannte "time-to-market" fordert von den IT- Experten Agilität und Business Know-how. Sie werden folgerichtig dringend gesucht - und oft genug nicht gefunden.

Viele IT-Abteilungen arbeiten daher an der Belastungsgrenze. Sie sollen für den stabilen, problemlos laufenden Alltagsbetrieb sorgen und gleichzeitig die digitale Modernisierung ihrer Unternehmen unterstützen. Und das, ohne die Budgets zu sprengen. Da ist jede Unterstützung willkommen, die zusätzliche IT-Ressourcen freimacht.

Automatisierung hat viele Facetten

Es klingt ja zugegebenermaßen fast zu schön um wahr zu sein: Automatisierung als Modernisierungs-, Effizienz- und Kostenoptimierungs-Tool in einem. Wenn wir diesen Euphemismus herunterbrechen auf das Spezialgebiet professioneller Datenbanken, dann können Autonomous Databases bei entsprechender Implementierung einige dieser versprochenen Vorteile einlösen.

So zeigt eine eigene interne Erhebung, die natürlich keinen Anspruch auf Repräsentativität erhebt, dass die operativen Kosten für die Datenbank-Administration um bis zu 80 Prozent gesenkt werden können. Mindestens ebenso wichtig sind aber auch die positiven Auswirkungen auf die sinnvolle Auslastung der IT-Ressourcen, die Stabilität, die Verfügbarkeit, die Performance und die Ausfallsicherheit der Datenbank.

Aus technischer Sicht lässt sich das Self-Management der Datenbank auf verschiedenen Wegen umsetzen: mithilfe eigener proprietärer Entwicklungen, unter Zuhilfenahme allgemein verfügbarer Tools oder in Verbindung mit einem Kubernetes-Framework. Oft ist eine Mischung dieser Ansätze die präferierte Lösung. In jedem Fall muss sie drei Aufgaben erfüllen und miteinander verzahnen:

  • Das Monitoring der laufenden Datenbank-Prozesse und ihrer Umgebung. Dabei muss das System beispielsweise automatisch erfassen, wenn ein Node nicht mehr verfügbar ist.

  • Die Entscheidung der jeweils zu treffenden Aktion oder Aktionen: Beispielsweise dann, wenn eine virtuelle Maschine (VM) ausgefallen ist.

  • Die autonome Ausführung dieser Aktion(en) zur Behebung der festgestellten Funktionsstörung.

Kubernetes und alternative Tools

Nicht zuletzt durch die Aktivitäten der Hyperscaler wie AWS, Azure oder Google Cloud ist Kubernetes gerade dabei, sich als "Quasi-Standard" für die Cloud-Orchestrierung zu etablieren. Deshalb wird es von einer Reihe von Anbietern genutzt, ist aber nicht alternativlos. Wer es, aus welchen Gründen auch immer, jedoch nicht einsetzen will, kann für alle drei beschriebenen Teilfunktionen auf entsprechende Werkzeuge zurückgreifen, die meist auf Open Source-Entwicklungen basieren.

Für das Monitoring der Datenbank-Prozesse sind Prometheus oder Nagios die bekanntesten und am häufigsten eingesetzten Werkzeuge. Prometheus besitzt zudem eine Rules Engine zur Entscheidungsfindung, die für den nächsten Schritt zur Einleitung entsprechender Reaktionen und Aktivitäten genutzt werden kann. Mit Grafana können Entwickler und Entwicklerinnen dazu übersichtliche Graphen und Dashboards erstellen. Für die "action", wie etwa die Provisionierung einer virtuellen Maschine, stehen wiederum Tools wie Ansible oder Puppet zur Verfügung.