Cloud vs on-premise infrastructure ☁️
Basecamp just left the cloud. Should you as well?
Hey 👋 this is Luca! Welcome to a new 🔒 weekly edition 🔒 of Refactoring.
Every week I write advice on how to become a better engineering leader, backed by my own experience, research and case studies.
Here are the latest articles you may have missed:
To receive all the full articles and support Refactoring, consider subscribing 👇
You can also learn more about the benefits of a paid plan.
About a month ago, Basecamp made the decision to move their infrastructure from the cloud (AWS + GCP) back to on premise servers.
Quoting one of the key passages:
We've seen all the cloud has to offer, and tried most of it. It's finally time to conclude: Renting computers [i.e. the cloud] is (mostly) a bad deal for medium-sized companies like ours with stable growth. The savings promised in reduced complexity never materialized. So we're making our plans to leave.
DHH argues it only makes sense to run your app in the cloud if it belongs to one of two scenarios:
It’s very small — so you can leverage the free tiers, and the savings on complexity are real.
Traffic is very spiky — so you save money by using resources that are truly elastic.
Is it really that simple? Is AWS truly some kind of coup that blindfolded us over the last 10 years?
This week I tried to write down some thoughts about whether you should go for cloud services, your own servers, or anything in between.
I did so by considering three main angles, each with plenty of elements that should affect your choice:
🖥️ Application qualities — complexity, traffic profile, performance, and data sovereignty.
🎽 Team qualities — skills and organization structure.
💼 Business qualities — strategy, margins, and risk.
This article draws from my own experience, extensive research, and chats with some of the best infrastructure experts I know.
Most notably, I sat down with Daniele Salvatore and Francesco Furiani, who respectively lead the cloud efforts at FAO and WFP. They work in teams of hundreds of people and manage infrastructure deployed worldwide and serving millions of customers.
Let’s dive in! 👇