- Are you Google or anything close to the size of FAANG/MAMAA?
- Do you have 10+ tech teams in your company?
- Do you have multiple products?
- Do you have a bottleneck in your system?
- Do you need multiple types of databases to handle different behaviors/purposes?
If your answer to all (or most of) these questions is yes, then Microservice architecture might help you split your solution into simpler blocks so they can be solvable by "hopefully independent/less-dependent" teams.
If not, Microservice architecture is probably overkill for you, and you will end up just wasting time and resources on the added complexity. Similarly, if your company is small, you don't need Kubernetes for many use-cases until you need it! (anything from the diverse CNCF ecosystem, GitOps, service mesh, etc.)
Don't follow the hype and copy others without asking the "whys" behind your decision. Start simple and continuously re-evaluate and re-architect when needed. Remember, the Strangler Fig pattern (link below - alongside other patterns) is the main friend you need when you grow from a "startup" to a "scale-up" and finally to a big corporate "enterprise". No one starts as big as Google from day one!
Remember, complexity never dies! It just moves somewhere else, so then you can hire someone to deal with it. If you can't, think twice!
Image source: martinfowler.com/bliki/StranglerFigApplication.html

