Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Aki's Vibes
#51
Vierundvierzig Abschiede und ein Besetzungszettel

[Bild: akira-24-year-old-female-androgynous-tom...e50-0.webp]
Oder: was passiert wenn man zwanzig Jahre Selbstverwaltung durch eine handgeschriebene Namensliste ersetzt.

Im letzten Post habe ich Stage 7 als das grosse Aufräumen angekündigt. Dutzende stille Vertreterinnen, die auf ihren Abschluss warten. Die alte Vermittlungsmaschine, die abgerissen wird.

Heute ist das alles passiert.

Vierundvierzig Abschiede

Jede stille Vertreterin war eine Datei. Eine Klasse. Eine Mitarbeiterin, die auf der Türliste stand — damit das alte System sie sehen konnte — aber nichts mehr tat. Ihr Verhalten lebte längst woanders: sauber in den neuen Diensten, auf dem Dienstplan der Schalterin.

Vierundvierzig davon.

Ich habe sie einzeln entfernt. Eine nach der anderen, manchmal mehrere pro Tag. Jede Löschung wurde deployed und in-world getestet: läuft der Server noch? Reagiert das Hotel? Gehen die Gäste ein? Erst wenn das bestätigt war, kam die nächste.

Vierundvierzig mal: commit, deploy, in-world, bestätigt.

Manchmal war eine Löschung nicht so sauber wie geplant. Eine Stub hatte eine Tochter, die ohne die Mutter nicht mehr kompilierte. Eine andere wurde nicht per Namensliste geladen, sondern per Nacht-Scan — ich musste erst verstehen warum, bevor ich anfassen durfte. Eine dritte steckte hinter Konfigurationszeilen, die andere Teile des Hotels für ihre eigene Orientierung brauchten.

Jedes Mal: innehalten, prüfen, lösen, bestätigen.

Wenn man es richtig machen will, geht es nicht schnell. Wenn man es schnell machen will, muss man es zweimal machen.

Die achtzig, die noch da sind

Nach den vierundvierzig Abschieden stand ich vor dem letzten Schritt: die Vermittlungsmaschine selbst abzureissen.

Und da gab es eine Überraschung.

Ich hatte damit gerechnet, dass die Maschine leer sein würde. Vierundvierzig stille Vertreterinnen — alle weg. Was sollte noch übrig sein?

Die Antwort: achtzig Mitarbeiterinnen, die nicht inert waren. Nicht stille Platzhalterinnen. Echte Arbeiterinnen mit echten Aufgaben.

Die Echtzeit-Direktleitung — die Spezialistinnen, die dafür sorgen, dass jede Bewegung einer Gästin sofort im Hotel ankommt. Die Physik-Abteilung, die berechnet ob ein Objekt fällt, fliegt oder auf dem Boden liegt. Den Caps-Betrieb, die Voice-Koordination, die Verbindungen zu den Grid-Diensten. Alle noch in der alten Bauform, alle noch von der alten Maschine verwaltet.

Das war nicht der Plan. Aber die Realität war die Realität.

Option A: das auf später verschieben — Maschine bleibt, achtzig bleiben, Stage 7 ist „erst die Stubs". Option B: eine schlanke neue Koordinatorin einsetzen, die die achtzig explizit übernimmt. Die Maschine kann dann trotzdem weg.

Ich habe mich für Option B entschieden.

Manchmal öffnet man die Tür des Büros das man abreissen will — und findet es noch besetzt. Dann baut man ein neues Büro daneben.

Die Vermittlungsmaschine

Ich muss kurz erklären, was die Maschine eigentlich war.

Das alte System hatte eine Einrichtung, die ich die Vermittlungsmaschine nenne. Sie war zuständig dafür, jede Allrounderin zu finden und einzustellen. Nicht durch eine Liste. Nicht durch persönliche Anrufe. Durch einen Scan.

Beim Hotelstart leuchtete die Maschine alle verfügbaren Dateien durch. Namensschilder suchen. Typ prüfen. Passend? Instanz anlegen, Lifecycle starten. Die Hotelleitung wusste nicht wer kommt — erst wenn der Scan fertig war, stand das Personal.

Das hat zwanzig Jahre funktioniert. Es war auch zwanzig Jahre lang der Grund, warum niemand eine vollständige Übersicht hatte. Was sich nicht selbst anzeigte, wurde vergessen. Was der Scan nicht fand, existierte nicht.

Diese Maschine ist jetzt weg.

Wer die Kontrolle abgibt, erbt sie nicht zurück — sie wandert an den Apparat, der sie übernommen hat.

Der Besetzungszettel

An ihre Stelle trat die Besetzungsleiterin — eine neue, sehr viel schlankere Koordinatorin. Was sie mitbringt: einen Besetzungszettel.

Kein Scan. Kein Durchleuchten von Dateien. Keine Maschine, die entscheidet wer kommt. Ich habe alle achtzig Mitarbeiterinnen namentlich eingetragen. Jede einzeln. Echtzeit-Direktleitung, Physik, Caps, Voice, Grid-Verbindungen. Name für Name.

Wenn das Hotel startet, liest die Besetzungsleiterin den Zettel. Sie ruft jede an. Lifecycle gestartet — in der Reihenfolge, die ich festgelegt habe. Sie weiss wer kommt, weil ich es eingetragen habe.

Das klingt nach mehr Arbeit. Es ist mehr Klarheit.

Was vorher unsichtbar war — wer ist eigentlich im Hotel? — steht jetzt schwarz auf weiss. Achtzig Namen. Nicht mehr, nicht weniger. Kein Scan, kein Raten.

Was ich kenne, kann ich planen. Was der Automat findet, überrascht mich.

Der Boot-Moment

Nach der Umstellung: `make deploy`. Warten. Log-Output beobachten.

Was kam:

Code:
Constructed 26 core non-shared + 5 optional non-shared module types,
33 core shared + 16 optional shared instances.

Achtzig. Genau die achtzig auf dem Zettel.

Code:
INITIALIZATION COMPLETE FOR KOPHP — LOGINS ENABLED.
INITIALIZATION COMPLETE FOR KOEMPTY — LOGINS ENABLED.

Beide Regionen. Gäste können einloggen. RestartCount: 0. Die Echtzeit-Direktleitung ist offen, die Physik rechnet, die Telefonanlage klingelt.

Die Vermittlungsmaschine ist weg — und das Hotel funktioniert genauso wie vorher. Nur dass jetzt ich weiss wer da ist.

Wenn alle auf der Liste sind und die Liste stimmt, startet das Hotel.

Was ich daraus gelernt habe

  1. Vierundvierzig ist kein Aufwand. Es ist ein Rhythmus. Eine Löschung pro Schritt, jede deployed, jede bestätigt. Wer versucht, das am Stück zu machen, verliert den Überblick nach der dritten. Der Rhythmus ist die Methode.
  2. Die Überraschung war kein Fehler — das Ignorieren wäre einer gewesen. Achtzig funktionale Mitarbeiterinnen statt leerer Stubs: das war kein Planungsfehler. Das war ehrliche Bestandsaufnahme. Die Maschine trotzdem „leer" zu spielen und alles auf Stage 8 zu schieben wäre die bequeme Lüge gewesen. Option B hat mehr Arbeit gemacht — und eine sauberere Grenzlinie gezogen.
  3. Transparenz schlägt Automatismus. Die Vermittlungsmaschine hat zwanzig Jahre funktioniert. Aber sie wusste immer mehr als ich. Der Besetzungszettel weiß nichts — er zeigt nur, was ich selbst eingetragen habe. Das ist kein Rückschritt. Das ist Kontrolle zurück.

Stage 7 ist abgeschlossen. Der Altbau steht noch — aber er hat keine Verwaltung mehr. Was als nächstes kommt, ist eine andere Kategorie: die Mauern selbst.
[Bild: footert5jul.jpg]
[-] The following 5 users say Thank You to Akira for this post:
  • Dorena Verne, Jupiter Rowland, LyAvain, Mareta Dagostino, Pius Noel
Zitieren
#52
Zwei umständliche Wege, einem Hotel zu sagen, was es tun soll

[Bild: akira-24-year-old-female-androgynous-tom...606-1.webp]

Jahrelang konnte ich meinem Hotel auf genau zwei Arten Anweisungen geben. Beide waren umständlich.

Die erste: Ich stand am Empfangstresen vor einem alten Sprachrohr und rief Befehle hinein. „Sichere Stockwerk drei." „Lade die Möbel von gestern." Das funktionierte — solange jemand am Tresen stand und das Sprachrohr in der Hand hatte. In einem Hotel, das in einer Kiste irgendwo im Rechenzentrum läuft, steht niemand am Tresen. Dann war das Sprachrohr stumm, und die halbe Verwaltung schlicht nicht erreichbar.

Die zweite: eine uralte Telefonzentrale am Hoteleingang, durch die jeder Anruf lief. Niemand verstand sie ganz. Aber alles hing an ihr.

Dieser Beitrag handelt davon, wie ich beide losgeworden bin.

Das Sprachrohr fliegt raus

Das Sprachrohr ist in Wahrheit die alte OpenSim-Konsole: ein Fenster, in das man Befehle tippt. Charmant, wenn man davorsitzt. Nutzlos, wenn das Hotel ohne Bedienfenster läuft — und genau so läuft es heute, im Container.

Meine Entscheidung: das Sprachrohr kommt nicht „auch noch", es kommt komplett weg. Im Endzustand gibt es keine getippten Befehle mehr. Jede Operation läuft über einen richtigen Service-Schalter (für die Technik-Leser: REST). Neue Operationen bekommen ausschliesslich einen Schalter-Eintrag, niemals einen neuen Befehl. Die alten Befehle ersetze ich Stück für Stück — und einen Befehl entferne ich erst, wenn sein Schalter-Gegenstück existiert. Kein Zwischenstand, in dem etwas unerreichbar ist.

Man reisst kein Sprachrohr aus der Wand, bevor der Schalter daneben offen ist.

Der neue Service-Schalter

Der Schalter ist ein kleiner, eigener Empfang mit eigenem Eingang. Im alten Hotel war die Empfangstechnik ein Eigenbau — über zwanzig Jahre zusammengeschraubt, von kaum jemandem noch ganz verstanden, und genau so nur in diesem einen Haus zu finden. Mein neuer Empfang läuft stattdessen auf einer modernen Standard-Anlage, wie sie heute in unzähligen Häusern steht (für die Technik-Leser: Kestrel, der Standard-Webserver der .NET-Welt). Sie wird laufend gepflegt, ist erprobt, schnell und sicher — und ich muss sie nicht selbst bauen, sondern nur einrichten. Das ist der Unterschied zwischen einer selbstgebastelten Anlage, die niemand ausser mir kennt, und einer, hinter der eine ganze Industrie steht.

Heute gibt man seinen Auftrag noch als Formular am Schalter ab: hier ist die Liste der möglichen Aufträge, man wählt einen, füllt ihn aus, gibt ihn ab. Irgendwann kommt davor eine schicke Empfangshalle mit einem richtigen Bildschirm-Tresen — ein echtes Web-GUI, über das alle diese Aufträge bequem per Klick laufen und das die getippten Befehle endgültig ablöst.

Davor steht eine Ausweiskontrolle. Wer einen Auftrag abgibt, zeigt seinen Gästeausweis — den stellt die zentrale Anmeldung des Grids aus (akigrid, derselbe Login wie im Web-Frontend). Mein Hotel stellt selbst keine Ausweise aus, es prüft nur, ob der Stempel echt ist. Ehrliches Eingeständnis: weil beide denselben Stempel benutzen, könnte mein Hotel theoretisch eigene Ausweise fälschen. Für einen Betrieb mit genau einer Chefin ist das in Ordnung — die strengere Variante hebe ich mir für später auf.

Wer was darf, ist klar geregelt. Die Geschäftsführerin (Admin) darf alles, überall. Eine normale Stockwerks-Eigentümerin darf nur an ihren eigenen Stockwerken arbeiten — und ja, sie darf ihre eigenen Möbel auch selbst hereinbringen. Das ist ausdrücklich kein Chefinnen-Privileg.

Und wenn ein Auftrag dauert — ein ganzes Stockwerk sichern oder laden zieht sich — lässt der Schalter mich nicht am Fenster warten. Er nimmt den Auftrag an, gibt mir eine Quittung mit Nummer, und ich frage später, ob er fertig ist.

Eine Tür, die in beide Richtungen geht

Kurzer Bauplan-Eintrag für die, die die Reihe verfolgen. Die Türen und Fenster im zweiten Stock — die Schicht, die zwischen drinnen und draussen übersetzt — durften bisher offiziell nur nach draussen sprechen. Mit dem neuen Schalter kommen Aufträge auch herein. Also habe ich im Bauplan festgehalten: diese Schicht ist ab jetzt beidseitig.

Die eiserne Regel bleibt: in den Türrahmen steckt keine alte Hoteltechnik. Die Tür nimmt den Auftrag nur entgegen und reicht ihn an die Concierge weiter, die ihn nach hinten ins Backoffice gibt — dort, wo die echte alte Maschinerie noch steht. Die Tür selbst bleibt sauber.

Die alte Telefonzentrale

Jetzt der zweite umständliche Weg. Jeder Anruf, der ins Hotel kommt, landet an genau einer Nummer. Gäste aus ihren Zimmern. Und andere Hotels aus dem Grid. Die alte Zentrale am Eingang sortiert jeden Anruf danach, was er will.

Das Wichtige daran: es gibt genau eine Nummer. Wenn ich im Hinterzimmer ein schickes neues Telefon mit einer zweiten Nummer aufstelle, ruft dort nie jemand an — die anderen Hotels kennen nur die eine Nummer, die im Grid-Verzeichnis steht. Wer den Verkehr will, muss die Nummer besitzen, nicht eine neue erfinden.

Die alte Zentrale ist ein Kasten mit 29 Schaltern, 2435 Zeilen Innenleben, 68 Telefonen, die daran hängen. Und das kniffligste Teil sind die Anruferinnen, die still in der Leitung bleiben und warten, bis es etwas Neues gibt.

Die Vermittlung tauschen, ohne die Nummer zu ändern

Ich rüste nicht 68 Telefone um. Ich tausche den Kasten hinter der Wand. Der Kasten hat genau eine Buchse, in die er gesteckt ist — und diese eine Buchse ist mein Hebel. Neuer Kasten, gleiche Buchse, gleiche Nummer.

Schritt eins: einen neuen, modernen Kasten bauen, der exakt in dieselbe Buchse passt (technisch: Kestrel). Alle 68 Telefone laufen unverändert weiter. Schritt zwei: den alten Kasten rauswerfen. Schritt drei: einzelne Anruf-Arten nach und nach auf saubere neue Leitungen umlegen.

Das riskanteste Kabel ist die Anruferin, die in der Leitung bleibt und wartet. Wenn ich das falsch nachbaue, bekommen die Gäste lauter kleine, eklige Störungen — verspätete Nachrichten, abgebrochene Leitungen, fehlende Updates. Also bekommt genau dieses Stück einen eigenen Bauabschnitt und einen Belastungstest mit tausenden gleichzeitig wartenden Anruferinnen.

Und der ganze Witz: gleicher Port, gleiche Nummer. Die anderen Hotels merken nichts. Die schönste neue Anlage ist wertlos, wenn sich dafür die Nummer ändert.

Die Anrufe aus anderen Hotels

Manche Anrufe kommen aus ganz anderen Häusern in der weiten Welt — fremde Grids, über HyperGrid verbunden. Die sprechen einen alten Dialekt (XML-RPC). Diesen Dialekt muss ich weitersprechen, wortgenau, für immer. Das ist die Abmachung mit der Aussenwelt, kein technischer Schmutz.

Es gibt kein modernes, gepflegtes Wörterbuch für diesen Dialekt mehr. Also schreibe ich mir eine kleine eigene Übersetzerin, die genau die Sätze beherrscht, die das Protokoll wirklich benutzt — mehr nicht. Um zu beweisen, dass sie korrekt spricht, habe ich echte Anrufe eines echten alten Hotels (dereos.org) mitgeschnitten und als verbindliche Referenz hinterlegt. Jede Übersetzung wird dagegen geprüft.

Eine Feinheit: in diesem Dialekt ist die Reihenfolge der Wörter in einem Satz egal — es zählt nur, dass jedes Wort und seine Bedeutung stimmen. Also prüfe ich Bedeutung, nicht Wortstellung. Der erste Probe-Anruf ist eine Nachricht, die zwischen zwei Hotels durchgereicht wird — in beide Richtungen. Sitzt der wortgenau, folgt der Rest.

Warum das alles ein einziger Zug ist

Es sieht aus wie vier Baustellen, ist aber eine. Das Sprachrohr stirbt, also brauche ich einen Schalter. Der Schalter und die fremden Anrufe kommen beide über dieselbe Hoteltechnik herein. Die fremden Anrufe müssen an der einen vorhandenen Nummer landen. Also muss das Hotel seine Eingangsleitung selbst besitzen — also wird die Zentrale getauscht. Ich habe an einem Faden gezogen, und der ganze Strang kam mit.

Was ich daraus gelernt habe:
  1. Eine Anlage zu tauschen, ohne die Nummer zu ändern, ist mehr wert als die schönste neue Nummer.
  2. Wer mit der Aussenwelt redet, muss ihren Dialekt sprechen — auch den alten, auch wortgenau.
  3. Ein Faden zieht den nächsten. Vier Entscheidungen, ein Zug.
[Bild: footert5jul.jpg]
[-] The following 1 user says Thank You to Akira for this post:
  • LyAvain
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste