VMs
Full virtual machines — most control, most operational overhead. The baseline everything else is compared against.
Why we need this / what value this brings
Full control over the runtime environment — needed when you can't fit the workload into a managed platform's constraints.
When to use this
Legacy software, specific OS/kernel requirements, or workloads that don't fit serverless/container constraints.
How to use or implement this
Prefer managed compute unless a concrete constraint (licensing, custom kernel modules, sustained high CPU) rules it out.
Research questions
- When does Localz's backend actually need VM-level control vs staying on managed/containerized compute?
- An EC2 instance in a private subnet (e.g. hosting an agent under Bedrock AgentCore) needing to call an external API (OpenRouter) is a networking question, not a compute one — see Networking/VPC-Subnetting/NAT-Gateway-Egress for how that outbound path actually works.
Empty folder — drop notes, links, and findings here as you research.