Back to writing
Parham Davari
Parham Davari

When Not to Jump Into Microservices

When Not to Jump Into Microservices

A colleague once asked me a reasonable question: “Why didn’t you adopt microservices from the very beginning, when you already knew the system was going to grow?”

It’s a fair challenge. But the answer comes down to timing — and what you actually know at any given moment.

What We Didn’t Know Yet

When we started the project, there were several things we simply hadn’t figured out:

  • How to segment the product in the most effective way
  • What the production process looked like for each part of the system
  • How the business workflow was actually going to function — something even the stakeholders hadn’t fully defined

Setting firm service boundaries under those conditions would have been a gamble. We would have been drawing lines on a map we didn’t fully understand yet.

What We Did Instead

Rather than committing to a distributed architecture prematurely, we kept a single, unified codebase — but structured it carefully. Orders, processes, and reporting each had their own clear boundaries within the monolith.

It wasn’t chaos. It was intentional.

This wasn’t a rejection of microservices. It was a deliberate decision to wait until we understood what truly belonged together and what genuinely needed to be separated — before locking in architectural choices that are difficult to reverse.

Why It Worked

The approach proved its value within weeks. As the business model became clearer, the natural seams of the system became obvious. Decisions that would have been guesswork earlier became straightforward.

Had we split too early, we would have faced a constant stream of cross-service changes with no real technical justification — just the cost of having drawn the wrong boundaries in a hurry.

The Takeaway

Good architecture isn’t about applying the right pattern as early as possible. It’s about applying the right pattern at the right time.

Have you ever made a decision that seemed technically sound, yet felt too early? I’d be curious to hear your experience.