| ▲ | Treegarden 2 days ago | ||||||||||||||||
I dont quite follow. I understand mono vs micro services, and in the last 3 weeks I had to study for system design and do the interviews to get offers. Its a tradeoff, and the system design interview is meant to see if one understands how systems can scale to hypothetical (maybe unrealistic) high loads. In this context the only reason for a microservice is independent scaling and with that also fault tolerance if an unimportant service goes down. But its really the independent scaling. One would clearly say that a monolith is good for the start because it offer simplicity or low complexity but it doesn't scale well to the hypothetical of mega scale. | |||||||||||||||||
| ▲ | pjc50 2 days ago | parent | next [-] | ||||||||||||||||
In practice, it seems not to be a tradeoff but an ideology. Largely because you can't measure the counter-factual of building the app the other way. It's been a long time since I've done "normal" web development, but I've done a number of high-performance or high-reliability non-web applications, and I think people really underestimate vertical scaling. Even back in the early 2000s when it was slightly hard to get a machine with 128GB of RAM to run some chip design software, doing so was much easier than trying to design a distributed system to handle the problem. (we had a distributed system of ccache/distcc to handle building the thing instead) Do people have a good example of microservices they can point us to the source of? By definition it's not one of those things that makes much sense with toy-sized examples. Things like Amazon and Twitter have "micro" services that are very much not micro. | |||||||||||||||||
| |||||||||||||||||
| ▲ | whiskey-one 2 days ago | parent | prev | next [-] | ||||||||||||||||
Can you elaborate on the fault tolerance advantage of micro services? For context, my current project is a monolith web app with services being part of the monolith and called with try/catch. I can understand perhaps faster, independent, less risky recovery in the micro services case but don’t quite understand the fault tolerance gain. | |||||||||||||||||
| |||||||||||||||||
| ▲ | whstl 2 days ago | parent | prev [-] | ||||||||||||||||
The point is that it doesn't matter which is better or worse for the case, or if you know the pros/cons of each: In those interviews (and in real work too) people still want you skewing towards certain answers. They wanna see you draw their pet architecture. And it's the same thing in the workplace. | |||||||||||||||||
| |||||||||||||||||