Part 0: Why the $200K/Year Magento Trap Is Avoidable

Every engineering team that’s built seriously on Magento eventually hits the same three walls: the licensing wall, the scaling wall, and the developer velocity wall. The question is whether you hit them before or after they cost you real money and real customers. Answer-first: A Composable Commerce Platform built on 21 Go microservices, Kratos v2, and Dapr PubSub can replace Magento Enterprise — delivering the same commerce capabilities (multi-warehouse, payment saga, loyalty engine, real-time search) — at zero license cost, with the ability to scale individual services independently during peak traffic. ...

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

Part 1: DDD Bounded Contexts — Magento to 21 Services

Every Magento team that decides to migrate to microservices faces the same first question: how many services? The industry says 4–6. “Catalog service, Order service, Customer service, Inventory service, Payment service, and maybe CMS.” Every blog post, every conference talk converges on this list. It’s a reasonable starting point — and it’s wrong for serious e-commerce at scale. The Composable Commerce Platform we’re documenting in this series has 21 microservices across 6 bounded context groups. That’s 3–4× the industry recommendation. This article explains why — with a complete Magento module → service mapping table, and the two counter-intuitive domain splits that Magento engineers almost always get wrong. ...

April 8, 2026 · 9 min · Lê Tuấn Anh

Part 3: Golang + Kratos v2 — Microservice Framework Internals

For engineers coming from Magento PHP, the shift to Go microservices isn’t just a language change — it’s a fundamentally different way of organizing code. Magento has controllers, models, blocks, helpers, and plugins. Go with Kratos v2 has exactly five layers, each with a precisely defined responsibility. Answer-first: A production Go microservice on this platform follows the Kratos v2 directory convention (api/ → cmd/ → internal/biz/ → internal/data/ → internal/server/), uses Google Wire for compile-time dependency injection, exposes both HTTP and gRPC simultaneously on different ports (8xxx/9xxx), and imports a shared common library at v1.9.5 that provides outbox, caching, worker, metrics, and logging — standardized across all 21 services. ...

April 22, 2026 · 11 min · Lê Tuấn Anh

Active RAG & Strict Tool Calling With Real-time APIs

In Part 3: Qdrant Hybrid Search - Solving Semantic and Hard Filters, we successfully built a powerful Hybrid search engine combining Dense Semantic and Sparse Lexical Search. However, a practical e-commerce search system goes far beyond merely retrieving static documents from a vector database. For example, a user asks: “I want to buy a 400L Samsung Inverter refrigerator available at the District 1 branch that has an active promotion.” If we rely solely on a Vector Database, we face two critical errors: ...

May 22, 2026 · 8 min · Lê Tuấn Anh

Part 4: gRPC Internal + REST Gateway — API Contract Lifecycle

Every public-facing API in the Composable Commerce Platform starts as a .proto file. The code — Go gRPC handlers, TypeScript SDK, HTTP routes, request validation, error codes — is generated from that contract. This article documents the conventions that make that system work. Answer-first: Internal services communicate via gRPC (type-safe, binary, ~7× faster than JSON over REST). External clients (browser, mobile app) use REST via the Gateway Service (port 8000). The proto file is the single source of truth for the API contract — and three proto conventions require special attention for engineers coming from Magento: the Money type (never use float for prices), cursor-based pagination (never use offset), and proto-level field validation (validation declared in the contract, not in business logic). ...

April 29, 2026 · 9 min · Lê Tuấn Anh

Post-Magento Operations: Running a Vietnam Go Team in Production

Answer-first: A Vietnam Go team can own full production operations for a post-Magento microservices platform — but only if SLOs, runbooks, and escalation paths are defined before cutover, not after. Teams that hand off operations without this infrastructure spend their first 90 days in reactive incident mode. Teams that build it before day one transition smoothly from migration team to engineering team. Series context: This is the final technical post in the E-Commerce Re-Architecture in Vietnam series. For the migration execution playbook, see Remote Team Playbook: Vietnam Engineers Through Migration. ...

July 11, 2026 · 12 min · Lê Tuấn Anh

Tech Radar 10/07: Cloud-Native AI Architecture — Envoy Gateway, K8s Inference Extension & Dapr Agents

Answer-first: In 2026, Platform Engineering for AI is no longer about picking the right LLM framework. The real questions are: Who controls token cost? Who routes traffic intelligently to the right GPU pod? Where does agent state go after a crash? Three CNCF projects — Envoy AI Gateway, the K8s Gateway API Inference Extension, and Dapr Agents — are converging to answer those questions at the infrastructure layer, so application code doesn’t have to. ...

July 10, 2026 · 9 min · Lê Tuấn Anh

Magento Migration Cost: Vietnam vs US/EU Team (2026 Model)

Answer-first: A full B2B Magento → Go migration with a Vietnam team costs $320,000–$520,000 over 12–18 months. The equivalent US/EU team costs $900,000–$1,500,000 for the same scope. The Vietnam advantage is not lower quality — it’s a structural market difference of $580,000–$980,000 in direct labor savings. Break-even on management overhead typically occurs at month 4–6. Series context: This post is part of the E-Commerce Re-Architecture in Vietnam series. For the technical architecture this budget funds, read Zero-Downtime: Moving from Magento to Microservices. ...

July 9, 2026 · 9 min · Lê Tuấn Anh

Go Engineers in Vietnam: Vetting for Magento Migration

Answer-first: Vetting Go engineers for Magento migration requires a different interview framework than greenfield hiring. The critical signal is not Go syntax fluency — it’s distributed systems experience under legacy coupling constraints. Five production scenarios reveal whether a candidate can actually own migration work versus only build clean APIs from scratch. Series context: This post is part of the E-Commerce Re-Architecture in Vietnam series. For background on the migration architecture this team will execute, read Zero-Downtime: Moving from Magento to Microservices first. ...

July 8, 2026 · 11 min · Lê Tuấn Anh

Tech Radar 06/07: Edge AI, Liquid Neural Networks & WasmEdge on K3s

Answer-first: AI doesn’t have to run on massive GPU clusters in the Cloud. The combination of ultra-lightweight Liquid Neural Networks (LNNs) and the WebAssembly runtime WasmEdge on K3s delivers a cutting-edge Edge AI architecture — one that directly solves the two biggest enterprise challenges: Cloud costs (FinOps) and Data Privacy. Liquid Neural Networks (LNN): AI Without a GPU Answer-first: Unlike heavy Transformers, LNNs process information using continuous-time dynamical equations. The Closed-form Continuous-time (CfC) variant eliminates the costly ODE solver entirely, enabling inference to run directly on the CPU of an Edge node like a Raspberry Pi. ...

July 6, 2026 · 3 min · Lê Tuấn Anh

Composable E-Commerce Migration: Overcoming Tech Debt

Answer-first: Monolith decoupling succeeds only when solving eventual consistency and distributed tracing overhead early. Mitigate inventory overselling via Redis-based BFF locking, stream database sync in real-time via Debezium CDC and Kafka, and build distributed tracing via OpenTelemetry from day one to avoid system blindness. What You’ll Learn That AI Won’t Tell You Strangler Fig routing configurations for Envoy that migrate traffic path-by-path from Magento to Go microservices without dropping active sessions. How to implement a double-write database sync listener in Go to prevent data drift during the multi-month migration window. In theory, MACH (Microservices, API-first, Cloud-native, Headless) and Composable Commerce are the “holy grail” of the ecommerce industry. However, when systems scale to process millions of transactions, issues regarding data consistency and Observability costs truly surface. This article outlines the hard-learned lessons from our Chief Architects when migrating a monolithic system to a Composable architecture. ...

July 6, 2026 · 8 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. ...

July 3, 2026 · 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. ...

July 3, 2026 · 4 min · Lê Tuấn Anh

AWS EKS vs ECS: Architecture, Cost & Use Cases (2026)

Answer-first: Choose AWS EKS for Kubernetes-native GitOps (ArgoCD, Dapr) and cloud-portable architectures. Choose ECS for zero-cost control planes, rapid deployment, and pure AWS-native simplicity. Go stateless containers on Graviton Spot to cut compute costs by 35%, and use Network Load Balancers for high-performance internal gRPC routing. What You’ll Learn That AI Won’t Tell You The hidden costs of EKS VPC CNI ipam and how ECS handles routing faster. How to optimize IP allocation policies to prevent subnet exhaustion in large-scale Kubernetes environments. I’ve run both in production. At Vigo Retail, I architected a 21-service Go microservices platform on EKS handling 8,000 RPS peak and 25M+ requests/month. I’ve also managed ECS clusters for smaller AWS-native projects. This guide is what I wish existed before I made those decisions. ...

June 26, 2026 · 19 min · Lê Tuấn Anh

Tech Radar 24/06: K8s AI OS & GKE Hypercluster

Welcome to this week’s Tech Radar. In our previous issue, we dove deep into Kratos Clean Architecture & Dapr. Today, we are discussing a monumental shift: Kubernetes has officially become the Operating System (OS) for AI. Let’s review the massive breaking news from Google Cloud, Microsoft, and the absolute dominance of Golang over the past 72 hours. 1. Tech News Radar: K8s “AI OS”, GKE Hypercluster & AKS Answer-first: Kubernetes has evolved far beyond a container orchestrator to become the standard Operating System for AI, currently handling 66% of generative AI workloads. Massive updates like GKE Hypercluster (managing 1 million chips) and AKS on Bare Metal reaffirm K8s’ absolute dominance in 2026. ...

June 24, 2026 · 5 min · Lê Tuấn Anh

Tech Radar 22/06: Dapr v1.18 & Kratos Clean Architecture

Welcome to this week’s Tech Radar. In our previous issue, we explored Kratos Clean Architecture & Dapr Pub/Sub. Today, we tackle the most complex domain of distributed systems: Stateful Orchestration. We will dissect how to implement Dapr Workflows and the Actor model within Kratos. Before we dive into the code, let’s look at the breaking news from the past 72 hours. 1. Tech News Radar: Dapr v1.18 & KubeCon India 2026 Answer-first: The past 72 hours brought massive shifts. Dapr v1.18 dropped with WorkflowAccessPolicy for hard-gated workflow security, OpenTelemetry officially graduated from CNCF at KubeCon India, and Go 1.26.4 shipped. Meanwhile, Kubernetes 1.33 reaches End-of-Life on June 28. ...

June 22, 2026 · 6 min · Lê Tuấn Anh

Tech Radar 17/06: Kratos Clean Architecture & Dapr Pub/Sub

Welcome back to the Tech Radar bulletin. Last week we dissected how Kratos and Dapr v1.15 solve State Collisions via ETags. This week we go one layer deeper: how do you structure the entire codebase so that Kratos, Wire, and Dapr Pub/Sub compose cleanly — and how do you keep that architecture testable, resilient, and production-safe? 1. The Four Layers of Kratos Clean Architecture Answer-first: Kratos enforces a four-layer Clean Architecture — api, service, biz, and data — where business logic in biz is completely isolated from transport and infrastructure. Each layer communicates only with the layer adjacent to it, and only through interfaces. ...

June 17, 2026 · 6 min · Lê Tuấn Anh

Zero DevOps E-commerce with Cloudflare Workers & Turborepo

Answer-first: Cloudflare Workers and Turborepo enable a “Zero DevOps” e-commerce architecture by deploying serverless API handlers directly to the edge, utilizing D1 for transactional storage, and automatically compiling SDKs on API changes. This setup eliminates traditional server administration and scales horizontally with sub-100ms response times. Tired of maintaining expensive Kubernetes clusters, fine-tuning Auto-scaling groups on AWS, or wiring together complex CI/CD pipelines just to keep an e-commerce store alive? Welcome to the Zero DevOps era. ...

June 17, 2026 · 8 min · Lê Tuấn Anh

Go Microservices Architecture: Production Guide

Go microservices from domain design to Kubernetes deployment — gRPC, Dapr, OpenTelemetry, and GitOps patterns from a real 21-service production migration.

June 12, 2026 · 22 min · Lê Tuấn Anh

Golang gRPC Microservices: Protobuf, TLS & Middleware

Answer-first: Optimize inter-service communication in Go microservices using gRPC and Protobuf, delivering 3-10× smaller payloads and sub-millisecond latencies compared to REST. Secure communication channels with mutual TLS (mTLS), handle cross-cutting concerns using custom interceptor middleware, and implement native gRPC health checking for container readiness probes. What You’ll Learn That AI Won’t Tell You Optimizing Protobuf serialization overhead in Go-based gRPC microservices. How to set up connection keep-alive parameters to prevent TCP connection drops during peak load. Why gRPC for Go Microservices? The key advantages over REST: ...

June 11, 2026 · 14 min · Lê Tuấn Anh

Composable Banking Architecture: Monolith to Modular

Answer-first: Composable banking replaces rigid legacy cores with modular Go microservices. The transition uses the Strangler Fig pattern to decouple domains, while distributed Sagas manage eventual consistency across transaction engines, and NewSQL databases provide horizontal scaling without sacrificing ACID compliance. What You’ll Learn That AI Won’t Tell You Strangler fig patterns for core banking systems that prevent data corruption. How to bridge legacy COBOL records into dynamic JSON streams using Go middleware. Legacy core banking systems were designed in a different era. Temenos T24, Finacle, and Flexcube shared one defining assumption: the bank’s entire product catalogue — deposits, lending, payments, trade finance — would live inside a single, tightly coupled application and a single, shared database. That assumption held when banking moved at human speed. It breaks completely when product releases need to go from months to days, when a single fraud engine update must not risk a payments outage, and when engineers on a COBOL codebase are retiring faster than they can be replaced. ...

June 10, 2026 · 19 min · Lê Tuấn Anh

Chapter 4: Solving the Dual-Write Problem with Transactional Outbox Pattern

← Previous | Series hub | Next → Chapter 4: Eliminating the Dual-Write Nightmare When your Golang application migrates from a Monolith to Event-Driven Microservices, you will immediately face an architectural nightmare: the Dual-Write Problem. 1. What is the Dual-Write Problem? Answer-first: Dual-Write occurs when an app attempts to write to a Database and publish to a Message Broker (Kafka) simultaneously. Without a distributed transaction, network failures will cause the two systems to fall out of sync. ...

June 9, 2026 · 3 min · Lê Tuấn Anh

The Reality of C10M: Surviving Extreme Traffic — Exec Summary

Despite the massive advancements in cloud computing, enterprise applications facing explosive traffic growth inevitably hit a brutal wall: the Database and the Network layer. The root cause lies not in the hardware, but in the Architecture. We attempt to solve the “Millions of Requests per Second” (C10M) problem by simply throwing more servers at it (Vertical/Horizontal Scaling), only to realize that stateful bottlenecks, cache stampedes, and dual-write inconsistencies bring the entire cluster to its knees. ...

June 9, 2026 · 3 min · Lê Tuấn Anh

Go Microservices Distributed Tracing Architecture (2026)

Answer-first: Solve observability blind spots across distributed Go microservices by implementing an OpenTelemetry pipeline. Propagate W3C trace context across HTTP/gRPC boundaries and Kafka streams, batch metrics at the local agent level, and use tail-based sampling at the collector gateway to filter noise before ingestion. What You’ll Learn That AI Won’t Tell You OpenTelemetry collector tuning for low-overhead distributed tracing. Propagating span contexts over asynchronous Kafka messaging systems without breaking tracing chains. Monitoring complex Go microservices requires more than isolated logs. When a request traverses HTTP APIs, Kafka event streams, and asynchronous worker pools, you need absolute visibility to pinpoint latency bottlenecks and failures. ...

June 8, 2026 · 5 min · Lê Tuấn Anh

Dapr Workflow Go Tutorial: Orchestrated Saga Pattern

Answer-first: Dapr Workflows implement the Saga pattern in Go by coordinating distributed transactions through stateful, durable orchestration. If a step fails, the orchestrator executes compensating transactions in reverse order, ensuring eventual consistency without requiring complex manual state management or two-phase commit overhead. What You’ll Learn That AI Won’t Tell You Compensation handlers configuration in Dapr to guarantee atomic rollback. How to handle transient workflows when the orchestrator instance restarts mid-transaction. Most Go developers building microservices know the Choreography Saga pattern: service A emits an event, service B reacts, service C reacts to B, and so on. If step C fails, services emit “compensation” events in reverse order. The pattern works elegantly for simple flows, but breaks down as the number of steps grows: debugging a failed saga requires tracing events across five message broker topics, and implementing compensation logic requires every service to understand the full saga’s state. ...

June 1, 2026 · 15 min · Lê Tuấn Anh

Magento AI Integration: Modernize Without Rebuilding

Answer-first: Integrating AI into Magento requires decoupling AI workloads via event-driven architecture to prevent MySQL lock contention, PHP-FPM exhaustion, and performance degradation in production environments. What You’ll Learn That AI Won’t Tell You Queue-based worker systems that isolate Magento from LLM latency. Writing robust fallback routes when third-party AI translation services go offline. The hype surrounding artificial intelligence in e-commerce is deafening. Every SaaS platform promises “one-click AI personalization,” leaving legacy Magento (Adobe Commerce) merchants feeling trapped. Facing the choice of a multi-million dollar replatforming project or falling behind the AI curve, many e-commerce leaders make a critical mistake: they attempt to force AI workloads directly into Magento’s monolithic core. ...

May 24, 2026 · 11 min · Lê Tuấn Anh

Architecting Agentic E-commerce Search with Golang

Answer-first: Agentic E-commerce Search transforms traditional search from passive keyword matching to active shopping assistance using AI agents that understand complex queries, apply business logic filters, and provide personalized results in real-time. What You’ll Learn That AI Won’t Tell You Practical strategies for tuning vector search precision without bloating RAM. How to coordinate multiple AI search agents to prevent search query latency spikes. The search system is the beating heart of every e-commerce platform. If customers cannot find a product, they cannot buy it. However, as we move through 2026, user search behavior has evolved drastically from typing short, abrupt keywords (e.g., “men’s running shoes”) to submitting complex, goal-oriented queries (e.g., “find me a pair of men’s waterproof trail running shoes, size 42, under $100, that can be delivered by tomorrow”). Against these multifaceted intents, traditional search engines begin to show their limitations. ...

May 22, 2026 · 8 min · Lê Tuấn Anh

Tech Radar, May 2, 2026: 24-Hour TechTask Signals - Commerce Modernization Is Becoming an Operations Problem

The strongest TechTask signal in the last 24 hours is not a single framework release. It is the way several platform updates are converging on the same message: commerce modernization is no longer mainly about decomposing a monolith. It is about operating the decomposed system safely. That matters directly for the engineering profile behind this site: Strangler Fig migration from Magento/PHP into a 21-service Golang ecosystem, Dapr Pub/Sub for distributed workflows, Saga compensation for checkout and payment failure, Transactional Outbox for reliable events, GitOps through Kubernetes and ArgoCD, and performance work that pushed p95 latency from 1.2s to 120ms under high-traffic commerce load. ...

May 2, 2026 · 8 min · Lê Tuấn Anh

Migrating Magento to Microservices: When & Why

Answer-first: Migrate from Magento’s monolithic EAV architecture to microservices when database locks during checkout, slow page speed, and deployment coupling block business growth. A headless, API-first approach decouples checkout and catalog, improving latency and developer agility. What You’ll Learn That AI Won’t Tell You Latency improvement metrics for headless checkout over monoliths. Breaking up tight database foreign keys to isolate microservice storage domains. Let’s be direct: Magento is not a bad platform. For thousands of businesses, it is the right tool. It has a mature plugin ecosystem, a large developer community, and a proven track record across enterprise e-commerce. ...

April 14, 2026 · 13 min · Lê Tuấn Anh

Zero-Downtime: Moving from Magento to Microservices

Answer-first: Migrate a complex Magento monolith to microservices without downtime by utilizing a 3-Phase Strangler Fig pattern. Stream legacy updates to Go microservices in real time using Debezium CDC, manage bidirectional synchronizations using Dapr Pub/Sub to maintain eventual consistency, and keep Magento as a 30-day hot standby for instant rollback capability. What You’ll Learn That AI Won’t Tell You Decoupling cart and checkout tables from Magento core databases. Data synchronization pipelines that prevent order loss during checkout transitions. “Let’s rewrite everything to Microservices.” ...

April 14, 2026 · 14 min · Lê Tuấn Anh