Deconstructing the Ecosystem: Service Details by Domain

Answer-first: A detailed technical breakdown of how a monolithic e-commerce application is segregated into 6 logical Business Domains with 21 isolated microservices. “Why 21 services? Isn’t that overkill?” This is the most common question I get when discussing the Golang microservice architecture we built to handle massive scale. The short answer is: No, because Conway’s Law is real. When you have multiple squads touching the same codebase, feature overlap creates friction. By rigidly enforcing Domain-Driven Design (DDD), we sliced our e-commerce monolith into 6 highly cohesive, loosely coupled Business Domains. Each domain is completely self-sufficient and owns its own Postgres databases. ...

April 12, 2026 · 4 min · Lê Tuấn Anh

GitOps at Scale: Kubernetes & ArgoCD for Microservices

Answer-first: Why kubectl apply is dangerous. Learn how to automate a 21-service Go platform using ArgoCD App-of-Apps, Kustomize, and git revert rollbacks. Building 21 well-architected Go microservices is only half the battle. If your deployment process relies on an engineer running kubectl apply from their laptop on a Friday afternoon, you haven’t built an enterprise platform — you’ve built a ticking time bomb. When designing this composable e-commerce ecosystem, we made one hard architectural rule from day one: no human touches the production cluster directly. Everything flows through Git. ArgoCD enforces it. ...

April 12, 2026 · 7 min · Lê Tuấn Anh

Part 1: Architectural Decision Framework

Part 1: Architectural Decision Framework How can a Senior Developer or System Architect make the right decision between using a Modular Monolith and Microservices? The answer doesn’t lie in the hype, but in quantitative factors: Team organization structure, data integrity, and transaction volume. This article provides a solid Decision Framework based on real-world Latency Benchmarks and lessons from one of the most optimized Monolith systems in the world: Stack Overflow. ...

4 min · Lê Tuấn Anh

Part 7: Extraction Pattern – When Should You Extract Microservices?

Part 7: Extraction Pattern – When Should You Extract Microservices? Advocating for a Modular Monolith architecture does not equate to a conservative “put absolutely everything in one place” mentality. In reality, even the greatest Monolith systems like Shopify, Sentry, or GitLab possess a few “satellites” (Microservices) orbiting their central core. The core issue is: We only extract a feature into a Microservice when it truly deserves it, not out of preference. Expert Sam Newman – author of Monolith to Microservices – emphasizes that: If you cannot successfully separate the Database Schema inside a Monolith, you will undoubtedly create a disastrous Microservice. ...

4 min · Lê Tuấn Anh