When does it make sense to self-host?
As frequently happens when consulting with small projects and startups, this week I was asked “Should we manage our own service, or use a hosted solution?”
My answer is pretty consistently the same: Start with a hosted service, and switch to self-managed only if and when it makes financial sense.
This question, and my answer, are generally applicable to all sorts of services: Kubernetes, log search, service monitoring, databases, mail automation, etc.
But when does it make financial sense to self-manage?
For small business, usually never. Unless the service in question is central to your business, my rule of thumb is to use a managed service unless self-hosting would save the equivalent of at least 25% of an engineer’s salary.
This might sound a bit extreme. Wouldn’t it make sense to self-host as soon as it saves you any money? If self-hosting were completely free, maybe. But there are many hidden costs in self-hosting:
- You must pay the salary of someone to manage the service.
- You must pay for the hardware (or VMs) that run the service.
- Many self-managed services will experience more frequent outages than the equivalent managed service, due to the experience of those managing the managed service.
There are many other factors that can figure into the equation, depending on the exact nature of the service, and your business, so the 25% salary rule is not at all a hard-and-fast one. But the truth is that most people I work with are tempted to self-manage services far too early than makes good business sense. In such cases, the 25% salary rule serves as an excellent rule of thumb to challenge these inclinations.