MicroVMs: Run isolated sandboxes with full lifecycle control (aws.amazon.com)

109 points by justincormack 3 days ago

53 comments:

by dbmikus an hour ago

There are sooooo many sandbox providers out there.

They do spike on different features like:

    - snapshotting and forking
    - good SSH and VPN access for end-users
    - agent-friendly features, like obscuring secrets at network layer

Then there's also the option to use libkrun to run local sandboxes on your own computer. That doesn't scratch the itch for hosted services, but works if your goal is to run agents inside isolated environments for your own work.

I've been working on some open-core stuff[1] to coordinate sandboxes, and we're making changes to have a library that lets people coordinate any number of remote or local sandboxes using any provider, kinda like how the Docker CLI works for managing containers, git repos, and coding agents. Flue[2] is another player in this space, and is more of a pure framework, while we're building it as an interactive product for using sandboxed agents and workflows.

[1] https://github.com/gofixpoint/amika/blob/main/ROADMAP.md

[2]: https://flueframework.com/

by PeterStuer 38 minutes ago

Setting up your own is not that hard and if you bought some compute before the Altman squeeze, very cheap.

by dbmikus 22 minutes ago

Def!

My personal belief is that the future of an "app" is a combo:

    1. micro VM
    2. agent on the VM
    3. software bundled into the VM

So, it should be stupid simple to run these local sandboxed apps/agents. Right now, not too hard for technical users (esp. with things like https://smolmachines.com/ and https://microsandbox.dev/), but not as easy as clicking an app icon or typing `/path/to/binary` in the CLI
by sureglymop 39 minutes ago

Why isn't libkrun good enough for hosted stuff? I use it as a podman backend in a microservice architecture.

by dbmikus 24 minutes ago

Firecracker has more tooling for the orchestration layer that manages many sandboxes at once. Stuff like K8S integration, an external REST API control plane, more first-class support for snapshotting, etc.

You'd have to build more of that with libkrun

The core tech of both are great though.

by reinitctxoffset 29 minutes ago

What people aren't getting with `firecracker` is utilization. Don't get me wrong, `firecracker` is great software and it's what I'm using for lightweight virtualization, but workloads are really bursty over really short periods of time now, even with the snapshot and restore that you can get if you're willing to hack on `firecracker` substantially, you hit walls where it's like, this is too much against the grain, this thing wasn't designed to bounce from 1 core to 32 to 8 to 16 to 4 to 32 to 1 seamlessly, and that's what it takes to get extreme utilization even with extremely good ML on the prediction.

I am quite sure I'm not the only person working on post-firecracker KVM.

by stubbi an hour ago

Thanks for sharing these!

by jacobgold an hour ago

It's about time AWS got into the agent sandbox game.

The startups in this space right now don't provide much value on top of the cloud providers they're wrapping. They don't tend to be run by experienced infra people either so they seem very vibecoded, insecure, janky, etc. They're also significantly overpriced because they're marking up already expensive providers.

Something surprising from my own experience is that while there's certainly a huge role for async agents in cloud sandboxes, async agents running locally seem more useful in many cases.

by colesantiago an hour ago

Agreed.

Most of the startups are just wrappers around AWS and significantly more expensive.

Agents need sandboxes that are cheaper so that they can run thousands

I feel that AWS, GCP and all the other cloud providers can provide this natively.

by ilaksh an hour ago

What's the best provider to self-host Firecracker? I feel that AWS is not a safe or cost-effective option for a self-funded startup or small business. Although is anything cost effective anymore? Hetzner just had a massive price hike.

Part of it might just be that I am old and inflation is catching up with my understanding of prices.

But as far as AWS I still have to say no thanks. Imagine some group actually started using my hosted AI agent service for something compute and network intensive. It could turn into $2000 overnight and if I didn't account for one of the numerous types of AWS charges, I might have only collected $500 for credits purchases.

Or it could easily be ten times that. But who am I kidding. No one is going to use my agents. So it doesn't matter if it's gvisor or Firecracker or whatever.

by dbmikus an hour ago

Why do you want to self-host vs. using one of the many providers out there?

Daytona, E2B, OpenComputer, Freestyle, Blaxel, Vercel, Modal, Cloudflare, Tensorlake, Superserve, etc. etc.

Some of them work by pre-purchasing credits, so you can control the blast radius of spend.

Also, if you want a more embedded sandbox runtime as a library instead of a daemon + REST API, you can check out libkrun (and friendly layers on top of it like https://microsandbox.dev/ and https://smolmachines.com/)

by khurs 21 minutes ago

self host = better spec machine for same price.

by alexellisuk 42 minutes ago

For self-hosting, have a look at what we're building with SlicerVM.com (disclosure: I'm the founder). Also runs just as well on Apple Silicon.

We run quite a few Slicer instances on mini PCs and Ryzen builds - also on Hetzner (and yes ouch 120 EUR / mo up to ~ 550 EUR / mo for 16core / 128GB RAM feels almost unfair)

by Multicomp an hour ago

This reminds me of Fly.io's model off the top of my head, though its not a self-hosted firecracker as such.

by vidarh an hour ago

Hetzner is still cheap compared to AWS.

by magnio an hour ago

Yeah, the big 3 cloud markup is so high that most VPS providers can hike price 10x and they are still cheaper.

by CuriouslyC an hour ago

Cloudflare is cost effective for certain types of workloads, I've heard of businesses getting surprisingly far on the $5/mo worker plan.

by Multicomp an hour ago

At my day job, workers and sqlite-backed durable objects that quickly hibernate and quickly resume are quite nice, I prefer that to standard lambda.

by 0xbadcafebee 28 minutes ago

  > Containers launch in seconds, yet their shared-kernel architecture requires significant custom hardening to safely contain untrusted code
That's literally why they made Fargate. It's managed firecracker VMs with containers. They invented firecracker for this purpose. This new product is competing with Fargate, but they don't mention Fargate at all in the announcement.

  > you create a MicroVM Image by supplying a Dockerfile and code packaged as a zip artifact in Amazon S3
  > 
  > MicroVMs support up to 8 hours of total runtime
So you're already using containers with this new thing, same as Fargate! And not only that, it's more limited in runtime than Fargate! The only thing different with this service is stateful file storage, which is actually a problem you later have to engineer around, which is why containers are stateless.

This smells like a competing team building something to capitalize on AI hype, but the product isn't differentiated enough for this to make sense long term. If this was a service called managed AI agents, and you added features specific to AI agents, that has value. But "here's Fargate with a different name" isn't gonna last.

by baxter_pad 8 minutes ago

Fargate does not use Firecracker, it is simply ec2 instances.

by alasano 21 minutes ago

We have this page which compares a whole bunch of sandbox providers in different categories

https://engine.build/lab/agent-sandboxes

Will add MicroVMs there today (and any others that are missing if you let me know!)

by fcarraldo an hour ago

Shouldn’t the title be “AWS Lambda MicroVMs”? MicroVMs are an existing concept.

by alexellisuk 41 minutes ago

Yeah, I'm surprised Justin posted this like it was new(s). Wasn't it doing the rounds on the 22nd when it launched?

by mdeeks an hour ago

> MicroVMs support up to 8 hours of total runtime

Does this mean you effectively can't use them as long-lived developer environments? It sounds like even if you suspend them, this is the hard limit on the total time it can run.

by topspin an hour ago

It just a time limit of the life of a single MicroVM.

Using this for a long lived "developer environment" would be extraordinarily expensive anyhow. Scaling the vCPU + RAM cost of these to the same shape compute optimized Graviton On-Demand EC2 instance (16 vCPU x 32 GB RAM) shows about 4x the cost.

So don't do that. Just use an EC2 instance.

by mmastrac an hour ago

They are long-lived if you're a mayfly.

But I think the point is that they should be cheap to set up, and because of the short life, never really contain anything except the potential to compute when needed, not important data.

by 8note an hour ago

lambdas are ephemeral on compute, but couldn't you connect up EFS for your long lived data?

then when you launch the next one, its like you are still there?

by amw-zero an hour ago

You can use them for dev environments.

You just have to finish development in 8 hours.

by lab14 an hour ago

I'm assuming you can launch them again after 8 hours.

by mkagenius 36 minutes ago

Not so subtle plug from yet another sandbox provider, https://instavm.io :

Apart from the above features.

  1. We support more than 32GB disk (as a detachable device, ideal for agentic memory)

  2. We provide egress control

  3. We provide vault for secret injection (to counter prompt injection)

  4. Snapshot / forking.

  5. long lived sandboxes.
Everything supported in APIs and CLI for agents.

Can be used via - npx skills add instavm/skills

by patabyte an hour ago

This seems roughly similar to Google's Cloud Run gen2 instance types. My understanding is with the second generation, they are running microvms which are bootstrapped from a container image.

by stubbi an hour ago

Interesting, I have recently started working on a project which is similar and fully open source.

by kardianos 42 minutes ago

> Didn't mean to highjack for self advertisement. > > As the topic matches, .... my project might be appealing to some here

That's exactly what you intended to do. That is the definition of advertising. It is true, many people might like it, so own it. Don't lie about it, even to yourself.

by stubbi 31 minutes ago

updated the comment....

by TacticalCoder 26 minutes ago

What's the point of microVMs for running agents?

Are you guys literally spinning up agents where a 100 ms boot time vs a 3 seconds boot time makes a difference?

I'm asking because I understand the appeal of micro VMs but every time the subject comes up people talk about "isolating agents": what's wrong about isolating agents in a regular VM (or in a container which, itself, is in a VM)?

FWIW I've got my stuff nicely isolated in regular VMs that are regularly up for hours and hours.

It's like the microVMs boots in 100 ms, then the agent does... What? And exits after another 100ms and now you need to launch another one?

What's the use case of "microVMs to isolate agents"?

by 0xbadcafebee 4 minutes ago

[delayed]

by robmccoll an hour ago

What does the actual startup latency look like? Does it depend on the size of the resulting image?

by simonw an hour ago

I tried this a few days ago. Once you have an image built and ready startup time is fast, but building that original image took 5-10 minutes.

I think it's designed for building an image once and then reusing it many, many times.

by yiyingzhang an hour ago

How's this different from Firecracker?

by tptacek an hour ago

Presumably it is Firecracker. It's just a different shape of offering, along with Lambda and Fargate, which are also Firecracker.

by simonw an hour ago

It's a product that runs on top of Firecracker.

by tekla an hour ago

The literal first paragraph has a highlighted link that says this runs on Firecracker

by colesantiago an hour ago

How does this compare to Fly.io

Which is more cheaper for me?

Ideally maybe self hosting would be better?

by simonw an hour ago

Fly.io doesn't set a maximum of 8 hours of alive time on your instance.

Also, MicroVMs can't be exposed directly to the web. Your code running in them can only be executed via API calls with attached auth tokens - so if you wanted to host a public facing API or website with them you'd need to implement your own additional layer in front.

Something I appreciate about Fly (disclaimer: they support my work) is that the pricing is fixed - you pay $1.94/month (less if you suspend your machine) for the smallest instance, up to $976.25/month for the largest (16 CPUs, 128GB) plus predictable costs for volume storage.

The only variable outside your control is bandwidth, and that's unlikely to cause a nasty shock.

Contrast with any of the more "elastic" hosting providers - Vercel, Cloud Run - and you're much less likely to get a horrifying bill if something gets overly-crawled or goes viral.

by metadat an hour ago

How does this compare to E2B?

by zobeirhamid an hour ago

e2b supports UDP and the pricing structure is different.

by ushakov an hour ago

i’d say what AWS released looks closer to a bare compute primitive. E2B is up the stack and ships everything around VM like snapshots, networking, integrations.

also, there’s no lock-in, E2B is open-source and can be hosted on any cloud (AWS included).

plus supports bigger boxes, higher concurrency, longer timeouts (24hr).

disclaimer: i work at E2B

by billconan an hour ago

does it have gpu support?

by binsquare an hour ago

check this out https://github.com/smol-machines/smolvm

will have a hosted platform soon with GPU support (vulkan)

by bitlad an hour ago

It is supposed to be a sandbox that you can invoke from agent, langchains of the world, coding agents etc.

by redrove an hour ago

No, it doesn’t seem like it.

by esseph an hour ago

Not that I can find in the docs anywhere. Compute only.

Data from: Hacker News, provided by Hacker News (unofficial) API