Die Leistungsfähigkeit von DevOps für die Datenbank
31. Januar 2023Warum gelingt es einigen Unternehmen hervorragend, Datenbankbetrieb und Anwendungen zu optimieren, während andere es enorm herausfordernd finden? Warum arbeiten manche Datenbankteams erfolgreich agil, während andere Monate brauchen, um eine Code-Zeile fertigzustellen? Dank welcher Geheimzutat können manche Datenbankteams smarter statt härter arbeiten, Lebenszyklen in der Datenbankentwicklung besser optimieren, Bereitstellungen schneller durchführen und insgesamt für eine stärkere abteilungsübergreifende Zusammenarbeit sorgen?
Im kostenlosen E-Book DevOps für die Datenbank geht der Autor Baron Schwartz den Ursachen auf den Grund. Er bietet einen praktischen Leitfaden für eine umfassendere und effektivere Nutzung von DevOps-Praktiken, um die Datenbankleistung zu optimieren. Das E-Book richtet sich an DBAs, Entwickler, SREs, technische Betriebsteams, Manager und alle anderen, die für das Datenmanagement bei datenintensiven Anwendungen verantwortlich sind.
Es zeigt, wie sich durch Modernisierungen die Leistung von Unternehmensdatenbanken und damit Geschwindigkeit, Stabilität und Effizienz verbessern lassen. Mit den folgenden zentralen Tipps aus dem E-Book erfahren Sie die wichtigsten Vorteile und Best Practices für die Implementierung von DevOps aus der Datenbankperspektive.
Was ist Datenbank-DevOps?
Bevor wir Datenbank-DevOps definieren können, müssen wir verstehen, weshalb es in der DevOps-Community und unter denen, die DevOps praktizieren, so unterschiedliche Ansichten zur DevOps-Kultur und Mentalität gibt.
Schon lange versuchen führende Akteure in der Softwarebranche, DevOps zu definieren. Es gibt zwar eine Menge detailgenaue Definitionen von DevOps und unterschiedliche Vorstellungen der richtigen Umsetzung, doch sie alle sind kontextspezifisch.
Stark vereinfacht lässt sich sagen: DevOps basiert auf der Idee, sicherzustellen, dass Softwareentwicklungsteams und IT-Betriebsteams einheitlich und mit einem gemeinsamen Ziel arbeiten. Das bedeutet, aus der althergebrachten manuellen Systemadministration auszubrechen und die Kontrolle über die zur Bereitstellung genutzte Infrastruktur, die Anwendungsbereitstellung und das Leistungsmonitoring zu übernehmen.
In den Anfängen von DevOps begannen Ingenieure damit, ihre Arbeit mit DevOps-Tools wie Chef, Puppet und Ansible zu automatisieren. Heutzutage nutzen viele Unternehmen DevOps-Praktiken, um den Betrieb und die Anwendungsentwicklungspipeline positiv zu verändern.
Die meisten Top-Unternehmen geben an, eine holistische DevOps-Philosophie zu verfolgen, und versuchen sie unternehmensweit umzusetzen, indem sie Rollen und Funktionen im gesamten Entwicklungsprozess integrieren. Viele von ihnen übersehen dabei jedoch den Bereich mit den häufigsten Problemen, die die größten Konsequenzen nach sich ziehen: die Datenbank.
Vorteile von Datenbank-DevOps
Anwendungsfälle wie die Nutzung von DevOps-Methoden zur Automatisierung von Aufgaben wie Datenbankbereitstellung, Sicherungen, Workflows und CI/CD (Continuous Integration/Continuous Delivery) bieten Datenbankteams sowohl sofortige als auch langfristige Vorteile.
Eine auf DevOps basierende Datenbankkultur hilft außerdem allen involvierten Teams, mehr Kontrolle über die Datenbanken zu übernehmen. So können sie Engpässe im Datenbank-Code reduzieren und DBAs ermutigen, schneller Innovationen zu schaffen, Fehler zu vermeiden und andere zu übertreffen.
So nutzen Sie DevOps für die Datenbank
Im E-Book liefert Baron Beobachtungen und Einblicke zu den Vorteilen der DevOps-Nutzung aus erster Hand, die er in der Datenbank-Community gewonnen hat. Er beschreibt, auf welche sechs Bereiche sich Unternehmen aus der Datenbankperspektive konzentrieren sollten, wenn sie mit der Implementierung von DevOps-Praktiken beginnen:
- Grundlegende DevOps-Praktiken für den Infrastrukturbetrieb auf die Datenbank anwenden: Zu diesen Grundlagen gehören die automatisierte Bereitstellung, Konfiguration und Überwachung.
- Datenbankspezifische betriebliche Aufgaben automatisieren: Zu diesen Automatisierungsaufgaben gehören Backups, Wiederherstellungen, Upgrades und die Aktualisierung des Testdatensatzes von Datenbanken vor der Produktion.
- Versionskontrolle implementieren: Verwalten Sie Datenbankschemata, Code und Datenmodelle – Tabellenstrukturen, gespeicherte Verfahrenscodes usw. – ähnlich wie Quellcode mithilfe der Versionskontrolle und „normalen“ Änderungskontrollprozessen in CI/CD-Pipelines.
- Bereitstellungen von Datenbankänderungen automatisieren: Nutzen Sie Skripts zur Datenbankautomatisierung und migration statt manueller, zeitaufwändiger Datenbankbereitstellungen für Schemaänderungen (Migrationen) und Datentransformationen (Datenmigrationen).
- Die Entwickler einbeziehen: Leistung und Verfügbarkeit sind nicht nur die Aufgabe von DBAs. Stellen Sie sicher, dass die Entwickler einbezogen werden und im Idealfall für die Leistung der Produktionsdatenbank ihrer Anwendungen verantwortlich und verfügbar sind.
- Sich wiederholende Aufgaben beenden: Datenbankadministratoren sollten keine sich wiederholenden Aufgaben erledigen müssen. Stattdessen sollten sie als Fachexperten die Engineering-Teams beraten oder Teil von ihnen sein, um die Produktivität zu maximieren.
Baron betont, dass diese sechs Bereiche zwar danach geordnet sind, wie leicht sie implementiert werden können, aber kein Reifegradmodell darstellen. DevOps ist ein Weg und kein Ziel, und Fortschritt ist nicht linear – Sie sind niemals „fertig“. Bei Datenbank-DevOps geht es darum, das zu tun, was in der jeweiligen Situation machbar und hilfreich ist.
Überschneidungen zwischen Datenbank-DevOps und Observability
Wir sollten bei alledem nicht vergessen, dass die Strategien zur Nutzung von DevOps-Prozessen für Datenbankmanagement, Anwendungsänderungen, Anwendungsentwicklung und Wartung nicht in einem Vakuum stattfinden. Die Einführung von Observability als betriebliche Maßgabe kann und sollte unterstützen und beeinflussen, welche Vorteile DevOps nicht nur Datenbankadministrationsteams, sondern dem gesamten Unternehmen bringen kann.
Durch umfassendere Transparenz kann Observability viele der Einblicke bieten, die DBAs für ihre Arbeit benötigen. Etwa beim Überwachen der Auswirkungen von Schemaänderungen auf Datenfluss und herkunft, bei Aktualisierungen an Datentabellen und Datenverteilung, beim Prüfen des Anwendungscodes in der Quellkontrolle oder bei weiteren Optimierungen.
Dazu kommen die Aufgaben, auf die sich andere Teams in derselben Umgebung konzentrieren. Die Implementierung von DevOps-Methoden für die Datenbank kann zusammen mit Observability völlig verändern, wie Datenbankteams und andere Teams Probleme erkennen und proaktiv kostspielige Ausfallzeiten und andere negative Auswirkungen auf das Geschäft vermeiden können. Alle Teams können auf eine zentrale Übersicht zugreifen und gemeinsame Informationen für ihre Arbeit nutzen.
Erfahren Sie mehr darüber, wie die Observability-Lösungen der SolarWinds Platform Teams helfen, mit zentralisierten Visualisierungen und Metriken für On-Premises- und Cloud-Instanzen besser und effektiver zusammenzuarbeiten.
Thomas LaRock ist Head Geek bei SolarWinds
SolarWinds