Case Study

Beschleunigte Entwicklung für DevOps

IT-Infrastrukturen müssen auf ihre korrekte Funktionalität hin laufend überwacht und kontrolliert werden. Deshalb ist IT Monitoring unabhängig von der Größe oder Branche eines Unternehmens eine zentrale Aufgabe von Systemadministratoren. Vor allem bei Softwareprojekten ist die moderne Versionskontrolle ein wichtiger Teilbereich des Monitorings.

Gute Monitoring-Tools zeichnen sich dadurch aus, dass sie das System nicht zusätzlich belasten, aber dennoch regelmäßig und gründlich überwachen und kontrollieren. Denn auch hier gilt: Was nicht gemessen wird, kann auch nicht verwaltet werden. Im Idealfall lässt sich mit einer guten Versionskontrolle auch die Effizienz eines Netzwerks steigern, da die Bandbreite und der Ressourcenverbrauch kontinuierlich überprüft und ausgewertet werden. Insbesondere in der Softwareentwicklung ist die Versionskontrolle von essenzieller Bedeutung, da damit Änderungen an Dateien erkannt werden, Modifizierungen zurückgesetzt und diese zeitlich oder einer bestimmten Person zugeordnet werden können. Vor allem in global verteilten Projekten, wie sie F&E Teams für die Implementierung von DevOps betreiben, ist eine Softwarelösung zur Versionskontrolle unerlässlich.

Anzeige

Seit Paessler für die Entwicklung des Monitoring-Tools auf GitLab als Versionsverwaltung mit integrierten Pipelines setzt, konnte die Schlagzahl der veröffentlichten Releases von wenigen Versionen pro Jahr auf eine kontinuierliche Bereitstellung sowie monatliche Veröffentlichungen erhöht werden. 

Instabilität und unregelmäßige Leistung

„Damit wir mit PRTG ein umfassendes Monitoring anbieten können, ist Schnelligkeit sehr wichtig. Nur so können wir mit den Entwicklungen in allen Bereichen Schritt halten“, so Konstantin Wolff, Infrastructure Engineer (PRTG Development) bei Paessler. Deshalb migrierte der Dienstleister seine Entwicklung von Mercurial zu GitLab. Ausschlaggebend dazu waren die Vorteile, die GitLab hinsichtlich der Versionskontrolle bietet. „Mit dem alten System Mecurial hatten wir erhebliche Stabilitätsprobleme, die aus der Kombination eines schwerfälligen 7GB-Repository und dem Fehlen der LFS in Mercurial resultieren, was das Arbeiten sehr instabil machte. Es gab Zeiten, in denen weder Push noch Pull möglich waren und man wusste nicht, warum.”

Nachdem mehrere Systeme für die Versionsverwaltung getestet wurden, entschied man sich bei Paessler für GitLab als Komplettpaket. Greg Campion, Cloud Engineer bei Paessler, übernahm das System zunächst für sein Cloud-Team, seitdem wird es im ganzen Unternehmen eingesetzt. Mit der Einführung von Git als neuem Standard für das Source Code Management konnte die Stabilität wiederhergestellt werden. Gleichzeitig gelang es, die Schnelligkeit zu erhöhen: Statt wenigen Versionen pro Jahr wurde auf Continous Delivery und monatliche Veröffentlichen umgestellt. Das bedeutet, dass neben den zwölf Releases pro Jahr, die Softwarepakete auch permanent durch automatisierte Tests auf Qualität hin geprüft und internen Servern zur Verfügung gestellt werden. Und genau das war der überraschende Effekt, der sich langfristig äußerst positiv auswirkt: die Automatisierung der Qualitätssicherung, die den gesamten Monitoringprozess erheblich beschleunigt. 

Vor der Umstellung liefen die Pipelines mit Jenkins, das bedeutet, es gab einen Dev-, einen Release- und einen Master-Zweig, der schließlich für die Öffentlichkeit freigegeben wurde. Wurde einer dieser drei Zweige erstellt, so wurde auch das Ergebnis jedes Mal auf mehreren VMs installiert und die Testautomatisierung in einem separaten Prozess gestartet. Am Ende des Vorgangs erhielt der Administrator eine E-Mail, ob es funktionierte oder eben fehlgeschlagen war. Dieser sequenzielle Prozess, bei dem die Rückmeldung erst am Ende des Tests erfolgt, wurde nur in den Zweigen Dev, Release und Master automatisch ausgelöst. Der verantwortliche Mitarbeiter für die Qualitätssicherung musste demnach einige Aufgaben ausführen, um zum Ziel zu kommen, was täglich rund 60 bis 70 Minuten in Anspruch nahm. Wurden andere Zweige getestet, dann mussten die Tests zusätzlich lokal ausgeführt werden.

Automatisierte Qualitätskontrolle erhöht die Softwarequalität

Dieser Zeitaufwand für Routinearbeiten konnte deutlich reduziert werden. „Auch jetzt wird jeder Zweig getestet, das ist so in die Pipeline integriert. Sobald der Code geschrieben ist, beginnt der gesamte Testprozess. Mit der Review-App lässt sich dann jeder Zweig aufrufen. Man erhält eine laufende Version von PRTG, für die gerade der Code eingecheckt und die bereits getestet wurde“, so Greg Campion. „Damit investieren Entwickler und Qualitätssicherungsingenieure gerade einmal 30 Sekunden statt einer Stunde täglich, was einer 120fachen Beschleunigung des Prozesses gleichkommt. Sie gelangen wesentlich schneller zur neuesten Softwareversion, die getestet werden soll und gewinnen damit Zeit für andere Aufgaben.“

Diese Automatisierung zahlt sich vor allem dann aus, wenn es zu Komplikationen kommt: Ist ein Test nicht erfolgreich, meldet auch die Pipeline einen Fehler. Damit weiß der Entwickler frühzeitig, dass etwas schiefgelaufen ist und muss nicht die Rückmeldung der Qualitätssicherung abwarten.

www.de.paessler.com

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.