A remote MCP server is an API that a language model can drive. This article covers the three things that decide whether it is safe: what the MCP authorization specification requires of the server, where to host it on AWS and Azure and who validates the token in each case, and where the endpoint belongs on the network. Includes a tested Python resource server and an ASP.NET Core version for Entra ID.
Read more →Category: Architecture
A2A and MCP Across Clouds: Connecting a .NET Agent Framework Agent to an Agent on Bedrock AgentCore
MCP connects an agent to its tools; A2A connects an agent to another agent. This article wires a .NET Microsoft Agent Framework coordinator on Azure to a Python agent and MCP tool server laid out for Amazon Bedrock AgentCore Runtime, and reports what broke: A2A 0.3 versus 1.0 version skew, identity across the cloud boundary, and task lifecycle handling.
Read more →Amazon S3 Vectors vs. OpenSearch Serverless vs. pgvector for RAG: Cost Floors, Query Bills and Tenant Isolation
All three AWS vector stores can now cost close to nothing at rest, but they bill and isolate tenants in very different ways. This comparison models Amazon S3 Vectors, OpenSearch Serverless (classic and next generation) and Aurora PostgreSQL with pgvector across three workload shapes, checks the S3 Vectors model against the worked examples on the AWS pricing page, and shows where the tenant boundary belongs in each.
Read more →Prompt Caching Economics on Amazon Bedrock and Azure OpenAI: Where It Pays and Where It Costs
Prompt caching cannot raise your bill on Azure OpenAI, but on Amazon Bedrock with Claude models a cache write costs more than not caching. This article derives the break-even points (one request per prefix every 20 minutes for the five-minute cache, every 80 minutes for the one-hour cache), gives a tested cost model, and shows how to measure cache read ratios on both platforms.
Read more →Bedrock AgentCore Runtime vs. Lambda for Hosting Agents: Isolation, State and the Idle Bill
The same agent runs on AWS Lambda and on Amazon Bedrock AgentCore Runtime with two thin adapters. The differences are isolation, where conversation state lives and what is billed while the agent waits. AgentCore is cheaper for I/O-bound agents only if sessions are ended deliberately: left at defaults, idle memory makes it the more expensive option.
Read more →One Abstraction, Two Clouds: Microsoft.Extensions.AI over Azure OpenAI and Amazon Bedrock
Microsoft.Extensions.AI gives .NET services one interface over Azure OpenAI and Amazon Bedrock. This article builds a two-provider ASP.NET Core service with per-provider telemetry, caching, token metering, tool calling and failover, and is clear about where the abstraction stops: model identity, errors, content safety and model behaviour remain provider-specific.
Read more →