AWS re:Invent 2018: Firecracker’s minimalist VM lights up the serverless sky
Have your eye on all the happenings in Las Vegas at AWS re:Invent? We’ve been scanning the skies! Out of all the serverless announcements and tech, Firecracker is an eye-catching virtual machine. It is lightweight, secure, and uses Linux. Forget bloat, minimalism is the future of serverless.
We all can’t make it to Las Vegas to check out AWS re:Invent (and try our luck at the slot machine after an invigorating conference). The announcements during AWS re:Invent are plentiful. Between new tech announcements and open sourcing, the event continues to grow. One, in particular, is Firecracker – a lightweight virtualization tech for serverless computing.
Take a break from refreshing the AWS re:Invent Twitter and explore the heat behind Firecracker.
Lightweight and bright 🎆
Just the facts first! From the GitHub documentation:
Firecracker is a new virtualization technology that enables customers to deploy lightweight micro Virtual Machines or microVMs. Firecracker microVMs combine the security and workload isolation properties of traditional VMs with the speed, agility and resource efficiency enabled by containers. They provide a secure, trusted environment for multitenant services, while maintaining minimal overhead.
With all of the benefits of a VM’s speed and efficiency, Firecracker provides a RESTful API for creating microVMs.
Firecracker promises minimalism and staying lightweight, all without sacrificing security. Its creators keep security the main focus. Any potential security vulnerabilities take top priority.
Its creation came from the desire to reduce overhead. The charter claims that: “If it’s not clearly required for our mission, we won’t build it. We maintain a single implementation per capability.” This is one little powerful tool that won’t become bloated with each new release. (So long as those tenets are true to their word!)
— AWS re:Invent (@AWSreInvent) November 27, 2018
Explore the design docs to see how host integration works and what its internal architecture is made out of. The specification doc also explains how Firecracker will maintain a minimal-overhead. (How low? How does < 5 MiB per microVMs sound?)
Some more features & trivia:
- Firecracker’s language of choice: Rust. Does this surprise you? It shouldn’t; Firecracker has roots in crosvm – the Chrome OS virtual machine monitor, which was written in Rust. Virtual machines written in Rust benefit from the language’s memory safety.
- Windows support? Not here. Firecracker is a Kernel-based virtual machine. It can only support Linux kernel v4.14 and higher.
- Currently, Firecracker only runs on Intel processors. Support for AMD and ARM are on their way in 2019.
- Firecracker developed naturally in the throes of serverless. In his blog post, Jeff Barr (Chief Evangelist for AWS) writes, “We asked ourselves what a virtual machine would look like if it was designed for today’s world of containers and functions”.
- Its minimal model allows for fast startups times.
The charter lists the mission and contribution process. If you wish to help it along its open source journey, take a look.
Another milestone for serverless
Serverless technology keeps proving itself as a major contender and not just a buzzword. Therefore, we recently explored the “serverless and containers brawl” in our (free!) magazine.
Will Firecracker replace any of your tools, or change how you work? Don’t throw away Kubernetes or Docker yet though. Like all serverless technology, firecracker serves a much different purpose than containers do. Multi-platform solutions that include both serverless and containers are the future.
Currently, Firecracker cannot play with Kubernetes, Docker, or Kata, however. Currently, the team is focusing on making sure Firecracker can “integrate naturally with the container ecosystem“. Stay tuned for more news on this. Firecracker will continue to evolve and light up the sky.