DEV Community

Cover image for To be "Microservice" or not to be? - (2B || !2B) 💡
Pooyan Razian
Pooyan Razian

Posted on • Originally published at pooyan.info

To be "Microservice" or not to be? - (2B || !2B) 💡

To be "Microservice" or not to be? - (2B || !2B) 💡

Originally written at pooyan.info

Who is the author? Check out my profile on LinkedIn.

  • 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


If you liked the article and want to keep me motivated to provide more content, you can share this article with your friends and colleagues and follow me here on Medium or LinkedIn.

Copyright & Disclaimer

  • All content provided on this article is for informational and educational purposes only. The author makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site.
  • All the content is copyrighted, except the assets and content I have referenced to other people's work, and may not be reproduced on other websites, blogs, or social media. You are not allowed to reproduce, summarize to create derivative work, or use any content from this website under your name. This includes creating a similar article or summary based on AI/GenAI. For educational purposes, you may refer to parts of the content, and only refer, but you must provide a link back to the original article on this website. This is allowed only if your content is less than 10% similar to the original article.
  • While every care has been taken to ensure the accuracy of the content of this website, I make no representation as to the accuracy, correctness, or fitness for any purpose of the site content, nor do I accept any liability for loss or damage (including consequential loss or damage), however, caused, which may be incurred by any person or organization from reliance on or use of information on this site.
  • The contents of this article should not be construed as legal advice.
  • Opinions are my own and not the views of my employer.
  • English is not my mother-tongue language, so even though I try my best to express myself correctly, there might be a chance of miscommunication.
  • Links or references to other websites, including the use of information from 3rd-parties, are provided for the benefit of people who use this website. I am not responsible for the accuracy of the content on the websites that I have put a link to and I do not endorse any of those organizations or their contents.
  • If you have any queries or if you believe any information on this article is inaccurate, or if you think any of the assets used in this article are in violation of copyright, please contact me and let me know.

Top comments (0)