10/07/2020

Grafana Dashboards für mehr Agilität – Teil 2

Die Dashboards

Um den agilen Alltag zu bewältigen und die kritischen Informationen im Blick zu behalten, helfen uns auf dem Projekt zwei essentielle Dashboards.

Dashboard 1: Die Umgebungs-Ampeln – Bei Grün gehen, bei Rot stehen

In unserem Programm werden alle fachlichen Akzeptanztests vollständig mit Gherkin/Cucumber automatisiert. Diese Testautomatisierung erlaubt uns stets einen konsistenten Blick auf sämtliche Entwicklungsumgebungen. Nur bei einer grünen Umgebung („Tests erfolgreich durchlaufen“) können Services von der einen Test-Stage in die nächste Test-Stage deployed werden. Damit die Entwicklungsprozesse nicht stocken und rote Umgebungen zügig behoben werden, ist es essentiell den jeweiligen Umgebungsstand im Blick zu behalten.

Dashboard 2: Das Inventar – Unterschiedliche Softwarestände zwischen Abnahme und Produktion erkennen

Das nächste Dashboard dient dazu, um unterschiedliche Software-Stände zwischen Abnahme und Produktion aufzudecken. Unterschiedliche Versionsstände sind deshalb problematisch, weil die Qualitätssicherung durch Test-Automatisierung erstmal nur für eine bestimmte Kombination aus Software-Bausteinen und ihren Versionen gilt. Jede andere Kombination ist nicht sicher getestet, denn in Produktion kann teilweise nur noch eingeschränkt getestet werden (im konkreten Fall bedeutet es, dass echtes Geld fließt, da ein Zahlungssystem beteiligt ist). Daher ist es wichtig zu wissen, dass der Software-Stand in Produktion in der Konstellation schon einmal vollständig auf einem Test-System getestet wurde.

Wie kann es zu einem unterschiedlichen Softwarestand zwischen Abnahme und Produktion kommen? Da wir eine automatisierte Deployment-Pipeline haben, kann es manchmal zu Abbrüchen bei einem Deployment in Produktion kommen. Der Entwickler bekommt zwar eine Benachrichtigung über den Abbruch der Pipeline, muss aber die Pipeline nochmal starten. Um diesen Schiefstand trotzdem jederzeit Management-gerecht transparent zu machen, haben wir dafür ein eigenes Dashboard entwickelt.