
The journey so far
We began with monoliths—centralized systems that were powerful but rigid. As demands grew, we broke them apart into microservices—modular, independently deployable units that could scale efficiently and evolve faster.
This shift changed everything. But it also brought challenges: orchestration, communication, resilience, and observability. To manage this complexity, we created control planes like Kubernetes, making it possible to operate thousands of microservices in harmony.
Microservices helped us scale execution.
The next challenge is scaling intelligence.
The shift – from APIs to autonomous agents
Enter the age of agentic systems—modular, intelligent, goal-driven personas that can reason, plan, collaborate, and evolve.
Where microservices responded to API calls, agents respond to intent. They are not just reactive—they’re proactive, contextual, and reflective.
Agents represent a fundamental evolution in how we interact with technology:
- From functions to personas
- From scripts to conversations
- From instructions to intent
- From static data to context
APIs and service orchestration work fine for deterministic tasks. But intelligent agents bring new challenges:
- How do agents understand goals, not just instructions?
- How do they share memory and context not just static data?
- How do we monitor, scale, and govern a network of agents?
The evolution to agents
Just as microservices decomposed functionality, today’s systems are decomposing cognitive tasks into autonomous, intelligent units—agents.
Agents aren’t just services that respond—they:
- Interpret intent
- Access memory
- Collaborate across goals
- Use tools and APIs autonomously
They are context-aware digital workers, capable of performing tasks traditionally assigned to humans—planning, researching, deciding, verifying—at scale.
An interesting analogy – workers and managers
In the service era
- Microservices are like factory workers—they perform precise tasks as instructed.
In the agentic era
- Agents are like managers—they understand goals, break them into subtasks, coordinate with others, and adjust based on feedback.
Agents can reason, delegate, collaborate, and optimize—functioning not as passive processors, but as proactive entities.
MCP – Model Context Protocol
With agents, communication is more than just passing data—it’s about passing context: what the task is, why it matters, what has been done before, and how it should adapt.
Model Context Protocol (MCP) defines the structure and semantics of this context. It enables:
- Agent-to-agent (A2A) interactions with shared understanding
- Contextual handoffs of goals, memory, and tool references
- Reusability and composability across personas and tasks
- Clear cognitive boundaries between roles
MCP is like the “language of thought” for agents—it ensures they talk meaningfully, not just mechanically.
A2A protocols: from calls to conversations
Unlike API calls between microservices, agents engage in goal-driven conversations:
- A Planner Agent delegates subtasks to other agents
- A Research Agent performs information retrieval
- A Builder Agent generates code or designs
- A QA Agent validates or critiques results
Each step involves the transmission of context via MCP, and the interaction is governed by ACP to ensure alignment, traceability, and recoverability.
Microservices vs. Agentic Systems

Preparing for what’s next
We are moving from composable software to composable cognition. The next generation of enterprise platforms will be built not just on services, but on interconnected, intelligent agents that collaborate across business domains.
To embrace this shift
- Standardize context exchange with a shared MCP schema
- Adopt or build an ACP layer to manage agent deployment and governance
- Define reusable agent personas with memory, tools, and roles
- Integrate observability and safety pipelines for agent evaluation
- Treat agents as first-class citizens in solution architecture