Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

[flagged]


I like how you didn't even ask for any context that would help you evaluate whether or not their chosen architecture is actually suitable for their environment before just blurting out advice that may or may not be applicable (though you would have no idea, not having enquired).


Much like parallel programming, distributed systems have a very small window of requirement.

Really less than 1% of systems need to be distributed. Are you Google? No? Then you probably don't need it.

The rest is just for fun. Or, well, pain. Usually pain.


I like how you didn't even enquire as to what size organisation they worked in order to determine if it might actually be applicable in their case.


I never said it was applicable to them, in fact I said the opposite:

> Obviously that ship has sailed for you, but I mean in the general sense.

In the general sense, no, you don't need a distributed system. Even if you have billions of dollars worth of revenue - no, you don't need a distributed system. I know, because I've worked on monoliths that service hundreds of thousands of users and generate billions in revenue.

If you're making YouTube, maybe you need a distributed system. Are you making YouTube? Probably not.

You can, of course, choose to make a distributed system anyway. If you want to decrease your development velocity 1000x and introduce unbelievable amounts of complexity and risk.


We're there at least 1000 engineers working on that system you worked on?


Yes, 1500 or so.


what they described is a fairly common set up in damn near most enterprises


Yeah most enterprise software barely works and is an absolute maintenance nightmare because they're sprawling distrivuted systems.

Ask yourself: how does an enterprise with 1000 engineers manage to push a feature out 1000x slower than two dudes in a garage? Well, processes, but also architecture.

Distributed systems slow down your development velocity by many orders of magnitude, because they create extremely fragile systems and maintenance becomes extremely high risk.

We're all just so used to the fragility and risk we might think it's normal. But no, it's really not, it's just bad. Don't do that.


Both can be true


Enterprises are frequently antipattern zoos. If you have many teams you can use the modular monolith pattern instead of microservices, that way you have the separation but not the distributed system.


Wherefore art thou IBM




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: