Renting Computers

Adam & Dax discuss a blog post by DHH where he explains why they're moving away from the cloud and managing their infrastructure in-house.
Adam:

Hey. Did you see the the DHH article? Of course, you do. We're we've said we're gonna get on and talk about this. I know you've seen it.

Adam:

I'm an I'm an idiot.

Dax:

I mean, it's been everywhere. And a lot of quote tweets because, I guess, no one can reply, so it just becomes like a quote tweet flame test with every single post, which, you know, everyone says it's part of their marketing strategy. But

Adam:

Does it work? Like, who who ends up being like, this DHH guy, what a jerk? And then, like, hey. Basecamp looks nice. I don't know.

Adam:

Is that actually a strategy that works? I just would love to see one case where that worked.

Dax:

Yeah. I don't know what that funnel is. It doesn't make any sense to me. But I read the article. It was pretty short, pretty straightforward.

Dax:

And I think it it I can probably summarize it pretty quickly. It was just they looked at their bill for AWS and what they're paying for, you know, RDS, Elasticsearch, paying half a million dollars a year for those services. And, you this is too much just for renting these servers to run the software. It's gonna be cheaper for us to host it ourselves. And I think in general, a lot of people were replying saying, oh, like, for this many users, like, there's no way your bill should be that high.

Dax:

I think in general, I try to stay away from stuff like that. I just don't know. Like, I don't I don't know what their product is. I know what it does. Like, everything's always more complicated than than it seems.

Dax:

But I think the thing that's more interesting is that their conclusion was so broad. They're like, we're paying too much for these services. Therefore, the cloud has no value, period. We should go to self hosting, and more of you should consider this as well. Does that sound right?

Adam:

Oh, yeah. It sounds right. And I guess, like, is the isn't the majority case people not using the cloud? Isn't cloud adoption still pretty small? And, like, to make the case that they're, like, the empire and we're the rebels and we're gonna go on prem and do dumb stuff, like, we're the rebels, that I think that's the normal thing.

Adam:

He talked about, like, the cloud and their big, like, marketing cycles and how they've really, like, convinced everybody. Have they? I feel like they're just, like, barely touching the surface of what people should be doing on the cloud.

Dax:

Yeah. I I there's a post again, another post on Hacker News that it's the same thread every time about how the cloud is a scam, and and it's it's that same comment. It's yeah. We've had a decade of, like, people tricking us into thinking everything's gonna be cheaper. And then I don't really know what that what people are referring to.

Dax:

But, yeah, that is, a sentiment that I think people generally have.

Adam:

Did you wanna defend DHH? Did you wanna, like, make the case for why maybe you should move away from the cloud? Is that is that what you're getting at earlier?

Dax:

I I I think there's some legitimate gaps that because of their service, they're running directly into. They are an email service that's indexing text. There is no great serverless option Yeah. In AWS for this. You're effectively just renting servers from them to run

Adam:

a expensive. Searches. Right?

Dax:

Yeah. Compared to pretty expensive. You have to, like, provision clusters. You have to over provision them so that you can meet growth and then continue to over provision them. So that sucks.

Adam:

And Yeah.

Dax:

It's not a good experience. And I can see why they might say, yeah, this is not worth it for us. It's definitely a gap. And then also on they're also using RDS. And there is no I I I know AWS has their serverless RDS, which I actually think is pretty good.

Dax:

But it's not really serverless. Right? Like, you're still kind of more or less. It's just kind of like a good auto scaling RDS instance, like a normal RDS instance. So again, like, low value in terms of what the cloud can do for them.

Dax:

They're kind of just roughly managing these these servers for you. So I get their point of view and why they switch in that, like, specific decision. I think I would still suck with it because as some people pointed out, 500 is, like, two competent engineers times. Yeah. So, like, how much money you guys can

Adam:

net yeah. I I feel like you're gonna add two engineers worth of concerns onto your plate by doing all that yourselves, I would think.

Dax:

Yeah. Exactly. But I think the thing with stuff that they typically publish is, like, it makes sense in, like, their narrow band of what they're working on, but the conclusion is pretty broad that the cloud is useless, and then that feeds into, like, some larger debate that's happening on the cloud being useless. And people are pointing to it saying, hey. Look.

Dax:

Look how expensive it is. It is useless or is a scam, etcetera. So, yeah, I I think that's just how this conversation has gone. And I think that most of the people I think Zachary Kanter had the perfect summary of all this. I don't know if you saw it.

Dax:

He was saying, it's a self fulfilling prophecy. People are skeptical about the cloud. So they build stuff in a portable cloud neutral way that doesn't take advantage of the cloud. And then they're like, wait. I'm just renting servers that are really expensive.

Dax:

Why am I using this in the first place? So I think that that's just a cycle.

Adam:

The And lowest common denominator, like, we don't know that we wanna be here, so we're gonna put one foot in the door, and that ends up being really expensive. Yeah. But, yeah, I I don't even know. Is it that much more expensive than what you're doing even with with using that lowest common denominator stuff? But then serverless and event driven and all of this, like, is that the answer?

Adam:

We can we can move to that stuff or could for their use case, can you imagine building hey.com on event driven stuff that you build, like an SSD?

Dax:

Yeah. I think I actually like the way you phrase it in your in your video that put out on YouTube. I think building stuff in this, like, neutral way can work, but it's hasn't changed in fifteen years

Adam:

or whatever the time frame was.

Dax:

There's all sorts of new interesting ways to build stuff that is very different and throws out a lot of the old stuff, so you're kinda starting from scratch. But, yeah, for something like, hey. Like, you know, I see no reason why it can't be mostly serverless, at least on the compute side. On the database side, I think for a lot of just like the the business logic stuff, their users or accounts, things like that.

Adam:

Yeah.

Dax:

Dynamo, all those serverless databases, say the database options will work great. It's really just a search thing that's a good killer.

Adam:

Yeah. That's missing. Did were you triggered by the renting computers? Like, just that summation of what the cloud is? Because he makes a point to be like, this is what the cloud is.

Adam:

We're afraid to say it, but that's what it is.

Dax:

Yeah. Yeah. I mean, it I always have this dual thing where I'm like, that annoys me, but then I'm also like, I remember when I used to say that.

Adam:

You were the you were Kubernetes. Right? You were you were doing all that lowest common denominator stuff.

Dax:

Yeah. I agreed with every single point in this article at one point.

Adam:

Oh, who? DHH? This article? Yeah. That's awesome.

Adam:

So do you agree what what do you what do you agree with still? What do

Dax:

you not agree with at all? I mean, I think I just I agree with all of it, except it's like but you haven't discovered this other thing. You know? It's like within your limited view of the world Yeah. Your logic is flawless.

Dax:

And could

Adam:

they discover the other thing, or are they always going to use Rails? And can you build a Rails app that takes advantage of all this stuff?

Dax:

I actually don't know. I'm not I'm not that familiar with Rails. I don't think so because I

Adam:

think it's I've actually I've done some hosting for clients, hosting Rails apps on AWS, and I don't know that you could really take advantage of, like, modern Probably not. Bit driven stuff. You can replace, like, your queue with SQS instead of Sidekick, you can replace, I guess, like, instead of running Redis just in another compute like your Rails app, you can run it in ElastiCache or whatever, but I don't know. It's all still, again, that pretty expensive stuff on AWS. It's not it's not the new thing.

Dax:

Yeah. With this type of thing, it's I I think everyone's looking for the incremental step of here's how I used to do things. I'm moving to the cloud, and here's this incremental way of moving my stuff there, which is just lifting what I have and putting in the cloud. And the results are disappointing because these incremental steps aren't gonna get you to anything game changing. You kinda have to I got realistically, I don't think moving to the cloud is really an option.

Dax:

I think you'd to wait for new companies to just start in this cloud native way. So when people move to the cloud, they just run servers in the cloud and they're like, this is expensive and it sucks.

Adam:

Yeah. Yeah. Yeah. So that that's something I think about, like incumbent companies and the disadvantage they have if they built their thing a a decade ago. Like, I think it's hitting exactly what you're just saying.

Adam:

Like, I don't know how you move that stuff into this new world. Like, can you strangler pattern your way into I guess, lego.com.

Dax:

So Lego did it. Yeah. But, I

Adam:

mean, did they end up end up like, it just rewrote most everything over time. But they they had, like, a successful migration into now, like, best practices. Like, they're leading the way, kind of showing how teams can build this way with multiple teams. And yeah. But I think of, like, a company like what is the company?

Adam:

What that makes Basecamp? What is their company called?

Dax:

Thirty seven Signal?

Adam:

Thirty seven Signals. I think of them as being like, they're, yeah, they're never gonna change in that way.

Dax:

That article is sort of reflective of that. And the devs so much experience building things the way they build it, like decades of, like, literally creating that pattern. So

Adam:

So it's probably better for them. Like, they would never move as fast with the new stuff than they can move with the thing they've been doing for a decade.

Dax:

Yeah. And it's a pretty small company too. It's not like you're so, yeah, I I get it. It just makes

Adam:

sense for that. Smaller all the time. The more inflammatory DHH can be on the Internet, the more people leave.

Dax:

36 signals, 35 signals.

Adam:

I love making fun of these giants like I've ever done anything in my life. Like, just sit back here and throw stones. What do I know? I can't even find I'm looking at the article trying to find the thing that I totally blanked on earlier, and I literally can't find it. It's not even that long of an article.

Adam:

I don't know. He does talk about, like, it works on two ends of the spectrum. The one end and it feel I feel so called out when he says, first the end is when your application is so simple and low traffic that you really do save on complexity by starting with fully managed services. I feel like that's a sentence I would say. Like, you can start simply with these fully managed services, and I never make it out of that part.

Adam:

Like, I never get to the part where it's not just simple and low traffic. But then what's he say about the the higher end of the spectrum? Oh, yeah. Second is when your load is highly irregular. Okay.

Adam:

So he's saying the cloud doesn't make sense if you have predictable anything. They only make sense if you need to be able to burst and scale at these crazy bursty rates or if you're tiny and you don't have any traffic. What do you what do you take from that? Yeah.

Dax:

I think the math on that is actually counterintuitive. I think it's kinda intuiting that, oh, if we have consistent load, there's not gonna be a big difference going to something that's serverless. But if you actually do the math, it's pretty crazy. You know, if you're constantly serving, you know, 10 requests a second, for example, that seems like a lot, like a constant 10 requests loaded, I should pre provision stuff. But if each of those requests only take a hundred milliseconds each, you're actually overpaying by 90% because, you know, in that one second, you're only using, like, one one hundred like, a hundred milliseconds of that second.

Dax:

So if you actually, like, do out the math run the math out Yeah. The savings can be pretty pretty crazy. You have to multiply this by, like, high availability. So you don't have to have one copy of stuff. Have multiple copies of stuff.

Dax:

It's it's kinda surprising sometimes what for what feels like constant load is actually mostly empty space. So yeah, I think, again, like, just have to do the math out on your own and see see what you get to. But I've always been shocked when I've moved companies to serverless stuff. I, like, knew it was gonna be cheaper, but it's often, like, a crazy ridiculous multiple cheaper.

Adam:

Yeah. Yeah. And and it shouldn't be cheaper when you have less you need to do. He he makes the argument that you would have, like, cloud has promised you'll need less staff to manage your thing. And if if it's cheaper even without factoring that in, I I think, like, if it were the same, it still should be cheaper total costs.

Adam:

Right? That's the whole total cost of ownership thing. Like, ultimately, having fewer concerns, fewer operational burdens should mean your team can focus on things that are more important. But DHH is making the argument that medium sized companies, that's not the case. You can afford to just hire people who manage infrastructure.

Adam:

Oh, that's the thing. That's the thing. The thing that I forgot earlier. I should stop emphasizing it because I'm gonna forget again. The thing is he makes the claim that it's really complicated to have people that can manage your AWS stuff.

Adam:

Like, that's just as complicated as managing your on prem stuff. And I think, again, we're talking about the difference in running lowest common denominator, like Yeah. VMs and stuff and using event driven modern managed services.

Dax:

Yeah. Which, again, he's he's correct because back when I did all the Kubernetes stuff, I much preferred managing bare metal Kubernetes than like AWS's flavor or like Google's flavor. Google's flavor is actually pretty good. But, yeah, again, makes total sense. I know other thing he mentioned was no company he knows of has scaled down their operations team as a result of moving to the cloud.

Dax:

Totally

Adam:

yeah. That I mean, that's so unstamp substantiated. Like, I'm sure there are plenty of cases. I'm not

Dax:

gonna substantiate them as well. But Well, even if it's not substantiated, I think this is one of those paradox things where when something becomes cheaper or easier to use, you use more of it. So it's okay that your operations team didn't shrink. Your engineering team might have even grown even as a result of moving to the cloud. But if you break it down to what they're doing, what they're focusing on, like, you're if you have resources to spend on hiring, and you're not gonna, like, cut that.

Dax:

Right? Because Yeah. Presumably, you have good stuff that people can be doing. So, yeah, teams generally don't shrink. They might even grow, but it's maybe because they can more easily add more people and have them do the useful things they they need them to do.

Dax:

So the simple this, like, simple way of just looking at it as, oh, did you fire people or not? Like, I don't that the company you find out a good company if that's what they ended

Adam:

up doing. I've I've heard you in the past say, like, at companies, there's never a shortage of things to do. You're always sacrificing what you could be working on to work on something. So Yeah. Yeah.

Adam:

In that sense, I guess he's maybe he's trying to argue that, like, you have people that are specifically that have expertise with managing AWS stuff, and you need those people if you don't have the people who are specifically good at managing infrastructure and, like, on prem stuff or whatever, hybrid cloud. I don't even know all that world. I know nothing about it. But, like, I guess my view of the future is people are good at all of it. Yeah.

Adam:

Exactly. Like, one role. It's like the event driven serverless stuff feels much more one developer has so much more leverage than they did ten years ago, and that's a good thing. And you hire everyone you can get your hands on and convince to work at your company, and you don't think about what they're doing. You just know they're capable of doing any of the things across the stack.

Adam:

I don't know. Maybe that's some utopia that doesn't exist, but that's how I like to think of the future.

Dax:

No. I I think it I think it is happening. Or even myself, I'm doing more, you know, quote unquote ops work than I ever have before. Not because of anything with me, it's just become much more accessible and easy for me to do. So I don't need to Yeah.

Dax:

Outsource that into another person. So, yeah, I agree. It's just ideally, you want a company where everyone's the less specialization, the better in a lot of ways. So, yeah, I think more people just do the ops role, and you have the same number of people, but it's not this thing where, like, the developer fringes their their work, and they give us the ops person to figure out their thing. And there's all this overhead and communication stuff that goes wrong in that process.

Dax:

So yeah. I think to me, it's more about making ops work just become normal application developer work. That's kinda the ultimate goal.

Adam:

Yeah. I'm trying to find the Simon Wordley had a tweet, and I loved it so much in response to this DHH thing. I love Simon Wardley because you'll be like, hey. Did you see that article from DHH? And he's like, no.

Adam:

Who's that? He's just so he's so cool. And he's, like, retired from cloud, he still knows more than we'll ever, like, unlearn. But he basically was laying out, like, what are you even talking about, like, cloud infrastructure stuff? Like, if you're not on serverless, you're dead.

Adam:

Like, it's over. You you missed the boat, and I love it. I just love that take so much because I just hate I hate when I see these arguments pop up, and it's like that we're having to defend. It's better to do less undifferentiated dumb stuff at your company. I hate having to defend that.

Adam:

Like, it just seems so obvious to me. And I guess, like, there are edge cases. That's Simon's point is, like, there are these edge cases. The problem is too many people thinking they're the edge case. And, like, the majority of people should be building their thing.

Adam:

When I think about Basecamp, like, task management or something, I've never seen Basecamp in my life, and I hope to never have to because I don't work on teams. Not a slight at, like, 37 signals. I'm just saying, like, I don't use software to coordinate with people because I don't coordinate with people. But if I did, I imagine software where you're just, like, managing tasks and, like, action items and, like, workflows and all that nonsense and communication, I would imagine you can build that on the thing that allows you to not think about literal servers and OSs and networking. And, like, if you're thinking about that stuff to build that app, then there is no use case for serverless.

Adam:

Like, if serverless can't solve that, if event driven applications can't be built that solve that problem, like, there's nothing complicated about that problem. Am I wrong? Is there something about Basecamp or that use case that, like, demands serious infrastructure investment and understanding on your team?

Dax:

No. I think pretty much in every category now, you can find one company that's doing fully serverless stuff. And not our product, you can probably find this comparable product that is built with this new architecture. So, yeah, at this point, it's like, you can't argue it doesn't work. And I actually think this is the way it's always been.

Dax:

I'm sure there was a time where someone was like, if you're not literally, you know, putting your CPU on your motherboard and building your server, like, there's something wrong with that or, like, you know, you're getting tricked to buy these preassembled servers.

Adam:

Into the marketing. Yeah. With these machine makers.

Dax:

Just life goes on, and we build higher and higher abstractions, and we build on top of other things that exist. Like, all the way down to, like, we're not worrying about the electricity getting towards or like, it's just there's just so many infinite layers over the thousands of years of work. So, yeah, I think it's just kinda dumb to fight these things.

Adam:

So is there just this what is the, like, what is the ending here that makes me feel better? Because all these stupid arguments crop up because of these dumb blog posts. Sorry. I'm so inflammatory. I think I'm an inflammatory person.

Adam:

I'm learning. I just get very upset about things, and I shouldn't because it doesn't affect me. But, like, I get all fired up. I see this article. I see the whole debate rage on again, and it just bothered me so much.

Adam:

Is there gonna be, like, an unceremonious ending to all that? Like, this is not gonna be some big moment where I could be like, see? It made sense.

Dax:

You know what? That's what sucks. There's never that satisfying moment. Yeah.

Adam:

It's not going to.

Dax:

I feel like I've seen this enough times now where there was a time where everyone hated static. Not everyone, but there's a lot of debate around static typing and type safety. And it was just like, that's dumb or like, that's just Yeah. Dumb overhead. And TypeScript came out and just slowly got incremental adoption every single month, and now everyone's using it.

Dax:

And no one is there was never a moment where it was like, You know?

Adam:

Yeah. It's just you go six months and you realize, I and this is real, like, honest assessment for me. I feel like I've gone six months and not seen somebody argue against TypeScript. And that's, like, the first time on Twitter I think I've gone six months without seeing that argument. So it does feel like it just oh, yeah.

Adam:

People used to argue about that. It just disappears. It just disappears.

Dax:

Yeah. We should maybe do like someone out there should like archive this stuff of like, okay, here's the debate. And I should publish the debate. It's over. It hasn't come up.

Dax:

And, like It feels

Adam:

so good.

Dax:

Yeah. So saying x y z.

Adam:

Yeah. I think of it. I've got kids. I think of it like we forget all about, like, the first year when we didn't sleep at all. Like, in the moment, it feels like this is never gonna end.

Adam:

This is my whole life. It's so consuming. And then years later, you're like, oh, yeah. That just stopped. I don't I didn't think about the fact that it stopped.

Adam:

So eventually, the DHH article is about dumb well, it's not DHH. This is his first moving away from the cloud article, I think. It's not DHH. He's just the symbol right now. But eventually, these arguments will stop cropping up and will stop having to defend why it's good to focus on the thing you're trying to build and not all the other things.

Adam:

And that's what it is. I mean, that's what I don't think of the term cloud or serverless as being clear in that regard. I think that's what we're focused on, though. When we talk about a thing, we're talking about more focus on real problems, less focus on undifferentiated stuff. Right?

Dax:

Yeah. Agree. And, you know, to be honest, it is as annoying as it is and as much energy it takes up. On some level, I think we all enjoy being part of a group that's trying to make what we see, like, the next thing happen with a bunch of people being like, no. This old thing is better.

Adam:

Oh, yeah.

Dax:

There's Again, that's why the you know, that's why I can't side with Vercel because they have, like, one. So I want my looking for the next thing. That same thing in me that I kinda wanna be the underdog to some people.

Adam:

That's why the Star Wars movies are good. The rebellion. So this was harder to talk about than I thought it'd be. I thought, like, when that article came out, I was like, I gotta get on with Dax and talk about this because I'm so fired up. And then we got on, and it was kind of like, I don't know.

Adam:

Do I have coherent thoughts about this topic? Maybe not. We'll see. The podcast listeners can tell us.

Dax:

Yeah. You know, I I I kinda feel the same way. I think it turns out we've there's nothing new in this. I've kinda heard this a million times, and we've probably talked about it a million times. So

Adam:

I feel dumb even saying, like, TCO. I feel like dumb, like, I'm, like, being pedantic or, like, I'm being not pedantic. I'm being like, I'm talking down to the audience trying to say terms like that when I feel like they've been beat so hard that drum has been drummed. And I don't need to explain total cost of ownership to anybody anymore. But I guess I do.

Adam:

I guess there's people that still don't see the the world that way and maybe never will. I don't know. Okay. I really don't have an ending for this one. I didn't have a middle.

Adam:

I didn't have a beginning. I don't have anything for this one. I'm just fired up. This has been fun. I'm really enjoying not doing new guests and just talking to Dax all the time.

Dax:

Yeah. It's it's good not to just have these conversations with myself in my head all day.

Adam:

Yeah. Exactly. Like, we leave

Dax:

it out here and we can kinda move on.

Adam:

So My yeah. My listeners may disagree. They might wish some of my things just stayed in my head, but feels good to me. I'm enjoying it. I'm enjoying getting it all out of my head.

Adam:

Yeah. Alright. It's been good. Thanks, Dax. See you.

Adam:

See you.

Creators and Guests

Adam Elmore
Host
Adam Elmore
AWS DevTools Hero and co-founder @statmuse. Husband. Father. Brother. Sister?? Pet?!?
Dax Raad
Host
Dax Raad
building @SST_dev and @withbumi
Renting Computers
Broadcast by