15 years ago, Gerhard discovered magic in the form of Ruby on Rails. It was intuitive and it just worked. That is the context in which Gerhard fell in love with infrastructure and operations.
Our guest is David Heinemeier Hansson, creator of Ruby on Rails, co-founder of Basecamp & HEY, and a lot more - check out dhh.dk.
David Heinemeier Hansson: Itās not only absurd, itās actually revolting. I think weāre spoiling one of the greatest achievements of humankind, the internet. And weāre willfully regressing on all of the key components that made it so unique, and weāre handing it over to a bunch of monopolists to run as they see fit. Thatās just dystopian. And I feel that because Iāve literally been working with the internet since the very first browsers came out. And I owe my entire career to the internet. I owe much of my life to the internet. So to see us spoil it in this slow-boil way is just heartbreaking.
Now, I understand why. Itās not like there arenāt reasons why people enjoy, or perhaps even prefer the cloud⦠But a) I think those reasons are overstated. I used to assign to those reasons. This whole moniker of like, āWell, you wouldnāt create your own power either. What, are you going to run a power plant in your backyard?ā That was very compelling, I think, in the early days of cloud, and now itās very uncompelling, as people have realized that it takes just as much f****nā effort to run in the cloud as it does to run on-prem. In many ways, it actually takes more effort. And in many ways, the complexity of racking a server and connecting some Ethernet cables and so on is dwarfed by trying to understand the 150 services AWS puts out, or how you do permissions, or how you do cross-routing; all the other complexity of the cloud is there, itās at least as much.
[38:24] Now, that is not to say it does not have distinct advantages, and we enjoyed some of those advantages very much when we launched Hey. When we launched Hey, we had scoped and set up the infrastructure to accommodate I think 30,000 people trying out and using the system over the course of several months. Well, we had over 300,000 people show up in three weeks. On the cloud, we could push a few buttons - it wasnāt quite that simple, but at least the mental image of it is simple, where we go like āBoom! Now we have like 10 times the capacity.ā Now we can deal with 300,000 people showing up in a few weeks, instead of 30,000 people showing up in a few months. That is a difficult proposition if you had been on-prem. So thatās what the cloud does really well, it does spikes very well. So if you have this incredibly unpredictable business, the cloud does that better than anyone else. Now, is that generally our business? No. I can predict the amount of storage, for example, we need for Basecamp a year-and-a-half in advance, because itās such a stable, predictable business. The vast, vast majority of SaaS software, and certainly all of b2b SaaS software is incredibly predictable, which is why in part itās such a good business. But it also means that the key advantage of the cloud is not that pertinent. And in fact, it is almost sort of ā itās the downside, right? Like, you rent your computers.
Now, what do you think is cheaper - to rent your computers or to buy your computers? Now, it is cheaper upfront to rent the computer. So if you have no money at all - great. Okay, fine; you donāt have to buy the machines. But if you have to rent the same computer for five years in a row, youāre going to pay for that computer five times over, at least; in some cases 10 times over. Right? The expenses involved with the cloud are evident in the profits that AWS posts every quarter to its parent company. AWS is responsible for something like three quarters of all profit of Amazon. Now, imagine that - Amazon sells billions and billions and billions of dollars worth of merchandise every day on their website, and itās barely profitable. They rent out a bunch of infrastructure to tech companies, and that is wildly, obscenely profitable. What do you think that money comes from? It comes from your f****nā pockets, right? Now, there are some economies of scale, so they can obviously buy some things⦠But those economies of scales are not like 10 to 1. Itās not like Amazon could buy the same CPU for a 10th of the cost that you can buy that CPU. I donāt know, do they get 20% discount, 30% discount? Whatever it is, the math doesnāt work on the long term if you have a stable workload.
And thatās partly where we have been with our business since the beginning. Now, Hey, was different, but now itās not so different. Now itās a far more predictable thing. And when I see the amount of money we send to AWS every month from Hey, I cry a little, because it just looks like, āGeez, if we take that money and we invest it in our own software, a) we get out from under the big tech monopoly of this software, b) weāre not contributing to the death of the internet, where we reduce all the computers that run it to these three data centers, and c) weāll actually make a bunch of money. Weāll own a bunch of software.
And what Iāve also found, particularly right now, weāre in this fascinating phase of hardware infrastructure where advances are actually happening again. Now, for the longest time, 2010 through ā18, or something, how much extra power they would get out of those Intel CPUs? Bubkes, Nada, Niche. You could barely tell the difference.
[42:07] Suddenly, TSMC and Apple have turned up the heat on the manufacturing processes, and we have AMD putting out five nanometer chips, and youāre suddenly seeing like 20%, 25% performance jumps generation to generation. And Apple has been doing this for multiple years running straight. Itās why those M1 and M2 chips are so ludicrously more powerful, in particular on the laptops, than any of the competition, because thereās finally stuff happening in the hardware realm again. And you get to be involved with that if you buy your own *bleep* computers. Thatās fun. Fun in the same way as that example you refer to where we laid out all the RAM we bought for the machines back in 2012.
And the second thing is, computers are getting ludicrously powerful, particularly in terms of storage. And that is one of the things that just fascinate me. What changes, at which point do we have tipping points where - for example, Redis is a tool weāve used for the longest time, and we used it for a bunch of storage, and that obviously runs all in RAM, but now you have NVMe cards that can do 10 gigabytes a second with a PCIe 5 and youāre going like āWhoa, maybe we donāt need to use RAM for caching anymore. Maybe we donāt need toāā It just opens a whole new domain; it feels like weāre a little bit back at the frontier, in much the same way as I recall like the Pentium days; we went from a 486 to a Pentium and youāre like āHoly s**t, we can do new things in new ways.ā Thereās some of that going on right now, that I donāt even think the industry at large have internalized, and part of the reason they havenāt is because so much goes straight into this amorphous cloud. If you now knew how large of a site or an app that you could run on a single damn computerā¦
Iāll give you an example. We just bought some new NVMe cards for Basecamp. 12 terabytes worth of storage - $3,000. Youāre like āThatās so wild.ā In 2012, when we were specāing out the hardware for Basecamp 3, we were buying these exotic, not available to mainstream Fusion IO NVMe cards that were like - I think it was $30,000 for like two terabytes, or something⦠Like, orders of magnitude less. They were orders of magnitude slower. I donāt think most people realize just how much computing power, how much storage performance you can get in a single box. I would say that probably 95% of ā I mean, Iām just f****nā shooting in dark here, but for comedic effect, 95% of all b2b SaaS software could run on a single box under the sysadminās table at the company. And thereās so many companies spending 20k, 30k, 100k, a million dollars a month renting a bunch of s**t from Amazon or Google or Microsoft, when they could just buy some of this new, amazing tech and stick it under the desk.
So I think weāre due to a pendulum swinging back here, where people realize, āHey, you know what? The cloud was not actually that great.ā And the reason it wasnāt that great was it was no less work; it has just the same amount of complexity.ā Now, thatās not true in all regards. If you use something like Heroku, or Render, or some of these other fully ā there, you can get away with an actual reducement in complexity. But if you are trying to set up Kubernetes, or run that yourself, or run that through Amazon, or whatever, the complexity and the expertise needed is just as high as it was on-prem, and the costs are increasingly out of sync, in my opinion, with what you can do yourself.