AI Integration · Agent Infrastructure
Foundry Agent Service Is GA: What It Means If You're Already on LangGraph
Microsoft's Foundry Agent Service reached general availability with framework-agnostic hosted runtime for production agents. Here's what's actually new, how the sandboxing and protocols work, and whether it changes anything for teams already running LangGraph or CrewAI.
Anurag Verma
5 min read
Sponsored
Most “agent platform” announcements are still demos wearing a product page. Microsoft’s Foundry Agent Service reaching general availability is a narrower, more useful claim: a managed runtime for agents you already built, in whatever framework you already picked, packaged as a container and run in an isolated sandbox that Microsoft operates. If you’re already running LangGraph or CrewAI in production, the interesting question isn’t whether to switch, it’s whether this solves a deployment problem you actually have.
What GA actually covers
Foundry Agent Service has two ways to define an agent: prompt-based agents, configured entirely through prompts and tool settings in the Foundry portal, and hosted agents, which are your own code packaged as a container image, deployed to Microsoft-managed infrastructure. The GA milestone is specifically about hosted agents and includes the managed runtime, per-session sandboxing, the two supported protocols, and observability integration. Routines, a scheduling feature for running any agent on a timer, remain in public preview, so treat that piece as still maturing.
The framing that matters most: hosted agents are explicitly framework-agnostic. Your container can be a LangGraph graph, a CrewAI crew, an agent built on the GitHub Copilot SDK, or Microsoft’s own Agent Framework. The runtime doesn’t care which orchestration library produced the container, it just runs it.
# A hosted agent is just your existing agent code in a container.
# This LangGraph agent doesn't change to deploy here.
FROM python:3.12-slim
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "agent_server.py"]
The sandboxing model
Every session gets its own VM-isolated sandbox with a persistent filesystem, exposed at $HOME and /files. That isolation is worth pausing on, because it’s solving a problem specific to agents rather than typical web services. A stateless API handler doesn’t usually write files to disk, spawn subprocesses, or need its working directory to survive between requests. An agent that writes intermediate results to disk, shells out to a code interpreter, or maintains a working set of files across many turns of a long conversation does need exactly that, and running two such agents in the same shared compute without isolation is a real security and reliability problem, not a hypothetical one.
Scale-to-zero with stateful resume is the other half of this: the sandbox’s filesystem persists even when the compute backing it gets deallocated during idle periods, and a new invocation reattaches to that same persistent state rather than starting cold. That matters economically for agents with bursty, unpredictable usage, since you’re not paying to keep a VM warm just so an agent’s working files stay available between calls.
Two protocols, two state models
Hosted agents can expose one or both of two protocols:
| Responses protocol | Invocations protocol | |
|---|---|---|
| Primary identifier | Conversation ID | Session ID |
| Who manages history | The platform, automatically | The client |
| Compatible with | OpenAI-style stateful chat APIs | Schema-free, pass-through designs |
| Best fit | Agents that want the platform to carry conversation state | Agents whose framework already owns its own state |
If your agent framework (LangGraph’s checkpointing, for instance) already has an opinionated way of managing conversation state, Invocations lets you keep that model and just use the platform as compute. If you’d rather not build state management yourself, Responses hands that off to the platform in an OpenAI-compatible way.
What this changes and what it doesn’t
For a team already committed to a framework like LangGraph, CrewAI, or AutoGen, this announcement is not a reason to reconsider that choice. It’s a new answer to a different question: where does the container that framework produces actually run in production, with what isolation guarantees, and at what operational cost.
That’s a real question worth answering, separate from orchestration framework choice. Teams running agent workloads today often solve sandboxing and session isolation themselves, with hand-rolled container orchestration, a self-managed Kubernetes namespace per session, or (more commonly than anyone likes to admit) a shared compute pool with weaker isolation than a production agent handling file writes and subprocess execution really should have. A managed runtime that handles per-session VM isolation, persistent filesystem, and scale-to-zero out of the box removes a genuine chunk of infrastructure work, if you’re already inside the Azure ecosystem or open to being.
The trade-off to evaluate honestly: you’re taking a dependency on Microsoft’s specific protocol and sandboxing model, and pricing for hosted compute that scales to zero is a different cost shape than a fixed self-managed cluster. For a team already deep in AWS or GCP with existing container orchestration investment, the calculus is different than for a team already standardized on Azure and looking to stop hand-rolling agent sandboxing. Evaluate it as an infrastructure decision on its own merits, not as a signal about which agent framework is winning.
If you’re scoping out a production agent deployment and want a second opinion on whether to build the sandboxing yourself or adopt a managed runtime like this one, that’s exactly the kind of architecture call worth getting an outside read on before you commit engineering months to either path; see our services page for how we approach that kind of assessment.
Frequently asked questions
- What exactly is generally available now in Foundry Agent Service?
- Hosted agents, the part of Foundry Agent Service that runs your own containerized agent code (as opposed to prompt-only agents configured entirely in the Foundry portal), reached general availability. That includes the managed runtime, per-session sandboxing, the Responses and Invocations protocols, and observability integration. Routines, which let you run any agent on a timer or schedule, remain in public preview.
- Do I have to rewrite my LangGraph or CrewAI agent to deploy it here?
- No. Hosted agents run as container images, and the runtime is explicitly framework-agnostic: agents built with LangGraph, CrewAI, the GitHub Copilot SDK, or Microsoft's own Agent Framework all deploy as a container without a rewrite. What you're adopting is a deployment target and a managed runtime, not a new way of writing agent logic.
- What's the difference between the Responses and Invocations protocols?
- In the Responses protocol, a conversation ID is the primary concept and the platform manages conversation history for you automatically. It's the OpenAI-compatible, stateful-by-default option. In the Invocations protocol, a session ID is the primary concept and the client manages that session state directly, which suits schema-free or pass-through scenarios where you want full control over request and response shape. Pick Responses if you want the platform to carry history for you; pick Invocations if your agent framework already owns its own state model.
- What does per-session sandboxing actually buy you?
- Every agent session runs in its own VM-isolated sandbox with a dedicated, persistent filesystem (exposed at $HOME and /files). That isolation means one session's file writes, crashed process, or runaway resource use can't affect another session's environment, which matters more for agents than for typical web requests because agents write files, run subprocesses, and hold state across multiple turns in ways a stateless API handler usually doesn't. Scale-to-zero with stateful resume means a session's filesystem persists even when the underlying compute is deallocated between invocations, so you're not paying for idle compute just to keep state warm.
- Should this change which agent framework we pick?
- Generally, no. Foundry Agent Service is a deployment and runtime layer, not an orchestration framework, and it deliberately supports the frameworks teams already use. The decision of which framework fits your use case, covered in our comparison of LangGraph, CrewAI, and AutoGen, is still a separate question from where you host the result. Evaluate Foundry on its own terms: does the sandboxing, protocol support, and pricing model fit your deployment needs, independent of which framework produced the container.
Sources
Sponsored
More from this category
More from AI Integration
R.01 DeepSeek V4 Is Now the Only Option: The Legacy API Cutoff and What Actually Changed
R.02 pgvector vs Pinecone vs Weaviate vs Qdrant: Which Vector Database Should You Actually Use in 2026
R.03 OpenAI Presence: What a Guardrailed Enterprise Agent Platform Means for Product Teams
Sponsored
Discussion
Join the conversation.
Comments are powered by GitHub Discussions. Sign in with your GitHub account to leave a comment.
Sponsored