DevOps in der Datenbankentwicklung 2/3

Wo helfen die DevOps Datenbanktools?

 

Verwaltung von Codeänderungen - Die Versionskontrolle spielt in Datenbankentwicklungsprojekten eine andere Rolle als in der Anwendungsentwicklung. Sie ist jedoch eine gute Möglichkeit zur Nachverfolgung von Änderungen an der Data Definition Language (DDL) in allen Schritten während des Verfahrens. Die Nachverfolgung von Überarbeitungen der gespeicherten Funktionen und Prozeduren, die im Verlauf des Projekts durchgeführt werden, erleichtert deren Bewertung und Vergleich. Dadurch können Probleme diagnostiziert werden, die auf dem Weg zur Produktion auftreten.

 

Frühe und häufige Tests - Automatisierte Komponenten- und Regressionstests sind die einzige Möglichkeit, um sicherzustellen, dass eine vorgeschlagene Änderung nicht an anderen Stellen zu einer Funktionsbeeinträchtigung führt. Selbst wenn Entwickler und QS-Teams einen genauen Überblick haben und keine zu testenden Aspekte außer Acht lassen, dauert ein manuelles Testverfahren wesentlich länger als automatisierte Tests, die zum Zeitpunkt des Eincheckens der Codeänderung durchgeführt werden.

 

Automatisierte Tests stellen ein Sicherheitsnetz für schnellere Datenbankbereitstellungen dar, da sich mit ihnen nahezu sofort feststellen lässt, ob neue Änderungen zuvor entwickelte Funktionen beeinträchtigen. Zudem erhalten Entwickler durch die Automatisierung und Ausführung dieses Prozesses beim Einchecken sofort eine Rückmeldung, wenn es zu einer Funktionsstörung kommt. So können sie das Problem nicht nur schnell beheben, sondern auch dann, wenn die relativen Kosten für die Fehlerbehebung am niedrigsten sind.

 

Sicherstellung der Qualität durch Standards - Entwickler lassen ihren Code durch Kollegen prüfen, um sicherzustellen, dass ihnen nichts entgangen ist und sie keine Sicherheitslücke verursacht haben. Außerdem können sie sich so vergewissern, dass sie keinen Fehler in der Logik begangen oder das Produkt versehentlich verlangsamt haben. Mit einer entsprechenden Software für die Analyse von statischem Code, die den Code liest und die Muster erkennt, nach denen auch Entwicklerkollegen suchen würden, kann dieser Prozess erheblich beschleunigt und die Einhaltung von Unternehmensstandards sichergestellt werden.

 

Schnellere Bereitstellung - Zur Verringerung des Risikos eines Datenverlusts oder sonstiger Fehlerquellen beinhaltet das Verfahren der Datenbankentwicklung für gewöhnlich einen Stopp in der Bereitstellungsphase für den DBA, damit Codeänderungen vor ihrer Implementierung in der Produktionsumgebung geprüft werden. DBAs und Entwickler, die das Bereitstellungsverfahren verwalten, können mithilfe von automatisierten Tools alle Änderungen in der Warteschlange erfassen, die Regressionstests und die Analyse von statischem Code erfolgreich bestanden haben. Anschließend können sie diese mit der Produktionsumgebung vergleichen und die Skripts für deren Festschreibung erstellen. Dies kann nicht nur die Effizienz des DBAs verbessern und den Entwicklungszyklus verkürzen, sondern auch sicherstellen, dass sämtliche Projektänderungen in die Produktion aufgenommen werden. Dies ist auch eine Gelegenheit, den SQL-Code zu überprüfen und sicherzustellen, dass er optimiert und auf unerwartete Probleme überprüft wurde.

 

Umfassende Automatisierung - Sobald ein Unternehmen weniger manuelle Prozesse und mehr automatisierte Tools einsetzt, verkürzen sich die Datenbankentwicklungszyklen und alle Teams können damit beginnen, die vielfältigen mit der Agilität verbundenen Vorteile in der Praxis zu realisieren. Der stückweise Einsatz von Softwaretools in den einzelnen Verfahrensschritten ist zwar schneller als reine manuelle Prozesse, bietet jedoch nur inkrementelle Verbesserungen. Zur Nutzung der kompletten Vorteile echter Agilität ist eine grundlegende Revolutionierung der Arbeitsweise von Teams erforderlich. Anstatt die einzelnen Schritte des Prozesses durch Mitarbeiter verwalten zu lassen, müssen Teams nach Möglichkeiten zur Erstellung voll automatisierter Pipelines suchen, die ohne weitere Eingriffe durch das Team Änderungen an Regressionstests sowie an die Prüfung und Bereitstellungsphase übergeben. Datenbankadministratoren können sich darauf verlassen, dass Codeänderungen Qualitätsstandards und die Unternehmensrichtlinie erfüllen, und Manager werden feststellen, dass der Code die Projektanforderungen erfüllt und in der Produktion ordnungsgemäß ausgeführt wird.

Anonymous