UptimeUptime Wiki

Investing in a service line

You do not start able to sell everything. Richer services -- object storage, managed databases, CDN, Kubernetes -- begin locked. Opening one is a deliberate bet: you spend the cash to stand it up, and from then on you can take the customers who want it. Until you do, prospects asking for that service arrive as business you have to turn away -- the itch that tells you when the investment is worth making.

Lighting up a service means standing up its brain on real hardware and feeding its agents out of your fleet's capacity. So the decision is not only "can I afford the unlock?" but "do I have the machines to run it well?" Open a service you cannot properly host and you will breach the very customers it attracted. The smart play is to invest when the demand you are turning away clearly outweighs the cost -- and when you have the capacity to keep the new promises.

Detailed explanation

The gate

Service classes carry a ServiceGate { enabled_by_default, unlock_cost }. Default is all-unlocked (no-op); a scenario opts in by locking a class. While locked, accept_prospect blocks a signup for that class with an actionable reason, and the class surfaces an Invest action (InvestInService command) showing the one-time cost and whether you can afford it. Investing flips it sellable and emits ServiceInvested.

Gate plus plane

Unlocking the gate is the cash bet; standing up the control plane + agents (see the control-plane article) is the capacity bet. They compound: a freshly unlocked service still has to fit its control-plane and per-host agent reserve into the bin-packer. Treat the unlock as the start of the commitment, not the end of it -- right-size capacity before you start signing the tenants it brings in.

On this page