The Agent Platform Wars Just Got Serious
For the last two years, "building an agent" meant duct-taping a model API, a vector store, a tool router, and a half-baked observability stack together. It worked in demos. It fell apart in production.
Microsoft Foundry's latest GA release tries to close that gap in one shot. Three things shipped simultaneously:
- GPT-5.6 series (Sol, Terra, Luna) — frontier OpenAI models, now first-class citizens in Foundry.
- APAC Data Zone — regional data residency for frontier models, no separate environment to maintain.
- Hosted agents in Foundry Agent Service — a real production runtime for agents built with any framework.
If you've been waiting for a reason to move an agent from a notebook to a real system, this is probably it. (Source)
Picking the Right Model: Sol, Terra, or Luna?
The naming is not marketing fluff — each tier maps to a distinct workload profile.
| Model | Sweet Spot | Relative Cost |
|---|---|---|
| GPT-5.6 Sol | Extended reasoning, agentic loops, code-heavy workloads | Highest |
| GPT-5.6 Terra | Everyday enterprise apps, GPT-5.5-class quality at lower cost | Mid |
| GPT-5.6 Luna | High-volume, latency-sensitive inference | Lowest |
Pricing per million tokens (Standard Global, short context):
- Sol — $5.00 input / $0.50 cached / $30.00 output
- Terra — $2.00 input / $0.20 cached / $12.00 output
- Luna — $0.20 input / $0.02 cached / $1.20 output
The spread between Sol and Luna is 25x on input. That is not a rounding error — it is an architectural decision. Route aggressively.

Hosted Agents: One Runtime, Any Framework
The headline feature is that Foundry Agent Service now runs agents built with Microsoft Agent Framework, GitHub Copilot SDK, LangGraph, OpenClaw, Hermes, and others — all on the same production runtime.
What you actually get out of the box:
- Network isolation via Azure VNet integration — agent traffic stays inside your boundary.
- Resilient task support (private preview) — checkpointing + platform primitives let agents resume after restarts. No more hand-rolled retry/state machines.
- Voice Live GA — real-time voice via the Azure VoiceLive SDK, on top of your existing agent.
- Toolboxes GA — instead of shipping every tool definition on every request, the toolbox picks the right tool per call. Huge token savings on large tool catalogs.
- Foundry IQ GA — the SLA-backed knowledge layer unifying Work IQ (M365), Fabric IQ (structured data), and Web IQ (live web grounding).
A minimal deployment shape looks roughly like this:
# Deploy a hosted agent to Foundry Agent Service
from azure.ai.foundry import AgentClient, HostedAgentSpec
client = AgentClient(endpoint="https://<your-foundry>.azure.com")
spec = HostedAgentSpec(
name="support-triage",
model="gpt-5.6-terra", # balanced cost/quality for triage
framework="langgraph", # or microsoft-agent-framework, copilot-sdk, ...
tools=["toolbox:ticket-tools"], # toolbox resolves tools per request
memory="session", # procedural / user / session
)
client.deploy(spec)
Memory and routines are in public preview — routines let an agent fire on a schedule or on an upstream event (ticket filed, file landed, workflow completed) via the connector gateway.

The Governance Story Is Where This Gets Interesting
Most agent platforms stop at "it runs." Foundry's pitch is that it also answers three uncomfortable questions:
- What did the agent do? — Tracing and evaluation for hosted agents are GA. You see the decision path, not just the output.
- Is it getting better and cheaper? — Agent optimizer (public preview) tunes prompts, skills, tools, and model choice together. It often lets you hold quality while dropping to a cheaper model tier.
- Is it worth running? — ROI for agents (private preview) stitches traces, business-value evals, and operating cost into one dashboard: net value, total cost, current ROI.
Where the Cracks Are
A few things worth flagging before you commit:
- Preview ≠ production. Memory, routines, resilient tasks, agent optimizer, and ROI are all preview. Do not build a compliance story on top of them yet.
- Toolbox opacity. Dynamic tool selection is great for tokens, but you lose static inspectability. Budget time for tracing when debugging tool-call behavior.
- Pricing math is aggressive. The Sol/Luna gap means architecture decisions (routing, caching, batch) matter more than prompt tweaks.
- Vendor gravity. Publishing to Teams/M365 Copilot is convenient — and it also means your distribution layer is Microsoft's.
Next Steps
If you want to go deeper on how to measure whether any of this is actually working, the discipline of evals is not optional — see our breakdown of why LLM evals and A/B tests are different funnels, not forks. And if you're tracking the broader platform-shift pattern where foundations take over ecosystems, the React Foundation's move under the Linux Foundation is the same playbook in a different arena.

TL;DR
Foundry's GA release is less about any single feature and more about the shape of the platform: one runtime, any framework, real governance, real distribution. That is a meaningful shift from the "assemble-your-own-agent-stack" era.
The teams shipping fastest (Adobe, Telefónica, TCS) aren't winning because of a clever prompt — they're winning because they stopped integrating and started deploying.
Start with the Quickstart, pick Terra as your default, and only escalate to Sol when the workload actually demands it. Route, cache, and measure — or the token bill will route you.