Anzeige

Monitoring und 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.

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


Weitere Artikel

Automatisierung

ThreatQuotient führt einen datengesteuerten Ansatz für SOAR und XDR ein

ThreatQuotient kündigt den ThreatQ TDR Orchestrator an, eine neue datengesteuerte Automatisierungsfunktion für eine effizientere und effektivere Erkennung und Bekämpfung von Bedrohungen.
Softwareentwicklung

Vorteile der Cloud-nativen Software-Entwicklung

Unternehmen, Organisationen und Behörden sind auf die schnelle Bereitstellung von Software-Lösungen angewiesen. Der IT-Dienstleister Consol listet die wichtigsten Vorteile auf, die für die Software-Entwicklung in der Cloud sprechen.
Lizenz

Microsoft schafft Open License ab

Zum 31. Dezember 2021 beendet Microsoft die Vertragsform „Open License“. Damit stellt der Software-Hersteller seine Kunden einmal mehr vor Herausforderungen. Eine offizielle Information darüber, was mit bereits eingesetzten Programmen geschieht, und welche…
Legacy-System

Legacy-Software kann unnötige Kosten verursachen

Avision zeigt auf, welche unnötigen Kosten bei Altanwendungen anfallen können – und wie sie sich vermeiden lassen. Besonders bei Legacy-Software ist die Versuchung oft groß, sie längere Zeit nicht anzufassen. „Die Software ist ja ohnehin da und kostet…

Anzeige

Jetzt die smarten News aus der IT-Welt abonnieren! 💌

Mit Klick auf den Button "Zum Newsletter anmelden" stimme ich der Datenschutzerklärung zu.