Deploy Astro on Cloudflare Pages: Full-Stack Edge Guide

Deploy Astro on Cloudflare Pages: Full-Stack Edge Architecture Running a content site on a traditional VPS or a managed Node.js host is fine until it isn’t. You pay for compute that sits idle 95% of the time, you manage SSL renewals, you worry about cold starts, and you watch your Lighthouse score suffer because your origin is in Singapore while your readers are in Frankfurt. Cloudflare’s edge stack solves all of this. This post covers two paths: building a greenfield site with Astro on Cloudflare’s full edge stack — Workers, R2, D1, Pagefind — and putting an existing WordPress site behind Cloudflare’s CDN without migrating anything. Both approaches, real config, and the tradeoffs that matter. ...

April 24, 2026 · 16 min · Lê Tuấn Anh

LeaseInVietnam: AI-Powered Expat Rental & B2B Lead Engine

LeaseInVietnam: AI-Powered Expat Rental & B2B Lead Engine Most AI content projects are built around one question: how do I publish more? LeaseInVietnam is built around a different question: how do I make every published piece convert? The system is an autonomous relocation hub targeting expats and digital nomads renting in Southern Vietnam — Ho Chi Minh City, Nha Trang, Phú Quốc. It produces content in American English, publishes daily via GitOps, and routes every reader interaction toward a B2B lead funnel that pays commission on moving services, cleaning bookings, furniture rentals, and legal consultations. ...

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

Migrating Magento to Microservices: When & Why

Why Migrate Magento to Microservices: Architectural Blueprint 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. But there is a ceiling. And when you hit it, you feel it everywhere — in your deployment pipeline, in your database query times, in your team’s ability to ship features independently, and ultimately in your ability to serve customers reliably at scale. ...

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

Why Migrate Magento to Microservices: Zero-Downtime Guide

Why Migrate Magento to Microservices: Zero-Downtime Blueprint “Let’s rewrite everything to Microservices.” This sentence usually precedes multimillion-dollar engineering failures. When a legacy application like a massive Magento e-commerce store is holding up the financial weight of a company, executing a “Big Bang” cutover is practically suicidal. Instead of burning the old house down before the new one is built, we employed a meticulous 3-Phase Strangler Fig Pattern. We allowed our new distributed microservice ecosystem to gradually wrap around the old Magento monolith, intercepting its traffic piece by piece until the legacy server became a hollow shell. For a detailed breakdown of overcoming tech debt and managing eventual consistency during such transitions, see our guide on Composable Commerce Migration. ...

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

Architecting 21-Service E-commerce with Golang & DDD

Architecting 21-Service E-commerce with Golang & DDD The exact performance overhead of using Go’s structural subtyping versus manual dependency injection in high-throughput microservices. Why scoping database transactions to a single Aggregate root is critical, and how we resolved out-of-order event delivery using Kafka partition keys. Scaling an e-commerce platform past 10,000+ orders per day containing multiple SKUs across dynamic warehouses is where naive architecture breaks down. Hardware scaling ceases to be a magic bullet when distributed transactions, race conditions, and eventual consistency are involved. ...

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

Mastering Event-Driven Architecture with Dapr Pub/Sub

Mastering Event-Driven Architecture with Dapr Pub/Sub in Go In my previous post, we explored how abandoning monolithic architecture in favor of strict Domain-Driven Design (DDD) bounded contexts allowed an e-commerce platform to scale beyond 10,000+ orders per day. However, splitting one big database into 20+ isolated Postgres databases introduces a terrifying new problem: How do we maintain data consistency across disconnected services? The answer is Event-Driven Architecture (EDA). Rather than chaining blocking synchronous HTTP calls across the network — which guarantees a cascading failure if a single service is down — each microservice independently broadcasts out-of-band “Events” through a centralized broker. Services are decoupled from each other’s availability. A brief outage in the Notification service does not cause a checkout failure. ...

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

Blueprint: E-commerce Microservices Architecture with Golang

Ecommerce Microservices Architecture Diagram: 21-Service Blueprint E-Commerce Architecture Patterns: Monolith vs Microservices Answer-first: An ecommerce microservices architecture diagram organizes system capabilities into 6 core bounded domains (Commerce Flow, Product & Content, Logistics, Post-Purchase, Identity & Access, Platform Operations), connecting 21 Golang microservices via gRPC and Dapr Pub/Sub event mesh for high-concurrency scalability. Monolithic vs Microservices E-Commerce Comparison Dimension Monolithic E-Commerce Microservices E-Commerce Scaling Vertical scaling of entire monolith application Independent horizontal scaling per domain (e.g., Catalog 10x Cart) Database Architecture Single shared database with cross-table SQL joins Database-per-service (PostgreSQL, Redis, Elasticsearch) with zero cross-domain access Deployment Frequency Low frequency; all-or-nothing monolithic releases High frequency; independent CI/CD pipelines per microservice Fault Tolerance Low; a single bug or memory leak crashes the entire store High; failure in one domain (e.g., Reviews) does not block Checkout Complexity Low initial architectural and operational complexity High distributed complexity (Saga pattern, gRPC contracts, Dapr mesh) Operational Cost Lower initial cost; scales expensively at high traffic Higher initial infrastructure setup; cost-effective at high scale Practical latency and memory metrics comparing an Envoy-based API Gateway to a custom Go reverse proxy under 100k concurrent connections. How to tune circuit breaker thresholds (go-resiliency/breaker) to prevent premature service isolation during temporary network jitters. When transitioning from a monolithic platform to a distributed microservice setup, the hardest question isn’t “How do we write the code?” — it’s “How do these moving parts talk to each other safely, and why is each boundary drawn exactly where it is?” ...

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

Deconstructing the Ecosystem: Service Details by Domain

Deconstructing the Ecosystem: Service Details by Domain “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. Below, we deconstruct the business capabilities, storage choices, and operational profiles of the 21 individual microservices that power this ecosystem. ...

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

GitOps at Scale: Kubernetes & ArgoCD for Microservices

GitOps at Scale: Kubernetes & ArgoCD for Microservices 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. Choosing EKS over ECS was a key architectural decision that enabled this first-class GitOps model; for a full cost and scaling breakdown, see our AWS EKS vs ECS Comparison. ...

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

Exporting Magento 2 Data: Flatten EAV with SQL & Node

Exporting Magento 2 Data: Flatten EAV with SQL & Node How to optimize complex EAV joins in MySQL using index hints to prevent full table scans on catalogs exceeding 1 million SKUs. Complete Node.js stream backpressure implementations that keep memory usage under 100MB while processing millions of records. When migrating off Magento 2, the first obstacle is always the database schema. Magento does not store data in clean flat rows — it uses an Entity-Attribute-Value (EAV) model that spreads data across dozens of tables with store-scope inheritance. Understanding this before writing SQL will save you days. ...

March 9, 2024 · 14 min · Lê Tuấn Anh