I’ve been designing distributed systems since before they were cool.
At Microsoft, I worked on the predecessor to Azure. At that time, there were no System Design best practices. We were just a bunch of engineers trying to figure out how to make services talk to each other without crashing in prod.
Later, at Facebook, we embraced microservices. They gave us autonomy, fault isolation, and speed. But they also introduced a tax: debugging, deployment overhead, and complexity we couldn’t always see coming.
When we started Educative, I figured we’d do the same: build fast, split early, scale with services. But as we grew, I found myself questioning that assumption. Microservices gave us flexibility, but it also came with headaches.
Rather than unlocking true agility, microservices often slow down engineering. Debugging issues across distributed systems became time-consuming. Developers spent more energy maintaining service boundaries and managing API dependencies than building actual product features.
What began as an elegant solution for large-scale challenges started to look like over-engineered
I'm not here to bash microservices. They're still the right choice for some problems. But years of real-world implementation has revealed a lot about their tradeoffs.
As a result, a quiet evolution has been reshaping System Design.
Instead of microservices, engineers have begun embracing simplicity. They're building modular architectures that offer clarity and control, without returning to the pitfalls of traditional monoliths.
And in a twist of the times, AI is accelerating this shift, as AI prefers clean, consolidated systems over spaghetti service maps.
Let's look at the current state of System Design and what it means for the future.
I'll cover:
The hidden costs of microservices
Why simpler architectures are gaining ground
Emerging system architectures that restore order and speed at scale
How AI is tipping the scales toward consolidation
When to choose simplicity over fragmentation
What I wish we'd all known earlier about microservices
Let’s begin.