One of the most interesting things about serverless is how much people argue about it. It's like Marmite, you either love it or hate it.

🚨 PSA: Serverless isn't for everyone.

Thread time 👇
Firstly, let's talk about my "bias". I teach a Serverless Laravel course, which has been bought by 700+ developers. Some people think "oh he only pushes serverless because he wants to sell his course".

Nope. The course was made because I tried serverless and it changed my life.
I was getting a ton of emails asking for help. I figured that if I put all my knowledge into a course, I could save people hundreds of hours.

I don't have a bias. Serverless isn't for everyone.
In terms of the pros for servers, the main pros are:

- Cheaper (on the financial side) & fixed size bill
- More flexibility (customization is easier)
- Good for long running processes
- No reliance on a vendor (e.g. AWS, Google Cloud, Azure)
The main pros for serverless are:

- No server set-up, just create an environment & deploy
- You can instantly scale your memory & CPU (via YAML)
- Highly available out of the box
- You don't manage servers. No security patches etc.
If you can hire an incredible, 24/7 dev ops team (3 members, $450,000+ in salaries + benefits + equipment + whatever else), then I'm positive you'd be able to save money instead of using cloud. Or maybe you're happy to be on call 24/7, that's great too.
To me, serverless is an equalizer. Myself and Paul built @usefathom. Neither of us are server experts, and I don't enjoy managing servers. Servers add a lot of stress to my life. We use EC2s for our custom domain layer and they stress me out 😂
Because of this, we'll pay a premium for serverless so that we don't have to manage servers. It's a huge stress relief and it's worth every single penny (sorry, "cent"). If we had budget for a DevOps team, maybe that would be different.
The biggest intellectual dishonesty that I believe people make is that they compare server costs alone. They compare a DigitalOcean bill to a serverless bill and they say "oh wow, serverless is expensive".

They ignore mental health, time cost, salaries, insta-scaling, etc.
With Fathom, we over-provision maximum concurrency, meaning we can handle spikes at any moment but we don't pay 24/7 for that concurrency. If we used servers, we'd have to deploy infrastructure to handle peaks of millions of requests. That'd cost us whether we used it or not.
With Lambda, we simply set a limit (allowing us billions of pageviews a month) and, if it's needed, it will be used. So we actually end up spending less on that front. And if you factor in that AWS Lambda is now billed per 1ms, there's a lot of cost improvement.
Imagine I'm building a fresh Laravel application. Unless I'm doing some intense stuff (e.g. video processing), there's no world in which I'd spin up a server. Sure, it would be "cheaper" but I'd have mental overhead, opportunity cost and scaling up/down would be more work.
I've been thinking about this because @taylorotwell did an interview yesterday and straight up said "If I was deploying a new accounting app, I'd just deploy it on Vapor". And it got me thinking about the kind of people who like serverless vs servers.
The people who are thinking "WTF" at serverless are people like @Lukas_Kae, @fideloper and @petericebear. These are top tier dev ops guys. They know servers incredibly well and enjoy them. So they'd read this thread and say "pfft, I'll take my servers".
Whereas someone like Taylor is wearing a ton of hats. It's not worth his time to manage servers. He would pay a premium to not deal with them. The same applies to myself and Paul, and the whole serverless crowd. Could we manage servers? Sure. Do we enjoy it? No.
This is why I think we have such a big opinion divide. As a community, we put different amounts of value on different things. For some people, price is the number one deciding factor. For other people, having less mental load is valuable to them. Each of us is different.
The TLDR is that there is nuance in this.

No, you shouldn't always use serverless.
No, you shouldn't always manage servers.

If you enjoy servers or can afford a 24/7 dev ops team, go ahead, be my guest.

If you have a good budget & don't want to manage servers, go serverless.
You can follow @JackEllis.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.