Betrieb
Anvil Coder ist ein System, das Geld ausgibt, während niemand zusieht — und ist entsprechend gebaut: Kostendeckel lassen sich auf drei Ebenen setzen, und der Dienst prüft die aufgelaufenen Kosten, bevor er einen weiteren Lauf beginnt. Was darüber hinaus an Überwachung und Selbstheilung mitkommt, ist zuschaltbar und im Auslieferungszustand aus — im betriebenen Dienst ist es eingeschaltet, und wer selbst betreibt, entscheidet es je Fall.
Das eigentliche Risiko eines autonom arbeitenden Systems ist nicht der einzelne teure Lauf, sondern der unbemerkte Dauerbetrieb. Deshalb misst ein gesetzter Deckel den Monat und nicht den einzelnen Lauf — und die Prüfung liegt vor dem Start des nächsten.
Im betriebenen Dienst stellt Anvil Coder seine Metriken im üblichen Format bereit; Prometheus und Grafana sind die vorgesehene Kette. Wer selbst betreibt, schaltet den Metrik-Endpunkt dafür frei. Ist die Ablaufverfolgung eingeschaltet, reicht sie über die Warteschlange hinweg — ein Auftrag bleibt vom Coordinator bis in den Worker ein zusammenhängender Vorgang, obwohl dazwischen eine Nachricht liegt.
Der Export der Ablaufverfolgung ist (zuschaltbar) und standardmässig aus; im betriebenen Dienst ist er eingeschaltet. Wer selbst betreibt und nur Metriken braucht, zahlt nichts dafür.
Zwei Bestandteile sind (zuschaltbar): sie werden nur mitgeliefert, wenn jemand sie ausrollt — im betriebenen Dienst sind beide ausgerollt. Ein Überwacher beobachtet den laufenden Betrieb und stellt Befunde zusammen. Und ein wiederkehrender Prüflauf, ebenfalls(zuschaltbar), stellt fest, ob die Kette insgesamt noch trägt, statt sich auf die Abwesenheit von Alarmen zu verlassen: ein hermetischer Testlauf im selben Namensraum, auf eigenen Kanälen und ohne Modell. Er braucht kein eigenes Projekt, weil er ohne Modell arbeitet.
Beim Überwacher lohnt der genaue Blick, welche Hand wie scharf ist. Ist er ausgerollt, ist der Neustart-Eingriff ohne weitere Einstellung scharf; die weitergehende automatische Reparatur ist gesondert (zuschaltbar) und im Auslieferungszustand standardmässig aus — im betriebenen Dienst ist auch sie eingeschaltet. Die Cockpit-Sicht darauf ist der Betriebsrolle vorbehalten: wer selbst betreibt, hat die Schalter in der Hand; wer den Dienst mietet, bekommt das Ergebnis und nicht den Schalter.
Beides ist als Ergänzung gedacht, nicht als Ersatz für eine Betriebsmannschaft. Ein System, das sich selbst überwacht, braucht weiterhin jemanden, der die Befunde liest.
Im betriebenen Dienst fährt die Arbeiterflotte auf null herunter, wenn nichts zu tun ist. Der Auslöser ist der Rückstand in der Warteschlange: liegt Arbeit an, kommen die Arbeiter zurück.
Die Grundlast bleibt davon unberührt — Coordinator, Datenbanken, Nachrichtenschiene, Anmeldung und Überwachung laufen weiter. Leerlauf ist deshalb billiger als Betrieb, aber nicht umsonst.