LogoTRUONG PHAM
Home
Projects
Blogs
YouTube
Contact

Newsletter

Stay updated with technical artifacts and engineering insights.

LogoTRUONG PHAM

Building scalable software and sharing insights on technology & life.

Sitemap

  • Home
  • Projects
  • Blogs
  • YouTube
  • Contact

Connect

  • GitHub
  • LinkedIn
  • Email
  • YouTube

© 2024 TRUONG PHAM. © All rights reserved.

Privacy PolicyTerms of Service
Back
Microservice Journey Summary - Do You Really Need It?
Microservice Journey: Lessons & Trade-offs

Microservice Journey Summary - Do You Really Need It?

Summarizing the previous 19 posts with a decision map. When to move forward, when to retreat, and when to stay with a Monolith.

TP
Truong PhamSoftware Engineer
PublishedApril 6, 2024
Stack
microservice ·architecture ·summary ·decision-making

We have gone through 19 articles, dozens of concepts, and countless pains. This is the time to take a step back and look at the big picture.


Decision Map: When to Choose Microservices?

After all, here is the set of questions (Decision Tree) to help you decide the architecture for your next project:

1. How many people are in your team?

  • Under 3 people: Start with a Monolith. Don't make yourself miserable. If needed, build a Modular Monolith.
  • Over 10 people: Start considering Microservices so teams don't step on each other's toes when deploying.

2. Does your system truly need independent scaling?

  • No: A large server (Vertical Scaling) is usually cheaper and easier to manage than a fleet of small servers.
  • Yes: If module X needs 100GB of RAM and module Y only needs 1GB, split them up.

3. Are you ready to pay for "Overhead"?

  • Overhead includes: Complex CI/CD, messy Monitoring, Distributed Tracing, Network Latency, and higher Cloud bills.
  • If the answer is "Not yet," stick with a Monolith.

Journey Summary in 20 Posts

  1. Mindset: Choosing the right battles (Monorepo, Trade-offs).
  2. Technical: Effective communication (REST/NATS), data consistency (Saga/Idempotency).
  3. Operations: Absolute automation (IaC, CI/CD), comprehensive visibility (Observability).
  4. People: Non-blame culture (Post-mortem), fragmentation management (Maintenance).

Final Advice

Don't do Microservices because someone else said so. Don't do Microservices because Google does it.

The best architecture is the one that solves your current problem at the lowest cost.

Often, building a clean Monolith, organizing code well, and having full Unit Tests is worth many times more than a garbage, patched-up Microservice system that no one dares to touch.

Thank You

Thank you for sticking with me through these 20 articles. I hope the "scars" and hard-earned lessons I've shared will make your journey less bumpy. The technical world is always changing, but the mindset of Trade-offs will always be the compass for every true architect.


Lessons Learned

The 20-article journey ends here, but your learning journey has only just begun. Always be skeptical, always experiment, and always ask: "Why am I doing this?".

See you in the next lines of code!

Series • Part 20 of 20

Microservice Journey: Lessons & Trade-offs

The Maintenance Nightmare - When Microservice Systems Age
15AI-Service Integration - Bringing LLM/RAG into Microservice Architecture16Feature Flags - Deploy and Release are No Longer One17Secret Management - Don't Let API Keys Wander Around18Macroservice - When We Decide to 'Merge' Services Back19The Maintenance Nightmare - When Microservice Systems Age20Microservice Journey Summary - Do You Really Need It?Reading
TP

Written by Truong Pham

Software Engineer passionate about building high-performance systems and meaningful experiences.

Read more articles