Release v1.3.95 — die Leiter passt jetzt zur Maschine
Die alte Leiter wurde entworfen, bevor jemand ausgerechnet hatte, was ein Server traegt. Ein Host mit 456 GB und 15 % Reserve vergibt 388 GB — das sind auf 100-GB-Paketen drei Kunden fuer 147 EUR, waehrend 64 GB RAM und zwoelf Kerne acht bis sechzehn getragen haetten. Es wurde eine Rechenmaschine fuer ein Speicherprodukt gekauft, und sechs RAM-Plaetze verfielen. Neu: Start 30 GB fuer 39 EUR, Team 85 fuer 79, Business 175 fuer 139 — jeweils auf 40, 100 und 200 GB Platte. Neun Startkunden je Server statt drei, 351 EUR statt 147 bei unveraenderter Miete, und der Punkt, an dem Speicher und RAM gleichzeitig ausgehen, ist derselbe. Der Kopfraum waechst mit: max(10 GB, 12 %). Eine 175-GB-Nextcloud mit fuenfzig Nutzern hat eine groessere Datenbank, mehr Dateiversionen und mehr Papierkorb als eine mit drei Leuten, und eine volle Platte legt nicht den Upload still, sondern die Instanz. Der Zusatzblock geht auf 20 GB fuer 15 EUR und ist bei drei gedeckelt. Bei 12 EUR waere er mit 0,60 EUR/GB billiger gewesen als jeder Aufstieg (0,73 und 0,67) — dann stapeln Kunden, statt umzusteigen, und belegen den knappsten Rohstoff zum niedrigsten Preis. Ein Block bringt zwei Gigabyte eigenen Kopfraum mit, damit die Regel auch fuer ein gestapeltes Paket gilt. Drei Reparaturen mussten der Preisaenderung vorausgehen: die Packungsgroesse stand in der Konfiguration statt auf der Buchung (der Zuschnitt haette jeden gekauften 100-GB-Block auf 20 schrumpfen lassen), der Deckel war nirgends geprueft, und das Aufstocken fragte den Host nicht nach Platz. Enterprise verlaesst den Laden und wird angefragt: 500 GB finden auf 388 GB keinen Platz, und der Kunde erfuehre das nach der Zahlung. Damit "eigener Server" mehr ist als ein Wort, koennen Hosts jetzt einem Kunden reserviert werden — placeableIn() nahm bisher jeden aktiven Host, und die Kapazitaetszahlen zaehlten eine exklusiv verkaufte Maschine mit. Das Testpaket heisst Intern, verschwindet aus dem Verkauf und bleibt verschenkbar. Dafuer trennen zwei Schalter jetzt zwei Fragen: internal heisst "nicht im Laden, aber ueber die Konsole vergebbar", sales_enabled = false heisst "ganz aus". Codex fand drei Fehler, die keine Durchsicht vorher hatte: der Deckel war nicht nebenlaeufigkeitssicher, ein angehefteter Host umging die Reservierung, und dieselbe max(1, ...)-Falle hatte im Bestaetigungsfenster ueberlebt. 2466 Tests gruen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>main v1.3.95
parent
ef4be9c518
commit
e6ee0716f0