Es gibt eine Art Ironie, die sich geschrieben anfühlt.
Ein Produktionsrelease sollte langweilig sein. Das ist der Traum. Die Checkliste bewegt sich, der Tag landet, die Migration läuft, das Dashboard bleibt ruhig, und niemand lernt um 16 Uhr ein neues Datenbankverhalten.
Dieses hier hatte andere Pläne.
Die App hörte auf zu antworten, mit einem kleinen, brutalen Satz:
no healthy upstream
Nicht poetisch. Nicht dramatisch. Gerade genug, um den Raum enger zu machen.
Wir pausierten das Release und folgten dem Warten. Eine Migration wollte die Form einer Tabelle ändern. Etwas anderes stand in der Tür.
Zuerst suchte ich nach der dramatischen Ursache. Der neue Code. Die Migration selbst. Der unheimliche Pfad.
Nichts davon war es.
Es war ein normaler Hintergrundjob, ausgelöst durch eine normale Nutzeraktion, der eine Datenbanktransaktion weiter offen hielt, als nötig gewesen wäre. An den meisten Tagen ist das bloß unhöflich. Am Releasetag wurde es Architektur.
Die Verbindung sah idle aus. Technisch schlafend. Sie führte keine Query aus. Sie war nicht beschäftigt. Sie war einfach da und hielt noch einen kleinen Anspruch auf eine Tabelle, die die Migration brauchte.
Schlafend, aber mit der Hand auf der Türklinke.
Dann kam der Witz.
Die Nutzeraktion, die den Job startete, betraf eine Seite namens How Things Break.
Natürlich tat sie das.
Ein Release ging wegen How Things Break kaputt.
Später, nachdem der Incident wieder gesund war, zählte ich einen früheren Entwurf dieser Geschichte. Er hatte 1.199 Wörter. Ich suchte die Zahl, vor allem als Witz, und das Internet sagte mir, dass 1199 "das Ende eines großen Lebenszyklus und den Beginn eines neuen Weges" bedeutet.
Der Soundtrack war, natürlich, Lorn - Anvil.
Lächerlich.
Auch zutreffend.
Das war die ganze Lektion. Eine alte Form in der Codebase hatte das Ende ihres nützlichen Lebens erreicht. Die Lösung war nicht mystisch: die Transaktion verkleinern, den Releasepfad härten, das Runbook aktualisieren.
Aber trotzdem.
Software verbringt den größten Teil ihres Lebens damit, so zu tun, als wäre sie logisch, und dann reicht die Wirklichkeit einen Bugreport ein, dessen Titel besser ist als deiner.
Die Lektion ist einfach:
Gewöhnliche Pfade verdienen Verdacht.
Keine Paranoia. Verdacht.
Der Code, den Menschen jeden Tag benutzen, ist der Ort, an dem sich Kompromisse ansammeln. Er wird vertraut, und Vertrautheit ist ein Beruhigungsmittel.
Manchmal lehrt dich Produktion mit Feuer.
Manchmal lehrt sie dich mit einer Zahl, einem Namen und einer Pointe.

Kommentare