Blog

Infrastructure

AWS and GCP: platforms, cost, migrations, and the parts that outlive the code.

  1. Bedrock model access is three gates, not one permissionA Bedrock AccessDeniedException can mean three different things, so we built a nightly discovery job and a runbook that checks each gate in order.Infrastructure4 min
  2. The credential nobody watchedA shared service-account token expired silently and took a production integration down for 40 hours. The fix that mattered wasn't rotation. It was making four causes of the same error distinguishable.Infrastructure4 min
  3. Your infrastructure has a new client, and it pushes changesThe architecture diagram for our shared AWS platform names two human actors and lists an AI coding agent's own cloud egress as a third. That's a trust-model decision, not a diagram detail.Infrastructure4 min
  4. One gateway, eight backends, and no MCP session in sightWhy an internal MCP aggregation gateway hand-rolls raw HTTP instead of the standard SDK client, and how it disambiguates tool names across eight backends.Infrastructure6 min
  5. A shared library across two languages needs a contract, not parityRunning the same MCP service shape in TypeScript and Rust only works if you decide, in writing, which parts are a contract and let everything else diverge.Infrastructure4 min
  6. What outlives the TerraformMoving off AWS is mostly deletion. The risk is entirely in the handful of things deletion does not cover.Infrastructure4 min