Engineering · Week 2 · May

Scalable systems start with the smallest viable architecture

Future-proofing kills more architectures than scale ever does. A practical rule of thumb for when to invest in scalability, drawn from a decade at Zoho, Freshworks, and inside Iris.

Almost every architecture I have inherited had been future-proofed by someone whose future never arrived. The system was built for ten million users when it had ten thousand, and the cost of that mismatch was not just wasted infrastructure; it was a decade of slow changes, anxious deploys, and engineers who could not hold the whole picture in their heads. Premature scalability has cost the teams I have worked with far more than insufficient scalability ever did.

This is not a popular position because it sounds like an excuse. It is not. It is a discipline, and the discipline is what I now call the smallest viable architecture: the simplest design that can credibly carry your real, near-term load, with a deliberate plan for what you will change when the load actually arrives.

What the rule actually says

Architect for the load you will have in twelve months, plus one credible failure mode you know about. Not for the load you might have in three years. Not for the integrations you will probably want. Not for the abstractions a senior engineer thinks are inevitable. Twelve months and one failure mode. That is the budget.

The reason for the cap is not faith that nothing will change. It is the opposite. So much will change in three years that any architecture built for it will be wrong in ways the team cannot predict. The cheaper path is to build for the next year, ship faster, and learn enough from real users to make the next year's investment with real data. The teams I trust most ship a thinner system, watch how it bends, and reinforce the parts that actually need it.

Where to spend complexity, and where not to

The hardest skill in this discipline is choosing where to invest complexity early and where to defer it. A short list that has held up across very different systems:

Invest early

  • The data model. Schema changes are the most expensive thing in any growing system. Spend deliberate time here.
  • Authentication and authorisation. Rebuilding these in flight is painful and exposes real risk.
  • Observability. You cannot reason about a production system you cannot see.

Defer

  • Premature service decomposition. Most monoliths that got split too early ended up as distributed monoliths with extra latency.
  • Custom infrastructure. Use managed services until they hurt; the bill is almost always cheaper than the engineering time.
  • Generic abstractions. Resist building a framework before you have three concrete uses of the thing the framework would generalise.
The cost of premature scalability is paid in every deploy. The cost of insufficient scalability is paid once, loudly, and then fixed.

The one signal that justifies investment

The signal to invest in scale is not a forecast. It is contact with the current ceiling. Latency rising. A queue backing up. A nightly job running into the morning. When you have hit a real ceiling, you have all the information you did not have before, and you can invest with confidence. The teams I have seen waste the most time invested in ceilings they had not yet touched, based on slide-deck assumptions about what was coming.

How this looks at scale

At Zoho and Freshworks the systems that aged well were the ones whose original architects had been disciplined about deferring. The ones that aged badly were the ones that tried to be cloud-native multi-tenant globally distributed event-driven on day one. Both kinds of systems eventually reached real scale. The first kind got there with engineers who still understood how it worked. The second kind got there with engineers who were apprehensive about touching anything.

What to take from this

If you are starting a new system, write down the load you are designing for, the one failure mode you are designing against, and the assumptions both depend on. Pin it somewhere visible. In six months, compare the assumptions to reality. The gap is the most accurate guide you have to where to invest next.

The same discipline shows up in the systems we build inside Cafiyn™ OS and the way we coach teams through Cafiyn™ Biz. Smaller, adapted, observed. Less ambitious than the architecture astronauts of any era, and consistently faster to get to real, durable scale.

Takeaways

What to do with this

Keep reading

Related essays

Need a clear-eyed look at your architecture?

We help engineering teams trim ambitious systems back to something they can ship and trust. No rewrites for their own sake.