aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(compute): add AWS Lambda MicroVMs as a ComputeStrategy backend
@dreamorosi ya está trabajando en esto.
Desde el 29/7/2026.
- Lenguaje dominante
- TypeScript
- Estrellas
- 146
- Forks
- 46
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 24
Descripción
Component
Compute backends (ComputeStrategy), CDK/infra wiring, orchestrator session lifecycle, agent runtime entrypoint, docs (COMPUTE.md)
Describe the feature
ABCA already selects a per-repo compute backend via Blueprint compute.type / compute_type (agentcore default, ecs for Fargate when enabled). Add AWS Lambda MicroVMs as another ComputeStrategy option.
Lambda MicroVMs is a serverless Firecracker-based sandbox primitive with near-instant launch/resume, state persistence across interactions (up to ~8 hours), suspend-when-idle (no compute charge while suspended), dedicated URL + JWE auth, and vertical scale up to 4× baseline. AWS positions it explicitly for AI coding assistants and agent sandboxes — a strong fit for ABCA’s isolated, unattended coding sessions.
This is not classic Lambda (15-minute cap). COMPUTE.md correctly marks traditional Lambda as a poor fit; Lambda MicroVMs should be evaluated as a distinct row/backend.
Use case
- Operators want VM-level isolation and suspend/resume economics without operating ECS clusters or depending solely on Bedrock AgentCore Runtime constraints (e.g. 2 GB image limit).
- Multi-step agent tasks that idle on approvals or long builds benefit from suspend/resume and retained memory/disk state rather than always-on Fargate tasks.
- Multi-tenant sandbox patterns (dedicated endpoint per session, strong isolation) map cleanly onto ABCA’s one-session-per-task model.
Context
- Existing backends: AgentCore Runtime (Firecracker MicroVM, managed) and ECS on Fargate (
ecs-strategy), selected through the orchestrator’s strategy interface (ORCHESTRATOR.md, COMPUTE.md). - Liveness differs by backend today (AgentCore heartbeats/
/pingvs ECSDescribeTasks) — a MicroVM strategy needs an explicit poll/stop/suspend model (#491). - Related substrate-portable work: #641 (AgentCore Gateway across substrates), #596 (ECS Fargate usability).
- Product overview: https://aws.amazon.com/lambda/lambda-microvms/
Proposed solution
RFC + spike, then implement behind Blueprint config:
- Capability matrix — Compare Lambda MicroVMs vs AgentCore vs ECS for: max duration, image/rootfs packaging, network/VPC/egress, IAM, auth to the sandbox endpoint (JWE), suspend/resume hooks, observability, regional availability, and pricing dimensions (compute, snapshot, data transfer).
ComputeStrategyimplementation — e.g.compute.type: 'lambda-microvm'withstartSession/pollSession/stopSession(and likelysuspendSession/resumeSession) wired likeagentcore-strategy/ecs-strategy.- Packaging — Define how the ABCA agent image/rootfs is built and loaded into a MicroVM; keep parity with agent contract (clone → edit → verify → PR) and progress events.
- Orchestrator integration — Session sticky routing, idle/suspend policy, failure classification, and cost/attribution tags consistent with other backends.
- Infra — CDK (and later any Terraform path) constructs, bootstrap
ComputeTypesinclusion, IAM least privilege for MicroVM APIs. - Docs — Update
COMPUTE.mdcomparison table; document when to choose MicroVMs vs AgentCore vs ECS.
Acceptance criteria
- ADR/RFC captures fit, non-goals, and API/lifecycle mapping for Lambda MicroVMs.
- Blueprint can select
lambda-microvm(name TBD) per repo; default remainsagentcore. - Orchestrator can start, poll/liveness-check, suspend/resume (if exposed), and terminate a task session on MicroVMs.
- Agent completes a smoke coding task (clone → change → PR) on the MicroVM backend with progress visible to
bgagent watch. - Egress, secrets, and session isolation meet the same security bar documented for other backends (or explicitly list deltas).
- Bootstrap/IAM and docs cover enabling the backend; CDK tests cover strategy wiring.
-
COMPUTE.mddistinguishes Lambda MicroVMs from classic Lambda.
Out of scope (initially)
- Replacing AgentCore as the default backend.
- Using classic Lambda functions (15-minute) as the agent runtime.
- GPU / exotic device passthrough unless MicroVMs GA features clearly support them.
- Full feature parity with every AgentCore-only managed integration on day one (track follow-ups; prefer substrate-portable Gateway/Identity paths where possible).
Tests
- Unit tests for the new strategy (start/poll/stop/suspend mapping, error classification).
- CDK assertions for optional MicroVM resources when
ComputeTypesincludes the new backend. - Agent/orchestrator integ or smoke gated similarly to ECS backend work.
- Docs sync for design guide updates.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.