David Hansson says what has been written on the walls for years: the cloud is mainly someone else‘s profit, but probably not yours.
I’ve been in the business of operating services for more than a decade and when I started, „the cloud“ didn’t exist. There have been hosting services for websites and email and root servers but that’s it. Everything we needed we had to build and run ourselves and that worked great.
Even today, the services I use from cloud providers boil down to virtual machines and occasionally managed Kubernetes. My companies operate all data services themselves with the same well known and established software that cloud providers rebrand and sell to us at a premium. And it’s now easier than ever, even if you don’t have 10 years of experience in operating stuff.
Whenever I’m consulting with new clients and the question arises how to run their new technology stacks, I advise to build it in house and hire and train staff to operate and own it.
I’ve worked with many companies being eaten by the lock-in they moved themselves in when relying on rebranded and overpriced open source software running on someone else’s computer.
As soon as their customer‘s requirements changed to something like „run it on my premises“ they went belly up. They’re simply not able to deliver as they exchanged the cost for having experienced staff with a huge cost of opportunity by falling for the promise that the cloud enables unlimited and controllable scale in no time.
But they never need to scale, actually. They need to be flexible and able to move. And once they’re running their stacks on someone else’s computer, they simply aren’t flexible anymore.
I always advocate for using cloud native technologies to be able to run your software anywhere. And more often than not it makes sense to use and invest in existing infrastructure and the right people to operate it.
It might not for Startups in their early stages, but even those can build in a pragmatic and objective way so they can at some point make smart decisions for their technology without being locked in a walled garden, drowning in costs they can’t control and understand.
You don’t need to build datacenters and rack up servers. You can start like this:
only use basic services like virtual machines
build and understand the rest of the technology stack in house (use Docker, Kubernetes, DevOps approaches to deployment and operations) so it can run on any machine
hire and train staff in cloud native technologies (check the CNCF landscape)
only start investing in own infrastructure once you have the scale for it
then move over (it’s easier now that your foundations are set)
Just make sure you’re not trapped in someone else’s walled garden if you want to be flexible with your business.