DHH yells at the cloud

My reaction to DHH’s “Why we’re leaving the cloud” post.


I admire DHH. Not because of Basecamp or HEY, as it never really clicked with me, but I do like his affection towards indie-dev and obviously enabling one of the biggest leaps in the internet history by creating Ruby on Rails. I really believe that without DHH, the world have been a worse place.

In his latest post, “Why we’re leaving the cloud”, DHH mentions that they’re dropping the usage of “the cloud”, and by “the cloud” he means AWS and Google Cloud, in favor of using their own data centers.

One thing worth mentioning before I start to rant: I live in Israel, which is in the Middle East. I grew up having slow internet for most of the services I used and loved, unless they were Israeli, which is… rare. Even Israeli start-ups are running on us-east-1 or us-west-1 because the Israeli market is extremely small, and everyone wants to become “big biznis American”, so “why not start with the biggest market” which does not require a special language (Hebrew) that is written right-to-left.

Running your own data center sounds like a fun experiment. I am running a cluster of Raspberry Pis at home, and it is fun. It works, and it’s personal, and that’s, like DHH mentioned, exactly like the internet should be: distributed. and I like it. Is it production-ready? hell no. Will it ever be? Nope nope nope. Is that humble-bragging? Maybe.

Not leveraging “the cloud” also means that you are left with implementing your own “edge network”. Unless you have your own data centers across the world, you’re limiting your distribution potential to a single region. If you want to enter the European market tomorrow, you’re gonna need to deploy a new data center. That’s not the case with AWS or Google Cloud, of course, where you piggyback the already-deployed data centers.

That message alone is problematic. DHH has many followers and even that I don’t personally use Basecamp’s products, we all regularly use many (what appears to be) Ruby on Rails products. I can see how it’s gonna limit my personal internet consumption. In a world where companies like Vercel are trying to make you globally available, DHH is pushing towards a “distributed” internet which is… localized to the US area?

To be clear, I would want the internet to be distributed. I don’t think companies like Amazon, Google Cloud or even Vercel are doing any harm with it. Everything has a cost. They all enable every company have crazy global infrastructure just like Wix and other big companies could do without these cloud providers. Do we really prioritize “the distributed internet” over “a global internet”? Do we really prioritize ideas and ideals over people?

Let’s discuss the costs too. I am no cloud cost expert, but hear me out and feel free to correct me if I’m wrong, which is the best feature of the internet:

DHH mentions that HEY is paying $0.5m USD to AWS. This is for data storage & their search engine, both are compute and storage heavy infrastructure. A team that will run this 24/7 will be more expensive. Period. Especially at US rates. “You know how many beefy servers you can buy with $0.5m USD?” that does not matter if you don’t calculate the on-call and 24/7 maintenance. When you go global to allow non-US citizens to enjoy your product (if you will, at all), you will need multiple teams.

We also don’t know what $0.5m USD means for Basecamp. Is it a lot? Is it a fraction of their revenue? Also: why is paying for services that help you is a bad thing? You are supporting other companies that provide you great value. What’s the difference if you’re paying them for the services or employing your own ops team to run the infra?

What if Basecamp or HEY didn’t use RDS, and a different service? Did they question their monolithic architecture? How come “the cloud” is to blame but not their architectural design? Will running a service that scales to zero and autoscales when necessary, like a serverless/edge function, might affect their bills? Running interactions on the front-end instead of the back-end?

So many open questions. So many things that I don’t understand in. I like how they are trying to question the status quo, but I am not sure that’s the right call here.

That being said, I hope their migration will be successful.