Running Microservices Locally Without Docker Compose Hell

You split the monolith into twelve services. Now a new developer’s first week is spent getting Docker Compose to run all twelve on their laptop, and half of them crash because of a port conflict. Here’s how to make local development work without the pain.

August 11, 2026 · 7 min · Hanh Pham

Deploying Microservices Without the Fear

In a monolith, deploy means pushing one thing. In microservices, every service deploys independently, which is the whole point, until you realize that ‘independently’ also means ‘without knowing what the other services are doing right now.’

August 8, 2026 · 8 min · Hanh Pham

Database Per Service: The Pattern That's Harder Than It Sounds

Each service owns its database. That’s the rule. But when a report needs data from four services, or a customer wants to see their complete order history, you’ve got a query problem that a single SELECT can’t solve. Here’s how to handle it.

August 6, 2026 · 8 min · Hanh Pham

Service Mesh: When You Actually Need One (and When You Don't)

A service mesh gives you mTLS, traffic management, and observability without changing application code. It also gives you another piece of infrastructure to operate, debug, and explain to new hires. Here’s how to tell whether the trade-off is worth it.

August 4, 2026 · 8 min · Hanh Pham

Go Performance Profiling with pprof: Finding the Slow Part

Your Go service is slow, but you don’t know where. Guessing is not a strategy. pprof tells you exactly where your program spends its time, memory, and CPU; here’s how to use it.

August 1, 2026 · 7 min · Hanh Pham

The Five Ways Microservices Talk to Each Other

Before picking REST, gRPC, or Kafka, you need to answer a more basic question: does this interaction block, and does the caller expect an answer? Get that wrong and no technology choice saves you.

July 30, 2026 · 8 min · Hanh Pham

What Actually Makes a Good Microservice Boundary

Before you draw a single service boundary, you need a vocabulary for why some splits age well and others turn into a distributed monolith. Coupling and cohesion are that vocabulary.

July 28, 2026 · 7 min · Hanh Pham

Should You Even Use Microservices?

Microservices are a solution to organizational scaling problems, not a technology choice. Here’s how to tell whether you actually have the problem they solve, before you pay the cost.

July 25, 2026 · 8 min · Hanh Pham

Caching Geospatial Queries Without a Specialized Geo Database

You don’t need PostGIS or a geohash library to cache repeat road-distance lookups: rounding coordinates and a unique index gets you most of the win.

July 23, 2026 · 5 min · Hanh Pham

Self-Hosting a Routing Engine Instead of Paying Per API Call

Road distance, not straight-line distance, is what travel expense claims and delivery pricing actually need, here’s how to get it without a metered maps API.

July 21, 2026 · 5 min · Hanh Pham