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.