LL#9 – Liebes Logbuch…
Während weiter die wunderbare schwedische Landschaft an mir vorbeirast, klaube ich meine Notizen vom 16. Mai heraus. Was gibt’s Neues bei uns?
Es ist vollbracht: Nachdem luto teils mit Leah, teils mit mir zusammen insgesamt fünf Bewerbungsgespräche geführt hat - wie bei uns üblich fahren wir dabei zu den Leuten in die jeweilige Stadt, um uns dann ausgiebig Zeit zum Kennenlernen zu nehmen - haben wir uns beraten und uns schließlich für eine Person entschieden und jene sich auch für uns. Ab September kann sich unser Development-Team über Zuwachs freuen! Für uns ist es wichtig, gerade im Hinblick darauf, dass Mitte nächsten Jahres CentOS 7 als Basis unserer derzeitigen U7-Plattform sein End of Life erreicht und wir bis dahin seinen Nachfolger nicht nur fertiggestellt haben müssen, sondern auch die Migration darauf abgeschlossen haben wollen. Auch wenn die Arbeiten dafür schon seit längerer Zeit laufen: Jetzt ist es an der Zeit, den Entwicklungsprozess mit mehr Zeit und Energie auszustatten. Und auch wenn der September noch eine Weile hin ist, hat sich die Gelegenheit ergeben, dass im Rahmen unseres diesjährigen Teamtreffens Ende Juni im Waldschlösschen unser Neuzuwachs auch schon mal zwei Tage reinschauen kann. Wir freuen uns - und verraten euch dann auch, wer bei uns in Zukunft mitarbeitet.
Unser Ops-Team freut sich über neue Konsolenserver, die uns Out-of-band-Zugriff insbesondere auf Router und Switche geben. Die bisherigen AirConsole-Produkte haben uns offen gesagt nicht sooo sehr mit Stabilität überzeugen können - öfter, als dass wir sie tatsächlich zum Zugriff in einer Problemsituation haben brauchen können, haben wir sie per Stromreset durchtreten müssen, weil sie mal wieder random nicht mehr erreichbar waren. Die neue Hardware hat einen angenehmen 19-Zoll-Faktor und funktioniert - soweit sich das jetzt schon sagen lässt - sehr stabil.
Die Arbeit an Auffälligkeiten (hier ist irgendwie viel Leselast… dort ist irgendwie viel Traffic…), die wir intern als U-Operations bezeichnen, findet immer mehr Struktur. Nachdem wir uns darauf verständigt haben, statt “irgendwer, dem irgendwas auffällt, haut mal irgendwen im Teamchat an” die Auffälligkeiten, die sich jemand anschauen soll, als Alerts mit niedriger Priorität in unserem Alarmsystem unterzubringen, gibt es nun einen Bot, der täglich einmal schaut, ob es offene Alerts gibt und dann die gerade schichthabende Person aus dem Oncall als Mention im Teamchat explizit anspricht - immerhin weit weniger unterbrechend als ein tatsächlicher Alarm, der sich auch über jedes “do not disturb” hinwegsetzt. So versuchen wir, dem Phänomen Verantwortungsdiffusion besser gerecht zu werden, denn für den regulären OnCall von sofort kritischen Problemen (also konkreten Ausfällen) haben wir schon lange einen klaren Schichtplan mit Zuständigkeiten und Eskalationsregeln. Der Bot trägt dazu bei, dass weniger kritische Dinge jetzt nicht mehr einfach hintenüber fallen, sondern in der Regel zeitnah bearbeitet werden.
Eine kleine Neuerung gibt’s bei der Registrierung neuer Accounts: Wir fragen ja schon lange nach einer E-Mail-Adresse bei der Registrierung; nun senden wir auch einen Validierungslink dorthin und legen den Account erst dann an, wenn jener bestätigt wurde. Das hat mehrere Gründe - einer ist, dass wir einen verlässlichen Weg brauchen, um Nautis zu erreichen, und sei es, um ihnen mitzuteilen, dass ihr Guthaben aufgebraucht ist - oder auch, um ihnen einen Password-Reset-Link zu schicken. Hier hat es sich einfach als extrem ärgerlich herausgestellt, wenn erst im Moment eines Passwortverlusts auffällt, dass man sich damals bei der Mailadresse vertippt hat… dem wollen wir mit der Validierung vorbeugen. Der andere Aspekt ist, dass wir derzeit leider eine gehäufte Zahl von Neuregistrierungen verzeichnen, die ausschließlich dafür genutzt werden, um Phishing-Sites bei uns unterzubringen oder Spam zu versenden. Hier ist die Hoffnung, das zumindest ein wenig eingrenzen zu können, auch wenn uns natürlich bewusst ist, dass die Hürde nicht sehr hoch liegt. Aber immerhin: Einen Link in einer E-Mail anzuklicken ist für einen herkömmlichen User kein großer Aufwand; für einen Spammer, der das für jeden neuen Account jedes Mal wieder tun muss, hingegen schon. Gegen die Phishing-Sites haben wir inzwischen ziemlich gute Prozesse, die in der Regel automatisiert binnen Sekunden solche Accounts wieder schließen, sobald wir darauf etwas in der Richtung vorfinden; gegen die Spammer arbeiten wir derzeit verstärkt an einer Kombination aus strengeren Ratelimits und besserer Erkennung, um die Auswirkungen auf normale User gering bis nicht spürbar zu halten, aber Spammer ausreichend zu frustrieren, dass sie sich lieber andere Hoster suchen. Immerhin: Es hat allen Unkenrufen zum Trotz viele viele Jahre gedauert, bis wir für diesen Use Case “entdeckt” worden sind, und es stellt sich schon manchmal ein Gefühl von “this is why you can’t have nice things” ein. Aber wir sind nicht nur entschlossen, uns gegen Missbrauch unserer Dienste zu wehren; wir tun es auch aktiv. :-)
Was wir erstmalig im Kontext von PHP 7.4 durchgespielt haben, tun wir nun auch bei node.js: Einen Brownout kurz vor dem Erreichen des End-Of-Life-Zeitpunkts. So wurden alle Nautis, die noch node.js 12 oder 14 einsetzen, nach entsprechender Vorankündigung auf node.js 16 hochgesetzt, können es aber für eine Übergangsfrist noch wieder downgraden. Ja: Wir wissen, dass es lästig ist, sich um Updates von Software zu kümmern. In Bezug auf die von uns bereitgestellte Software kennen wir das ja am eigenen Leib. Aber es muss sein, so wie sich die Zähne zu putzen oder wenigstens gelegentlich zu duschen. Technische Schulden häufen sich leider meist in sehr unangenehmer Weise an, und wer dann erstmal vor der Situation steht, dass man sein Content-Management-System nicht updaten kann, weil man das eine Plugin, das man aber unbedingt will, nicht updaten kann, weil das leider noch nicht mit PHP 8 arbeiten kann, obwohl PHP 7 inzwischen mausetot ist, und dann deshalb mit einem alten Plugin und einem alten CMS weitermacht, bis es irgendwann von Angreifern aufgemacht und durch eine Phishing-Site ersetzt wird (und dann ist das Jammern groß, wenn wir dann die Site halt abklemmen müssen)… jedenfalls, bitte haltet eure Software aktuell, und es tut uns leid, wenn wir euch dazu manchmal etwas aggressiver treten müssen. Aber wenn ihr Software X nicht upgraden könnt, weil die Programmiersprache, die sie braucht, end-of-life ist, dann muss Software X selbst eben auch als end-of-life gelten.
Soviel für heute, bis bald,
J.