© Liashko/Shutterstock.com
Entwickler Magazin
Nachvollziehbarkeit mithilfe von Metriken

Transparente Software

In Zeiten von Abhörskandalen und Vorratsdatenspeicherung ist der transparente Umgang mit Daten zumindest im politischen Umfeld eher negativ belegt. Aber was bedeutet Transparenz im Zusammenhang mit der Entwicklung und dem Betrieb einer Serveranwendung? Welche Informationen eine Serveranwendung zur Verfügung stellen sollte und warum, erläutert dieser Artikel.

Tom Hombergs


Viele kennen dieses flaue Gefühl im Magen, wenn man eine neue, über mehrere Monate oder gar Jahre vom eigenen Projektteam entwickelte Software in Betrieb nimmt. Die Anwendung wurde gerade auf dem Produktivsystem eingespielt und wir wissen nicht wirklich, ob sie den Ansturm der Benutzer verkraftet. Eigentlich wissen wir überhaupt nichts über den aktuellen Zustand der Anwendung. Wie es der Zufall (oder der Kunde) will, ist ein solcher Termin oft ein Freitag, sodass man das ganze Wochenende mit diesem Gefühl leben muss, um am Montagmorgen endlich von den Betriebskollegen über den Zustand der Anwendung informiert zu werden.

Ein Mittel, um in solchen Situationen etwas beruhigter sein zu können, ist Transparenz. Eine transparente Anwendung gibt Informationen über ihren Zustand preis, sodass man sich stets ein Bild über die Lage machen kann. Im Sinne von DevOps hört diese Transparenz idealerweise auch nicht beim Betriebspersonal auf, sondern reicht bis zum Entwicklerteam (wenn es denn überhaupt unterschiedliche Personen sind). Auf Basis der von der Anwendung preisgegebenen Informationen kann dann jederzeit entschieden werden, ob es der Anwendung gut geht, oder ob und welche Maßnahmen ergriffen werden müssen. Im Folgenden wird erläutert, welche Metriken eine Anwendung sinnvollerweise messen und preisgeben sollte und mit welchen Mitteln sich eine solche Transparenz ausgestalten lässt.

Was messen?

Die Metriken, die von einer Anwendung bzw. dem darunterliegenden Anwendungsserver zur Verfügung gestellt werden sollten, lassen sich grob in technische und fachliche Metriken unterteilen. Technische Metriken beschreiben hauptsächlich den aktuellen Zustand der zur Verfügung stehenden Ressourcen, zum Beispiel

die Auslastung der Prozessorkerneden verfügbaren und belegten Hauptspeicherden verfügbaren und belegten Festplattenspeicherdie verfügbaren Connections in einem Connection-Pooldie Verfügbarkeit von Systemkomponenten

Eine hohe Besucherzahl wird sich zum Beispiel als erhöhter Ressourcenbedarf in diesen Metriken bemerkbar machen. Man kann anhand dieser Metriken also erkennen, ob ein Server ausgelastet ist oder nicht. Man kann aber nicht erkennen, wie viele weitere Benutzer unserer Anwendung der Server verkraftet. Dafür fehlt die Betrachtung von zusätzlichen Metriken, die im Folgenden als fachliche Metriken bezeichnet werden.

Die technischen Metriken lassen sich meist ohne weiteres Zutun der Anwendung über das Betriebssystem oder den Anwendungsserver auslesen. Deshalb sind sie ...

Entwickler Magazin
Nachvollziehbarkeit mithilfe von Metriken

Transparente Software

In Zeiten von Abhörskandalen und Vorratsdatenspeicherung ist der transparente Umgang mit Daten zumindest im politischen Umfeld eher negativ belegt. Aber was bedeutet Transparenz im Zusammenhang mit der Entwicklung und dem Betrieb einer Serveranwendung? Welche Informationen eine Serveranwendung zur Verfügung stellen sollte und warum, erläutert dieser Artikel.

Tom Hombergs


Viele kennen dieses flaue Gefühl im Magen, wenn man eine neue, über mehrere Monate oder gar Jahre vom eigenen Projektteam entwickelte Software in Betrieb nimmt. Die Anwendung wurde gerade auf dem Produktivsystem eingespielt und wir wissen nicht wirklich, ob sie den Ansturm der Benutzer verkraftet. Eigentlich wissen wir überhaupt nichts über den aktuellen Zustand der Anwendung. Wie es der Zufall (oder der Kunde) will, ist ein solcher Termin oft ein Freitag, sodass man das ganze Wochenende mit diesem Gefühl leben muss, um am Montagmorgen endlich von den Betriebskollegen über den Zustand der Anwendung informiert zu werden.

Ein Mittel, um in solchen Situationen etwas beruhigter sein zu können, ist Transparenz. Eine transparente Anwendung gibt Informationen über ihren Zustand preis, sodass man sich stets ein Bild über die Lage machen kann. Im Sinne von DevOps hört diese Transparenz idealerweise auch nicht beim Betriebspersonal auf, sondern reicht bis zum Entwicklerteam (wenn es denn überhaupt unterschiedliche Personen sind). Auf Basis der von der Anwendung preisgegebenen Informationen kann dann jederzeit entschieden werden, ob es der Anwendung gut geht, oder ob und welche Maßnahmen ergriffen werden müssen. Im Folgenden wird erläutert, welche Metriken eine Anwendung sinnvollerweise messen und preisgeben sollte und mit welchen Mitteln sich eine solche Transparenz ausgestalten lässt.

Was messen?

Die Metriken, die von einer Anwendung bzw. dem darunterliegenden Anwendungsserver zur Verfügung gestellt werden sollten, lassen sich grob in technische und fachliche Metriken unterteilen. Technische Metriken beschreiben hauptsächlich den aktuellen Zustand der zur Verfügung stehenden Ressourcen, zum Beispiel

die Auslastung der Prozessorkerneden verfügbaren und belegten Hauptspeicherden verfügbaren und belegten Festplattenspeicherdie verfügbaren Connections in einem Connection-Pooldie Verfügbarkeit von Systemkomponenten

Eine hohe Besucherzahl wird sich zum Beispiel als erhöhter Ressourcenbedarf in diesen Metriken bemerkbar machen. Man kann anhand dieser Metriken also erkennen, ob ein Server ausgelastet ist oder nicht. Man kann aber nicht erkennen, wie viele weitere Benutzer unserer Anwendung der Server verkraftet. Dafür fehlt die Betrachtung von zusätzlichen Metriken, die im Folgenden als fachliche Metriken bezeichnet werden.

Die technischen Metriken lassen sich meist ohne weiteres Zutun der Anwendung über das Betriebssystem oder den Anwendungsserver auslesen. Deshalb sind sie ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang