Ein paar Hintergrundinformationen zum Ausfall am 17.07.

17.07.2021

Heute Morgen in aller Früh, kam es plötzlich zu einem unerwarteten Ausfall. Das Dashboard und das Buchungssystem unter app.velo.rent war plötzlich nicht mehr erreichbar. Was die Gründe dafür sind und was wir in Zukunft dagegen unternehmen wollen, erkläre ich hier.

😟 Was ist überhaupt passiert?

Wir haben früh um kurz nach 9 die ersten Hinweise erhalten, dass velorent nicht erreichbar ist. Eine kurze Überprüfung auf dem iPhone hat dies auch bestätigt. Ein kurzer Überblick bestätigte:

  1. Die Homepage war erreichbar.
  2. Die Demoinstanz ebenfalls.
  3. Das Dashboard nicht.

Allerdings laufen alle drei Dienste auf separaten Servern. Grund dafür ist: falls ein Server ausfällt, sind nicht die anderen direkt mitbetroffen. Nur weil die Homepage nicht erreichbar ist, sollte das Dashboard ja nicht ebenfalls gleich mit abschmieren.

Die erste Vermutung lag darin, dass die Webanwendung einfach abgestürzt ist. Normalerweise wird sie in diesem Falle vom System automatisch neugestartet, um auch automatische Reboots und sowas zu überstehen. Also schnell auf die Administrationsoberfläche verbunden (für die Nerds: SSH-Verbindung) und mal geschaut, wie es denn so aussieht.

Und hier wurde es dann wunderlich. Alles läuft, alle Dienste sind erreichbar. Und da wir uns auf den Server verbinden konnten, war der auch selbst nicht abgestürzt. Nur leider nicht erreichbar.

Die zweite Vermutung war dann der DNS-Server. DNS-Server sind sowas wie das Telefonbuch des Internets. Jeder Rechner fragt einen DNS-Server an (in der Regel den vom Internet-Provider) und fragt: hey, ich würde mich gerne zu app.velo.rent verbinden, was ist denn die IP-Adresse?

Und genau hierin lag das Problem. Die DNS-Server haben kollektiv zurückgegeben “tut mir leid, wir kennen diese Adresse nicht”. Für mich als Administrator ist sowas immer besonders nervig, denn: Auf DNS-Server hab ich nur bedingt Einfluss. Mit bedingt, meine ich: fast gar keinen. Wenn so ein Fall wie der heutige Eintritt gibt es nur eine einzige Möglichkeit: warten. Warum warten? Damit ein DNS-Server möglichst schnell die Frage nach der IP-Adresse beantworten kann, speichert er die Ergebnisse für eine gewisse Zeitspanne. Diese ist in der Regel zwischen drei und 24 Stunden. Das ist natürlich bescheiden, um es mal lieb zu umschreiben.

🧐 Problemlösung

Nun, da das Problem (DNS-Server) feststand und die Lösung (warten) auch, musste eine Übergangslösung her. Da Zugriff auf die Datenbank bestand, haben wir unsere Händler*innen kurzfristig per Mail über die heute anstehenden Buchungen informiert. So kann zumindest das Tagesgeschäft eingeschränkt weitergehen, bis das endgültige Problem behoben ist.

Aber das ist keine schöne Lösung. Zum Glück hatte ich noch ein Ass im Ärmel: eine zweite Domain, die auf den gleichen Server verweist. Also kurz die Server-Einstellungen angepasst, die Dienste über die neue Domain informiert, tada: velorent war wieder da! 🥳

Allerdings nur eingeschränkt: neue Buchungen hätten zwar angelegt werden können, aufgrund der asynchronen Kommunikation mit dem Zahlungsdienstleister hab ich erstmal davon abgeraten, neue Buchungen zu erstellen.

An der Stelle konnte ich erstmal durchatmen. Der Großteil der Funktionalität war wiederhergestellt. Für den Rest musste jetzt nur noch gewartet werden. Gegen 11:14 war es dann soweit, die DNS-Server haben sich größtenteils aktualisiert, sodass alles wieder unter der ursprünglichen Adresse erreichbar war. Puh.

Wie ist es überhaupt dazugekommen?

Ganz ehrlich, das kann ich nicht sagen. Es ist auch mir ein Rätsel, warum von den ganzen DNS-Einträgen ausgerechnet die beiden, die auf das Dashboard verweisen, plötzlich im Nirvana verschluckt worden. Geändert habe ich die seit Monaten nicht mehr, es ist also keinesfalls durch mich zu verschulden. Meine Vermutung ist tatsächlich die:

In dem Moment, wo die Einträge abgerufen wurden, hatte der Server des DNS-Dienstleisters einen kurzen Schluckauf, der sich dann durch das Speichern von 3-24 Stunden in die Länge gezogen hat.

🚴‍♂️ Welche Maßnahmen werden wir ergreifen?

Berechtigte Frage. Einen Vorfall dieser Art ist auch mir heute das erste Mal untergekommen. Und da meinerseits sehr geringer Einfluss auf die DNS-Server besteht, muss ich eine andere Lösung finden. Allerdings ist es mir ein Dorn im Auge, dass meine internen Warnsysteme nicht angeschlagen haben. Diese werde ich nochmal deutlich überarbeiten, sodass diese mich schneller und zuverlässiger informieren.

🤫 Spoiler-Warnung für 2022

Bei all den schlechten Nachrichten will ich auch mal was Positives ankündigen: velorent geht voraussichtlich zum Jahreswechsel in die nächste Evolutionsstufe. Intern wird bereits die nächste Version getestet. Schneller, komfortabler in der Bedienung und mit neuen Komfort-Features, etwa der automatisierten Rechnungsstellung! Damit sich Händler*innen noch mehr auf das Kerngeschäft fokussieren können, während velorent die lästige Arbeit abnimmt.