Loading...

What Sound Does Your Microwave?

24. August 2023
2 Minuten Lesezeit
Beitrag teilen:

Hi,

Kennst du das? Du machst ein Gerät an, dass du immer wieder benutzt. Über Jahre. Du kennst das Geräusch, dass es macht.

Das rythmische “schwu schwu schwu”, wenn du die Spülmaschine anstellst.

Oder das bekannte “klick” wenn der Ofen angeht.

Dein Signal: alles läuft. Weiter machen!

Doch was, wenn es plötzlich anders klingt?

Es nicht mehr deinen Erwartungen entspricht?

Genau das ist mir mit meiner Mikrowelle passiert.

Ich machte sie - wie gewohnt - an. Ich erwartete ein “djeeehhh”.

Aber…

Stattdessen machte es “DJREEEEEERREERE” 😱

Panik!

Sofort ausmachen. Aufmachen. Riechen.

In mir ging sofort der Alarm los.

Etwas stimmt nicht!

Und natürlich. Die Mikrowelle war kaputt.

Aber warum erzähle ich diese Geschichte überhaupt so lebhaft?

Diesen Effekt kennst auch du. Und wir können ihn für uns arbeiten lassen!

Wenn wir Software entwickeln und betreiben nutzen wir eine ähnliche Sprache. Wir sprechen von Panik (Panic), wenn ein Programm ein unerwartetes und nicht korrigierbares Verhalten vorweist. Wir lösen Alarm (Alerts) aus, wenn es ein Problem in unserer Software gibt. Bei einem Fehler beenden wir lieber sofort den gesamten Prozess als ihn weiterlaufen zu lassen.

Wir reagieren genauso.

Doch, die Voraussetzung, damit wir wissen das etwas schiefgeht ist:

Wir müssen wissen wie es im Normalzustand aussieht!

Das klingt banal.

Ich weiß.

Aber: Weißt du wie deine Applikation sich normalerweise verhält? 🤔

Wie sieht dein CPU Graph über den Tag verteilt aus? Gibt es natürliche Peaks? Vielleicht wenn der Arbeitstag beginnt? Wie ist es über die gesamte Woche?

Oder was ist mit deinen RED Metriken? Ist es normal, dass wir regelmäßig errors sehen? Oder ist das ein Indiz, dass etwas nicht stimmt?

Und was ist eigentlich mit dieser Exception im log? Weist die auf ein Problem hin?

Immer wieder bin ich in Teams die diese Fragen nicht beantworten können. Und das kostet dich und ein Unternehmen viel Geld. Spätestens wenn wirklich etwas schief geht. Du weißt nicht wohin du gucken sollst. Und du findest den Fehler nicht vor deinen Kunden. Er landet erst auf deinem Schreibtisch, wenn die Hütte brennt.

Schaue dir jeden Tag deine Applikation an.

Schau auf die Metriken. Visualisiere sie in einem Dashboard. Zum Beispiel mit Grafana.

Schaue in deine Logs. Agregiere und indexiere sie. Zum Beispiel mit dem ELK Stack.

Reichere Exceptions mit weiteren Meta Informationen an und schicke sie an eine Stelle wo du sie nicht übersehen kannst. Zum Beispiel in deinen “General” Channel.

Du musst wissen was “normal” ist, um den Ausnahmezustand zu erkennen.

Rule the Backend,

~ Marcus

Top