AWS Firecracker轻量,高效,快速,可能会重新定义虚拟机。
去年11月份AWS举行的re:Invent大会上,AWS开源了 Firecracker,一种利用 KVM 的新虚拟化技术,专门用于创建和管理多租户容器以及基于函数的服务。 用AWS首席布道师Jeff Barr的话来说,Firecracker是“如今的容器和函数世界中,虚拟机该有的样子“,它类似VM和容器的结合产品。 以下是技术专业人员应该了解的有关AWS Firecracker的10件事。
基于内核的虚拟机(Kernel-based Virtual Machine,简称KVM)是在Linux内核中运行并将内核视为其管理程序的VM。可以同时运行多个KVM,并且像典型的VM一样,每个KVM都有自己的虚拟化硬件。
Firecracker的每个实例被称为microVM。
以下构建方式可确保Firecracker的安全性:
每个Firecracker microVM仅使用大约5 MiB,也就是5.24 MB的内存。这意味着可以在单个虚拟CPU上运行数千个Firecracker microVM。
AWS将Firecracker作为下一代的事件驱动计算。它能快速启动,资源设计最小化,这些都是为了进行快速计算而构建的,需要类似容器的microVM来启动,执行和降速才能等待新的任务。
单个Firecracker microVM可以在125毫秒内启动,AWS表示2019年的这个启动时间可以更短。
Firecracker microVMs包含的内容并不多,只有Virtio网络驱动程序,Virtio块驱动程序,可编程间隔计时器,KVM时钟,串行控制台和单按键键盘。
Firecracker不是一个完整的设备模型,它没有任何模拟的BIOS,但这减少了潜在的攻击面。正因为功能很少,它的速度也很快。
Firecracker有一些缺点,特别是对于那些使用AMD或ARM系统的人:这两种芯片组都还没有支持Firecracker,尽管AWS表示将在2019年支持这两者。
Kubernetes或Docker都不受支持,但AWS正在开发类似的东西:它的“containerd”容器运行时有一些原型代码能允许它像Firecracker microVM一样管理容器。随着进一步的发展,Firecracker也可能会支持Docker和Kubernetes。
关注Firecracker的实用性、稳定性或可用性的人不必担心:亚马逊已经在AWS Lambda和AWS Fargate上使用Firecracker了。
在Lambda中,Firecracker用于配置和运行执行Lambda函数的沙箱,AWS表示这使得Lambda更快速安全。
在Fargate中,Firecracker实际上已取代了AWS EC2,成为执行Fargate任务的专用环境。现在所有这些Fargate实例都在专用的Firecracker microVM中运行。
AWS表示Firecracker“已准备好审核并接受pr,并期待与来自世界各地的贡献者合作。”
Firecracker开源地址:https://github.com/firecracker-microvm/firecracker
Firecracker旨在在AWS .metal实例以及裸金属服务器上运行。
不需要在云中运行AWS Firecracker - 它可以在本地服务器,甚至是开发人员的笔记本电脑上运行。
Firecracker GitHub存储库有一个入门页面,其中包括Firecracker的先决条件,如何获取Firecracker二进制文件,如何运行,如何从源代码构建它等等。
参考链接:
https://www.techrepublic.com/article/aws-firecracker-10-things-every-tech-pro-should-know/