The opinions expressed on this submit are the authors’ views and never these of Cisco.
Enterprise architectures have lengthy been centered on REST APIs and microservices. These methods are secure, well-tested, and deeply embedded in manufacturing environments. They weren’t designed for Agent-to-Agent (A2A) communication, the rising commonplace for autonomous brokers that collaborate, motive, and coordinate by means of structured messaging. That labored within the absence of a standard agent protocol, nevertheless it means many current brokers now sit outdoors the rising A2A framework. The problem immediately is not solely including A2A to conventional providers. You additionally have to carry these REST-based brokers right into a standardized agent-to-agent world.
On this technical collaboration between AWS and the authors, we current a realistic resolution: agentic overlays. Agentic overlays are skinny wrapper layers that rework conventional REST-based providers into brokers able to collaborating in A2A interactions. In addition they expose REST APIs as instruments appropriate with the Mannequin Context Protocol (MCP). Collectively, they let enterprises add A2A capabilities to current REST providers with out rewriting enterprise logic, with out duplicating code, and with out working parallel infrastructures. This reduces agent sprawl within the infrastructure by reusing current providers as brokers. We offer reference architectures and pattern code that present how you can construct agentic overlays.
Background: REST vs. A2A
REST APIs are designed for deterministic, client-server integration. A consumer calls a well-defined endpoint, passes parameters, and receives a predictable response, usually in a stateless request-response stream ruled by HTTP semantics. This makes REST wonderful for exposing enterprise capabilities (resembling create, learn, replace, and delete) with clear contracts, robust compatibility, and operational simplicity.
A2A is designed for interoperability between autonomous brokers. Brokers uncover each other by means of metadata (resembling an agent card), negotiate capabilities, and trade structured messages (usually by means of JSON-RPC) to coordinate multi-step duties. The place REST optimizes for secure service interfaces and direct execution, A2A optimizes for reasoning-driven coordination, task-oriented messaging, and agent collaboration. The result’s methods that may plan, delegate, and compose actions throughout a number of providers slightly than invoking remoted endpoints.
Challenges with shifting in direction of agentic methods
REST APIs and agentic methods are primarily based on orthogonal paradigms, which makes it arduous for enterprises to maneuver current providers into standardized agentic communication. But enterprises want to make use of each with out a main overhaul. Though newer agent communication by means of A2A introduces coordination fashions for enterprise methods, adoption has been slowed by the necessity to deploy and function agentic infrastructures alongside current enterprise methods. This parallel operation will increase operational complexity and price, creating boundaries to adopting AI successfully.
Earlier than A2A was standardized, enterprises generally deployed brokers as REST-based or proprietary providers. They handled them as typical APIs with agent-specific logic embedded in request-response endpoints. In consequence, many current brokers immediately aren’t A2A-native, which creates a brand new migration problem: making these brokers interoperate utilizing standardized A2A protocols with out rewriting their core logic.

Fig 1: REST-based utility
The previous determine reveals a REST-based utility. The REST API stack is likely to be a monolith or a set of distributed endpoints. The REST API controller doesn’t should be an express dealer that delegates requests outdoors the appliance. It may be a part of the framework itself. For instance, in a Flask utility, the framework supplies the controller abstraction out of the field, as you usually see when utilizing @app.route() or Flask’s RESTful extensions. The concept right here is to seize the REST stack with a set of endpoints.
Answer approaches
On this part, we focus on the completely different approaches you possibly can take so as to add an agentic functionality to a legacy enterprise system. We evaluate them to the method of utilizing agentic overlays.
Keep separate REST and A2A stacks: One method is to develop and keep two parallel methods to reveal the identical capabilities. This might imply:
- Two units of endpoints:
/api/v2/...and/a2a/.... - Two implementations of auth, validation, and error mapping (except fastidiously reused).
- Two deployment pipelines (construct, take a look at, launch, rollback).
- Double observability work: logs, metrics, and tracing for each paths.
- Larger danger of inconsistency. A2A could return a special output for a similar operation carried out by REST.
- Larger price and operational complexity over time.

Fig 2: Separate REST and A2A stacks
Separated stacks, however shared enterprise logic: Refactoring current endpoints means you modify your present REST API code construction (and typically habits) so it may be reused by a brand new interface resembling A2A. As an alternative of leaving REST endpoints as-is, you reorganize them, often by extracting enterprise logic into shared providers and updating controllers and handlers to name these providers. Even when the exterior REST paths stay the identical, refactoring can introduce regressions, habits drift, and a big take a look at burden.

Fig 3: Separated stacks, shared enterprise logic
The core thought: Agentic overlays
An agentic overlay is a skinny wrapper layer that lets REST-based providers take part in A2A communication. The overlay:
- Transforms an agentic message right into a REST payload, and the reverse.
- Exposes REST endpoints as agent duties or instruments.
Most significantly, A2A isn’t a brand new API. It’s a brand new interface to an current API. The underlying REST service stays unchanged.
Including an agentic overlay inside the utility
On this method, you have got two units of endpoints, /api/v2/... and /a2a/... (REST vs. A2A), as proven within the following diagram, however a single deployment pipeline for construct, take a look at, launch, and rollback. With this sample, conventional REST API endpoints could be remodeled into agentic endpoints with out rewriting the core enterprise logic. The deployment course of doesn’t change for the service. For a similar host and similar port, you add new routes, though the methods may should be scaled to deal with elevated site visitors.
You may apply the agent abilities themselves for routing. An MCP server can be utilized to invoke exterior providers, however agent abilities can route requests inside the agent scope instantly with out importing APIs into an MCP server as abilities. No matter endpoints you have got could be uncovered as agent abilities without having a separate MCP server.

Fig 4: Agentic overlay inside an utility
This method reduces agent sprawl within the infrastructure by reusing current providers as brokers. This design sample works nicely for supervisor brokers that want each REST-based and agentic capabilities with restricted useful scope, resembling intent classification and routing.
Agentic overlay instance implementation
As a proof of idea, this part reveals how you can port an instance legacy REST-based calculator service that makes use of Flask into an agentic system utilizing an overlay. For the overlay, we add the usual A2A elements (or routes), resembling a well known agent card, agent message endpoint, capabilities, abilities, and well being. We additionally introduce a message transformation design sample that converts agentic messages to REST API messages, then points REST invocation calls from the agent. The A2A message translation workflow is as follows:
- Receives JSON-RPC 2.0 requests.
- Maps A2A duties to REST endpoints.
- Forwards authentication headers.
- Calls REST endpoints internally.
- Interprets REST responses to JSON-RPC format.
Step 0: Request-response format
This part compares the request-response format for the REST and A2A protocols, utilizing the calculator instance demonstrated within the following sections.
REST vs. A2A enter request:
| REST | A2A |
| { “operation”: “add”, “operands”: [5, 3] } | { “jsonrpc”: “2.0”, “technique”: “SendMessage”, “params”: { “message”: { “position”: “person”, “components”: [ { “kind”: “data”, “data”: { “operation”: “add”, “operands”: [5, 3] } } ] } }, “id”: 1 } |
REST vs. A2A output response:
| REST | A2A |
| {“outcome”: 8} | { “jsonrpc”: “2.0”, “outcome”: { “messageId”: “uuid”, “contextId”: “uuid”, “position”: “agent”, “components”: [{“kind”: “data”, “data”: {“result”: 8}}], “variety”: “message”, “metadata”: {} }, “id”: 1 } |
Step 1: Arrange the agent
On this step, you create the calculator agent instance with a well known agent card and agent abilities loaded. The build_agent_card perform builds the agent card dynamically.
Step 2: Implement the interior REST caller
Word on Server-Despatched Occasions (SSE) for streaming:
The previous extract_message_payload() perform works the identical approach for each SendMessage and SendStreamingMessage.
For operations which are prompt (like our calculator), each strategies return a single outcome. For long-running operations (for instance, report era or information evaluation), SSE streaming permits the server to push incremental updates.
Step 4: Implement JSON-RPC response builders
Step 5: SendMessage — A2A-to-REST delegation
Step 6: Arrange A2A routes (Spec 0.3)
The official A2A SDK supplies A2A libraries for FastAPI and Starlette purposes that summary away the complexity of including A2A-specific routes. Though A2A libraries are additionally accessible for Flask apps, we don’t use them in our pattern code. We wish to make it simple so that you can perceive what it takes to host an A2A overlay over a Flask app. The next code snippet provides the routes wanted for A2A.
Step 7: Lastly, initialize in your utility
Step 8: Run your utility
From the mission base listing, run the next instructions.
Including an agentic overlay utilizing Amazon Bedrock AgentCore Gateway
Amazon Bedrock AgentCore is a service for constructing, connecting, and optimizing brokers at scale with out managing infrastructure. As proven within the following diagram, AgentCore Gateway can decouple the agentic overlay from the appliance by serving as a single entry level for endpoints and providers. This separation lets one agentic overlay serve a number of providers or purposes, not just one. AgentCore Gateway helps as much as 10 targets per gateway, with native integration into current AWS providers and assist for OpenAPI endpoints.

Fig 5: Decoupling the agentic overlay utilizing Amazon Bedrock AgentCore Gateway
Enterprise-scale purposes usually orchestrate a number of providers to deal with complicated duties. For instance, a calculator utility processing “Calculate 2 * (3 + 4).” As proven within the following diagram, the system first queries an order-of-operations endpoint (resembling /api/order-of-ops/...) to find out the order of analysis. It then makes sequential calls to an endpoint (resembling /api/arithmetic/...) to calculate “3 + 4” adopted by “2 * 7.” Including an agentic overlay to every service would introduce its personal overhead. As an alternative, you’ll be able to tie each providers collectively right into a single agentic overlay that orchestrates the calls as wanted.
You may separate the agentic overlay out of your utility to arrange your agentic overlays primarily based on performance slightly than solely by utility. The agentic overlays act as an agentic solution to work together together with your purposes and your methods, an agentic solution to work together with performance.
Past AgentCore Gateway, extra AgentCore capabilities simplify monitoring, iteration, and deployment of your agentic overlay. AgentCore Id handles authentication for each agent and gateway elements, supporting OAuth 2.0 suppliers with managed integrations for Okta, GitHub, and Slack. AgentCore Observability displays agent efficiency by means of metrics, logs, and span visualizations. You may view high-level information resembling software calls and latency, or examine granular execution paths throughout elements, with native Amazon CloudWatch integration. AgentCore Runtime deploys fashions by means of a container picture, whether or not open-source, customized, or Amazon Bedrock LLMs resembling Nova and Anthropic Claude, with out requiring you to handle massive language mannequin (LLM) infrastructure.

Fig 6: Decoupling the agentic overlay utilizing Amazon Bedrock AgentCore capabilities — runtime, gateway, identification, and observability
Through the use of the completely different capabilities of AgentCore, you’ll be able to simplify the deployment of your agent and your agentic overlay, with simple integration into your current AWS stack. As a result of it’s a managed service, it additionally reduces the work wanted to implement your agentic overlay.
Partnering to speed up enterprise AI adoption
This agentic overlay sample represents a broader collaboration between the authors and AWS to assist enterprises bridge the hole between current infrastructure and rising AI capabilities. Profitable AI adoption requires pragmatic options that respect current investments and assist incremental transformation. Collectively, AWS and the authors are creating reference architectures, implementation patterns, and tooling that allow enterprises undertake A2A communication with out wholesale infrastructure substitute. The agentic overlay sample exemplifies this philosophy: protect what works, prolong the place wanted, and supply clear migration paths that reduce danger whereas maximizing worth.
Conclusion
Agentic overlays give enterprises a realistic path to undertake Agent-to-Agent communication with out abandoning their REST API investments. By including a skinny translation layer that converts A2A messages to REST payloads, organizations can take part within the rising agentic panorama whereas preserving secure, production-tested enterprise logic. The 2 implementation patterns provide flexibility to match organizational wants: within-application overlays for targeted use circumstances, and AgentCore Gateway for enterprise-scale deployments. Whether or not you’re enabling a single supervisor agent or orchestrating complicated multi-service workflows, agentic overlays scale back the operational overhead of parallel infrastructures and the regression danger of wholesale refactoring.
As enterprises navigate the transition from deterministic REST APIs to reasoning-driven agentic methods, the important thing perception stays: A2A isn’t a brand new API. It’s a brand new interface to your current API. This angle shifts the adoption problem from rebuilding every thing to retrofitting incrementally, so organizations can notice AI worth quicker whereas managing danger successfully. For organizations able to discover agentic overlays, the calculator instance supplies a concrete place to begin, and AgentCore affords infrastructure for manufacturing deployments.
Subsequent steps
- Consider your structure – Audit REST providers for A2A enablement candidates. Inside-application overlays match single-service brokers. AgentCore Gateway suits multi-service workflows.
- Evaluate the reference implementation – The Flask calculator instance demonstrates the interpretation sample with agent card setup, message extraction, REST invocation, and response constructing.
- Discover Amazon Bedrock AgentCore – AgentCore Gateway, Id, and Observability present infrastructure for manufacturing agentic overlays.
- Be part of the A2A neighborhood – The A2A Protocol specification and SDK documentation can be found at a2a-protocol.org, with libraries for Flask, FastAPI, and Starlette purposes.
The way forward for enterprise AI lies not in changing current methods, however in extending them with agentic capabilities. Agentic overlays make that future accessible immediately.
In regards to the authors

