A team's licence and managed-service costs are growing faster than its infrastructure. How should it decide what to bring in-house?
Show the full answer Hide the answer
The comparison that must be made honestly
Licence cost versus fully-loaded engineering cost, not licence cost versus zero. Operating a distributed search cluster, a streaming platform or a database well requires engineers, and their cost plus the opportunity cost of what they would otherwise have built is the real alternative.
For a small team, one engineer's fully-loaded cost exceeds most managed-service bills, which settles the question immediately in one direction.
The factors beyond the two numbers
- Whether this is differentiating. Operating a search cluster well is difficult and valuable and it is not what customers pay for.
- Who handles the 3am failure. A managed outage is outside your control and usually shorter than yours would have been; a self-hosted one depends on whether the person who understands it is reachable. Control is not the same as capability.
- Scale economics. Managed services are cheap small and expensive large, and the crossover is real — but the crossover is a total cost crossover, not a licence crossover, and it arrives later than the licence line suggests.
- Exit cost, always higher than estimated, which argues for keeping provider-specific features at the edges.
The asymmetry that settles most cases
Buying is more cheaply reversible than building. A team that bought and later needs to self-host has a working system to migrate and knows exactly what it needs. A team that built and later wants to buy has an integration project, a decommissioning project, and skills invested in the wrong place.
The trigger to define in advance
A number, not a feeling. "This service now costs more than two engineers", or "its latency is now a product problem", or "we have exceeded the tier where the pricing model works". Reviewing against a defined trigger prevents both the premature migration and the indefinite acceptance of a bill that stopped making sense.
The middle path that is often best
Self-host the commodity parts and buy the differentiated ones, or self-host with a support contract, which buys the expertise without the per-node licence. And for anything with a licence that scales with data volume, check whether reducing the data volume is cheaper than changing the vendor — retention policy and index selectivity frequently deliver more than a migration would, at a fraction of the risk.