„Kommunikation zwischen allen Beteiligten, einheitliche Tools und Transparenz sind im Datenbanksegment unabdingbare Kriterien“

Eero Mattila
Der Datenbanksektor ist ein oft unterschätztes Teilgebiet, bei dem natürlich auch DevOps-Prinzipien eine entscheidende Rolle spielen können. In unserem Interview zur DevOps Conference 2019 in Berlin sprachen wir mit Eero Mattila, Principal Systems Consultant im Bereich Information Management bei Quest Software, über typische Fehler in agilen Umgebungen und Praktiken zur optimalen Einführung von DevOps im Datenbanksegment.
JAXenter: Welche Besonderheiten speziell bei der Entwicklung von Datenbanken sind bei der Einführung von DevOps und Continuous Delivery zu beachten?
Eero Mattila: Strukturänderungen einer Datenbank erfordern meist eine Auszeit für die Anwendung, da die Änderungen nicht während offener Transaktionen durchgeführt werden können. Während in der Anwendungsentwicklung viele Phasen automatisiert sind, werden die meisten Schritte bei Datenbanken manuell ausgeführt, und so wird die Datenbank häufig zum Flaschenhals. Automatisierte Abläufe können die Gefahr von ungeplanten Auszeiten und Datenverlust erheblich reduzieren und dadurch die Entwicklungszyklen beschleunigen und die Qualität der Anwendungen erhöhen.
JAXenter: Was sind typische Fehler in einer agilen Umgebung und wie können Entwickler diesen begegnen?
Eero Mattila: Das häuftigste Problem ist das Fehlen von einheitlichen Tools und nicht-standardisierte Verfahren. Aufgaben wie Unit Testing, Versionierung und Code Reviews werden oft nur rudimentär durchgeführt – und wenn dann meist manuell. Dies zieht häufig umfangreiche, ungeplante Nacharbeiten mit sich. Ein durchgängiges Toolset wie Toad Developer Edition for Oracle unterstützt den Entwickler durch nahtlose Integration mit einem Versionierungssystem, Unit Tests für Datenbank-Code, automatisierten Code Reviews, Skriptgenerierung und so weiter.
JAXenter: Wie sieht der optimale Ablauf einer Einführung von DevOps im Datenbanksegment aus?
Eero Mattila: Nicht anders als bei allen DevOps-Projekten: Kommunikation zwischen allen Beteiligten, einheitliche Tools und Transparenz sind unabdingbare Kriterien auch im Datenbanksegment. Der erste Schritt in Richtung agile Entwicklung ist der durchgängige Einsatz eines Versionierungssystems wie Git, Subversion, TFS, o.ä. Wie bei allen Anwendungen sollte auch Datenbank-Code mit einem Unit Test Tool und in regelmäßigen Code Reviews auf Lesbarkeit, Wartbarkeit, Konventionen und Abdeckung aller Use Cases getestet werden. Schließlich sollte die Generierung von Skripten zur Änderung aller erforderlichen Datenbank-Objekte möglichst weit automatisiert werden.
JAXenter: An welchen Faktoren kann man den Erfolg von DevOps und Continuous Delivery ablesen?
Eero Mattila: Ziel von DevOps und Continuous Delivery ist es, die Qualität des Codes zu erhöhen, während die Release-Zyklen verkürzt werden. Je weniger ungeplante Nachbesserungen am Code erforderlich sind, umso erfolgreicher ist das Projekt.
JAXenter: Vielen Dank für das Interview!

Hinterlasse einen Kommentar