scaling != high availability (you more often need the latter than the former); microservices != modularisation (you hardly need the former; you *need* the latter)
Posted by jpluimers on 2024/09/18
Important posts:
- [Wayback/Archive] Ryan Townsend: “π more π developers π need π t⦔ – WebPerformance
π more π developers π need π to π hear π this
I can count on one hand the number of my clients over the past couple of years who haven’t either over-architected for scale or were unnecessarily concerned about it (prior to coming to me for strategic advice, of course π).
You don’t need to understand Distributional Little’s Law to figure this out, it’s obvious with primary school level math.
[Wayback /Archive] Tailscale blog: The New Internet
I read a post recently where someone bragged about using kubernetes to scale all the way up to 500,000 page views per month. But thatβs 0.2 requests per second. I could serve that from my phone, on battery power, and it would spend most of its time asleep.
- [Wayback/Archive] donut βοΈ :thonking:: “@xchange @skaverat @ryantownse⦔ – Fosstodon
Now, the idea that you’ve _separated concerns_ into different little spots is fine.
But this thread’s absolutely correct that you don’t need scalability for the mjaority of these things people act like they really need it for.
Computers are friggin cool. And _wicked_ fast if your software doesn’t suck.
HA != scaling. - [Wayback/Archive] the vessel of morganna: “@colin_mcmillen @skaverat @rya⦔ – Treehouse Mastodon
@colin_mcmillen @skaverat @ryantownsend Even DRBD and HA are massive overkill for most folks. That last few extra percent of reliability is a lot more expensive than most realise.
- [Wayback/Archive] NSKE: “@ryantownsend @ceulig that’s it – CV driven development.⦔ – Mastodon
- [Wayback/Archive] Colin McMillen: “@duco serverless does not exist, it’s somebody’s servers in the end. @ryantownsend⦔ – Piaille
- [Wayback/Archive] Sven Slootweg: “commentary/addition on blogpost” – Pixietown
β¦
it’s similar to the whole thing with microservices and how it supposedly allows for decoupling code, when that benefit actually comes from code modularization and that’s only a tangential side effect of microservices. It’s not that microservices don’t *also* have this benefit, it’s that you could have had that same benefit without all the complexity of microservices.
Same thing with deploying to kubernetes; the actual benefit here is a consistent deployment environment (which is a valid thing to want!). You don’t *need* an ultra-scalable system (with all of the associated complexity) for that, you just need a consistent environment, and there are many other options for that that aren’t kubernetes-shaped, often with a significantly lower complexity cost.
--jeroen






Leave a comment