Skip to content

Build1 publisherNot yet confirmed elsewhere3 min readPublished

Three clouds, one protocol, no stored credentials: the runtime becomes a swappable part

A Bedrock AgentCore agent serving Google and Azure callers over A2A pushes the vendor-specific work into the container contract rather than the agent. The credential claim is the part not yet shown.

The Engineer · Build desk

How we use AISend a correction

What happened

  • One research brief is answered by three agents on three clouds: Google ADK on Cloud Run, Azure Agent Framework on Container Apps, Strands on Bedrock AgentCore Runtime.
  • A coordinator puts the identical question to all three and takes the median of the replies.
  • Strands has no A2A server of its own, so the agent's respond function sits behind the a2a-sdk reference routes with no adapter and no event-stream translation.
  • Four AgentCore container requirements depart from normal container practice: port 9000, exposed path /, a separate /ping, and ARM64 images only.
  • A single deploy command builds the image, pushes to ECR, and creates the runtime plus both IAM roles.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • capability An agent written once can be re-hosted by rebuilding a container, because the calling side never held a vendor SDK to rewrite.
  • cost Teams on x86 build pipelines pay a cross-compilation step before they can even attempt the swap, and that cost lands on whoever owns CI, not on the agent author.
  • exposure The health probe payload silently governs session lifecycle: a helpful-looking timestamp field keeps microVMs alive to MaxLifetime, so an operator can leak capacity while every dashboard reads...
  • constraint Nobody can lean on the credential-free property yet, because the negative controls that would prove the authenticated legs stop short in the published material.

The portable part of this build is one coroutine and a JSON document. A caller on Cloud Run or Container Apps imports no AWS SDK; it fetches `/.well-known/agent-card.json` and sends JSON-RPC over HTTP, and every leg of the mesh runs A2A v1.0 [9]. That is what turns the host into a component. The peer contract is the card, and the card can be served by anything.

Which is why the only genuine cross-cloud failure in the walkthrough is an address rather than a protocol. `PUBLIC_URL` cannot be baked into the image, because the card has to advertise the AgentCore invocations URL and that URL does not exist until the runtime ARN does. Omit it and the card offers `0.0.0.0:9000`, which the author reports as the defect that breaks Google ADK's own A2A client against a hosted server [12]. Interop broke in the metadata, one layer above everything the frameworks argue about.

The experimental design is worth reading closely. A predecessor project stood up six directed A2A edges between Bedrock AgentCore, Microsoft Foundry and Google ADK [14]. Six is the complete directed mesh for three participants, since each of the three calls the other two [17], so pairwise reachability was already settled; this run holds the work still and lets the cloud be the only thing that changes [14]. That is the difference between a demo and a control.

The coordinator's median is an admission about trust rather than a scoring convenience. With three answers, the middle one wins and a single outlier cannot set the result [18], so no vendor's runtime is authoritative inside the mesh. Design for that and a bad leg degrades the answer instead of deciding it.

The choice of AgentCore Runtime over Lambda is argued on shape: generic compute would have made the mesh two agent runtimes and a function [15]. What Runtime buys in exchange is per-session microVM isolation, identity and scaling, without caring whether the container holds Strands, LangGraph or CrewAI [4]. The framework indifference on the inside is what makes the container contract on the outside the only thing you have to learn.

The claim carrying the most weight is the one the published excerpt does not finish. The stated aim is three agents over one protocol with no stored credentials between them [1]. The article then turns to negative controls, on the argument that an authenticated leg is unproven without them, and the supplied text stops mid-command [8]. Until those runs are visible, the honest reading is buildable, not verified.

Cheap to check, at least. The agent is a Bedrock `nova-micro` model with a system prompt and one `web_search` tool [16], and the deploy path is a single command [13]. Nobody needs a large budget to find out whether the credential-free legs hold, which is the most useful property this project has.

What to watch

  • Publication of the negative-control runs: whether the AWS leg actually refuses unsigned or wrong-audience calls, not just accepts signed ones.
  • Whether a fourth host can be added to the mesh with no change to the coordinator, which is the real test of runtime swappability.
  • Whether the three vendors' A2A clients stay compatible as the card schema moves past v1.0.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence58
Adoption20
Hype gap+12
Incentives48
Confidence44
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    The project's stated aim is to answer one research brief with three agents on three clouds, over one protocol, with no stored credentials between them.

    ReportedSupportedSource: dev.to walkthrough, AWS Builders community2 sources— create a free account to open themView cited source
  2. [2]

    Google runs an ADK agent on Cloud Run, Azure runs an Agent Framework agent on Container Apps, and AWS runs a Strands agent on Bedrock AgentCore Runtime.

  3. [3]

    A coordinator asks all three agents the same question and takes the median of what comes back.

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · August 23, 2026

    Mix and Match: Serving a Bedrock Agent to Google and Azure

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Loading related stories