← manishpande.in Contents
Reference architecture · 2026 The Agentic Platform by Manish Pande
© 2026 Manish Pande Mumbai, India Set in Space Grotesk · Source Serif 4 · JetBrains Mono
FND · Foundations Chapter 3

The Reference Architecture

Here is the whole platform on one page. Each band is a plane that solves one or more of the seven hard problems; each later chapter expands exactly one band. Read it top-down as the path a request travels, and right-to-left as the cross-cutting concerns that touch every plane.

request · trigger · schedule ENTRY API / SDK Chat / UI Schedulers Webhooks CONTROL PLANE · EXE Durable Orchestrator Agent Runtime · loop Human-in-the-loop REASONING · RSN Model Gateway Context Engine Model Providers ACTION · ACT Tool Registry MCP Servers Code Sandboxes MEMORY & KNOWLEDGE · MEM Working Mem Long-term Mem Vector + Graph Retrieval / RAG COORDINATION · COORD A2A Protocol Multi-agent Topologies CROSS-CUTTING spans every plane TRUST IdentitySPIFFE / SPIRE AuthZ / PolicyOPA Guardrails OPS ObservabilityOpenTelemetry Evaluation MeteringFinOps FOUNDATION · DATA & INFRASTRUCTURE Postgres + pgvector Object · S3 / R2 Event bus · Kafka Cache · Redis Compute · K8s / GPU
Fig 3.1 · The master reference architecture. Vertical bands are the request-path planes, each expanded in a later chapter. The indigo dashed line marks the control plane driving the agent loop across reasoning, action, and memory. The right rail holds cross-cutting concerns — identity, policy, guardrails, observability, evaluation, metering — that touch every plane rather than sitting in the request path. The foundation supplies the stateful substrate everything depends on.

3.1 The planes and what each one guarantees

A plane is not just a grouping of tools; it is a contract. Each plane guarantees something specific to the planes above it, which is why the architecture composes rather than collapsing into a monolith. Stated as guarantees:

Table 3.1 — Each plane as a contract
PlaneGuarantee it providesProblem solvedChapter
CONTROLA run, once started, completes exactly-once and survives crashes, deploys, and restarts.Durability4–5
REASONINGOne uniform, observable, cost-tracked, fail-over-capable interface to every model.Latency, cost6–7
ACTIONTools are discoverable, schema-typed, permissioned, and executed under isolation.Safety8–9
MEMORYState persists correctly within and across runs and is retrievable by relevance.Continuity10–11
COORDAgents can discover and delegate to one another over a typed protocol.Decomposition12
TRUSTEvery action carries an identity, is authorized by policy, and passes guardrails.Security, compliance13–15
OPSEvery step is traced, every behavior is evaluable, every token is metered.Observability, cost16–18
FOUNDATIONDurable storage, events, cache, and compute beneath all planes.(substrate)19
Design decision · Control plane vs data plane

Borrowing from network and Kubernetes design, separate the control plane (decides what should happen: orchestration state, scheduling, policy, identity issuance) from the data plane (does the work at volume: model calls, tool execution, retrieval). The control plane is low-volume, strongly consistent, and durable; the data plane is high-volume, latency-sensitive, and horizontally scalable. Conflating them is the most common scaling mistake — it couples your slow, stateful coordinator to your fast, stateless workers, so neither can scale on its own axis.

3.2 The execution lifecycle

Tracing a single request through the planes makes the architecture concrete. Note where durability checkpoints land and where the cross-cutting rail taps in.

Admitauthz · budget Start rundurable id Plan AGENT LOOP — checkpoint each turn Reasongateway Acttool · MCP Observe Persistcheckpoint repeat until done / budget Finalizeemit · meter ▲ every box emits a trace span (OTel) · passes guardrails · increments the cost meter ▲ every checkpoint is the resume point after a crash — work before it is never repeated
Fig 3.2 · The execution lifecycle. A request is admitted (authorized, budgeted), a durable run is started, and the agent enters the loop. Each turn is checkpointed so a crash resumes from the last persisted step rather than from zero. Throughout, the OPS and TRUST rails tap every step — tracing, guardrails, metering — without sitting in the critical path.

3.3 From logical planes to deployment topology

The planes are a logical decomposition; a platform must also map them to infrastructure. The control-plane/data-plane split above becomes a physical one: a small, strongly-consistent control tier on its own node pool; a large, stateless data tier that autoscales independently; model serving on GPU nodes (the provisioned-throughput floor of Ch. 21); the foundation stores beneath; and the cross-cutting mesh, telemetry, and audit spanning everything.

Gateway API · ingress (north-south, Ch.22) CONTROL PLANEconsistent · durable · own pool durable orchestrator scheduler / queue OPA · PDP SPIRE DATA PLANEstateless · HPA / KEDA autoscaled agent runtime ×N model gateway ×N tool / MCP ×N retrieval / RAG code sandboxes (µVM) egress gw (allow-list) GPU SERVING · provisioned (Ch.20) vLLM / model servers · GPU node pool external APIsmodel · tool · MCP FOUNDATION Postgres object store Kafka Redis vector + graph admit / start drive loop inference egress durable state vectors / graph spanning all zones — mesh mTLS (Ch.22) · OTel collector (Ch.17) · audit WORM (Ch.16)
Fig 3.3 · Deployment topology. The logical planes map onto a physical split: a small control plane (orchestrator, scheduler, policy, identity) on its own node pool, strongly consistent and durable; a large, stateless data plane (agent runtime, gateway, tools/MCP, retrieval, sandboxes, egress) that autoscales independently; GPU serving for the provisioned-throughput floor (Ch. 21); and the foundation stores beneath. The mesh, telemetry collector, and audit log span every zone rather than living in any one.

The rest of the book is this diagram, decompressed. We begin at the bottom of the request path — the control plane — because durability is the property everything else assumes. An agent that cannot survive a restart is not a platform component; it is a demo with extra steps.

3.4 The model-serving plane: self-host, third-party, or hybrid

The foundation so far is stores and compute; the most consequential thing that compute exists to run is the model itself, and one of the earliest architectural decisions is how it is served. A GPU floor is not generic capacity — it exists, when it exists, to serve self-hosted open-weights models on an inference runtime (vLLM, SGLang, or TGI) that you operate. The alternative is to consume third-party model APIs and run no model infrastructure at all. Most platforms end up hybrid: frontier capability from a provider API, routine or sensitive traffic on self-hosted models. Crucially, this choice is not load-bearing for the rest of the architecture, because the model gateway (Ch. 6) is the seam that hides it — application code calls the gateway, and whether a request lands on your GPUs or a provider's is a routing decision (Ch. 6, 28), not an application change.

Table 3.2 — Serving the model: the foundational choice
OptionControl / residencyCost shapeOps burdenBest for
Third-party APIProvider-controlledPer-token, no floorNoneFrontier capability, fast start, spiky load
Self-hostedYours · in-regionFixed GPU floorHigh (Ch. 21)Residency, cost-at-scale, data sensitivity, control
HybridPer-routeMixedModerateThe common end state — route by task

The decision turns on residency and data sensitivity (self-hosting keeps prompts and data in your region and out of a provider's systems — Ch. 16, 27), cost at your volume (a GPU floor amortizes only above a break-even throughput — Ch. 21, 29), latency control, and how much frontier capability only a provider can supply. Whatever the mix, it is governed as part of the model lifecycle (Ch. 28) and reached through the gateway — never wired in.

· · ·