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

Of course things are easier if you can run all your code in one binary on one machine, without remote users or any need to scale.

As soon as you add users you need to start coping with backwards compatibility though, even if your backend is still a monolith.

The backend being a monolith is probably easier for a while yes, but I've also lost count of the number of companies I've been to who have been in the painful process of breaking apart their monolith, because it doesn't scale and is hard to work with

Microservices or SOA aren't trivial, but the problems you bring up as extremely hard are pretty easy to deal with once you know how; and it buys you independent deploys and scale, which are pretty useful things at a bigger place



Very few companies reach the scale such that they require microservices. It’s not even about raw scale either as monoliths can also scale. Microservices serve only a specific kind of scale. Think about it. Load balancing across multiple servers? You can scale that monolith.

Most companies that switch to microservices often do it because of hype. The most common excuse is that microservices prevent spaghetti code as if carving it into different services is the thing that creates modularity while forgetting that folders and functions do the same exact thing.

It’s generally weak reasoning. Better to go with reasoning that is logically invariant like what I brought up in this thread.


You can of course bet on not being very successful as a company. If you can keep the number of users down you simplify a lot of things


Monoliths can scale to handle tons of users. Microservices are only needed for a specific type of scaling. For example Netflix you need http servers but you also need servers to handle video streaming. Or for google the search engine must be different from Gmail. Most companies provide 1 or few services that can be handled and scaled as a monolith to handle anything.




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

Search: