3 ms·
Great overview! > It is highly recommended to read the source code of this amazing project and explore it yourselves - https://github1s.com/firecracker-microvm
by mjb 4y ago
Great overview!
> It is highly recommended to read the source code of this amazing project and explore it yourselves - https://github1s.com/firecracker-microvm/firecracker https://github1s.com/firecracker-microvm/firecracker.
Yes! The Firecracker source is super readable, and a great way to learn about this stuff in detail. There's very little magic there, partially thanks to the efforts of the team to keep things accessible and well documented, and partially thanks to how Linux's KVM APIs abstract away some of the hard and hardware-dependent stuff.
For more on the context of how we use Firecracker at AWS, check out:
- Our NSDI'20 paper, on Firecracker and Lambda: https://www.usenix.org/conference/nsdi20/presentation/agache https://www.usenix.org/conference/nsdi20/presentation/agache
- Chris and Julien talking about Lambda internals at reInvent'22 (including details of the Firecracker-derived technology behind "snapstart"): https://www.youtube.com/watch?v=EplOzQqgstA https://www.youtube.com/watch?v=EplOzQqgstA
- "Lightweight Virtualization, Opportunities and Challenges", a talk I gave in 2020 which covers some serverless/Firecracker topics: https://www.youtube.com/watch?v=ADOfX2LiEns https://www.youtube.com/watch?v=ADOfX2LiEns
- The Security Overview of AWS Lambda, which looks at this stuff from the security perspective: https://docs.aws.amazon.com/whitepapers/latest/security-overview-aws-lambda/security-overview-aws-lambda.html https://docs.aws.amazon.com/whitepapers/latest/security-over...
- nighthawk454 4y agoThanks for linking these additional talks! Tangent but that github1s link from the OP (to an in-browser VS Code instance) makes a clear call out that it's not officially from GitHub. Which is fine. But for completion, GitHub does have an official feature for this by changing the url to `github.dev` or pressing '.' on any GitHub repo: https://github.dev/firecracker-microvm/firecracker https://github.dev/firecracker-microvm/firecracker
- mdaniel 4y agoWhile github.dev may be better in some circumstances, github1s works in an incognito window, without being logged in to GitHub; the github.dev version appears briefly to boot up, then redirects to the login page for GitHub
- rurban 4y agoIs this from Dresden or from Seattle or some other kernel team?
- oblio 4y agoBucharest/Iași, Romania. https://ro.linkedin.com/in/raduweiss https://ro.linkedin.com/in/raduweiss They have quite massive R&D offices in Romania, several thousand folks there.
- rurban 4y agoWhow, impressive! I visited the Iasi math university years ago. They were very good then. Eg lot of Prolog, where others still did Java or Pascal.
- Cthulhu_ 4y agoDoes making it open source mean you get a lot of competition? I believe Cloudflare's lambda offerings are pretty popular for example. Then again, large companies that already invested in AWS are probably not likely to switch providers for specific workloads like lambdas.
- tdullien 4y agoIirc it's based on crosvm, so AWS didn't do much "make it open source" as "adapted an existing piece of open source".
- eloff 4y agoCloudflare uses V8 for sandboxing, not virtual machines. It’s much lighter weight, but it’s also limited to just what V8 can run (JavaScript and web assembly). Quite a different offering to lambda. It shares no source in common.
- nimbius 4y agocurious: for the blockIO engine can a qcow2 image be specified as a path? how do i run python in this? can i get to the BPF engine?