Follow

software dev ranting 

"Microservices" are such a fucking awful idea that so obviously has no redeeming features if you think about it for five minutes and I have come to deeply distrust anyone who promotes it as a 'modern' architecture

· · Web · 6 · 4 · 10

re: software dev ranting 

@joepie91 I'm too tired to point against it at work anymore

software dev ranting 

@joepie91 ask 10 developers and you can't even get anyone to agree what it is, but the ideology is still damaging because of all the performance costs and externalized costs you get from trying to put every function behind a https call with authentication

microservices, re: software dev ranting 

@rune Applying the "quacks like a duck" methodology yields a definition: microservices are an architecture where components of the application are split up into separate processes or (network-accessible) services proactively without having a concrete technical need for it yet".

As far as I'm concerned, that's the definition because it's the only fundamental property that sets microservices apart from everything that existed long before it (separating out intensive tasks is not exactly a new concept after all).

And if that definition sounds an awful lot like "premature optimization" to you, ding ding ding...

microservices, re: software dev ranting 

@joepie91 @rune also, if anyone claims that it's really hard to break monoliths later.. Well, then your code structure probably sucks, and there is no way your microservices wouldn't suck as well.

microservices, re: software dev ranting 

@shine @rune I've found that this is pretty much the key to how microservices caught on in the first place, too. All the supposed 'benefits' of it being touted around are *really* just the benefits of modular code, and having separate services plays no role in this at all...

But you are pretty much *forced into* writing modular code with microservices, so people who have otherwise never learned to do so attribute all these benefits to microservices instead, which of course is great for the tech companies like Amazon that popularized the concept to begin with, because microservices are way more profitable for them

microservices, re: software dev ranting 

@joepie91 @rune also, every problem of bad design in monolith has even worse impact in microservices and makes the whole thing more fragile.

re: software dev ranting 

@joepie91 idk, i remember a talk which i won't find now of the "you're doing it wrong" variety, where the main point was "don't split the code, like, at all, run a monolith with different entry points for different tasks" and then it just becomes vertical sharding, and that's fine and sometimes reasonable, imo.

But if you have to make a network roundtrip to do a computation on data you already have, yeah, that's dumb af.

re: software dev ranting 

@virtulis @joepie91 But that's just a separation of concerns. Which is a healthy thing to do, and it's one of the rules that make a potential split of services later easier (if needed), but I wouldn't call that "microservice architecture done right". It sounds more like "what should you do instead of microservices"

@joepie91 My go-to argument to cull microservice cruft at my employer has been "we do not have the development capacity for this" and it worked quite well

software dev ranting 

@joepie91 Well, it IS modern! It provides you with all the modern problems that plague the industry, aren't you glad? /s

software dev ranting 

@joepie91 I think it makes sense... if youre at the scale of Netflix or something like that. I feel like a lot of the hype is kind of like, people doing it because they think it will make them like Netflix?

software dev ranting 

@operand It doesn't make sense at Netflix scale either, and this is why: social.pixie.town/@joepie91/11

The scale just doesn't matter. The correct scaling strategy at *any* scale is "find where the bottlenecks and constraints are, and scale specifically that part" and that just isn't what microservices do.

software dev ranting 

@operand (The only difference at Netflix scale is that the difference in outcome between "targeted scaling" and "microservices" is relatively smaller and so it's a bit less inefficient than it would be in smaller-scale setups. But it's still inefficient.)

Sign in to participate in the conversation
Pixietown

Small server part of the pixie.town infrastructure. Registration is closed.