当前位置: 首页 > 工具软件 > Firecracker > 使用案例 >

关于AWS的Firecracker,技术人应该知道的十件事

谭浩皛
2023-12-01

AWS Firecracker轻量,高效,快速,可能会重新定义虚拟机。

去年11月份AWS举行的re:Invent大会上,AWS开源了 Firecracker,一种利用 KVM 的新虚拟化技术,专门用于创建和管理多租户容器以及基于函数的服务。 用AWS首席布道师Jeff Barr的话来说,Firecracker是“如今的容器和函数世界中,虚拟机该有的样子“,它类似VM和容器的结合产品。 以下是技术专业人员应该了解的有关AWS Firecracker的10件事。

1. AWS Firecracker是一种利用 KVM 的新虚拟化技术

基于内核的虚拟机(Kernel-based Virtual Machine,简称KVM)是在Linux内核中运行并将内核视为其管理程序的VM。可以同时运行多个KVM,并且像典型的VM一样,每个KVM都有自己的虚拟化硬件。

Firecracker的每个实例被称为microVM。

2. Firecracker很安全

以下构建方式可确保Firecracker的安全性:

  • 一个简单的guest模型,允许Firecracker用户访问KVM的最小元素:“网络设备,块I/O设备,可编程间隔定时器,KVM时钟,串行控制台和仅有一个按键的键盘控制器,用于停止 microVM\u0026quot;。
  • Firecracker通过使用seccomp BPF和控制组而被监禁。 此外,它只能访问有限的系统调用列表。
  • Firecracker进程是静态链接的,这意味着它需要运行的所有库都包含在可执行的代码中。 这通过消除外部库使新的Firecracker环境更安全。

3. Firecracker虚拟机占用空间极小

每个Firecracker microVM仅使用大约5 MiB,也就是5.24 MB的内存。这意味着可以在单个虚拟CPU上运行数千个Firecracker microVM。

4. Firecracker是一种快速高性能的系统,专为短周期任务设计

AWS将Firecracker作为下一代的事件驱动计算。它能快速启动,资源设计最小化,这些都是为了进行快速计算而构建的,需要类似容器的microVM来启动,执行和降速才能等待新的任务。

单个Firecracker microVM可以在125毫秒内启动,AWS表示2019年的这个启动时间可以更短。

5. Firecracker非常简单

Firecracker microVMs包含的内容并不多,只有Virtio网络驱动程序,Virtio块驱动程序,可编程间隔计时器,KVM时钟,串行控制台和单按键键盘。

Firecracker不是一个完整的设备模型,它没有任何模拟的BIOS,但这减少了潜在的攻击面。正因为功能很少,它的速度也很快。

6. Firecracker不支持Kubernetes,Docker或非Intel的芯片

Firecracker有一些缺点,特别是对于那些使用AMD或ARM系统的人:这两种芯片组都还没有支持Firecracker,尽管AWS表示将在2019年支持这两者。

Kubernetes或Docker都不受支持,但AWS正在开发类似的东西:它的“containerd”容器运行时有一些原型代码能允许它像Firecracker microVM一样管理容器。随着进一步的发展,Firecracker也可能会支持Docker和Kubernetes。

7. 亚马逊已经在使用Firecracker了

关注Firecracker的实用性、稳定性或可用性的人不必担心:亚马逊已经在AWS Lambda和AWS Fargate上使用Firecracker了。

在Lambda中,Firecracker用于配置和运行执行Lambda函数的沙箱,AWS表示这使得Lambda更快速安全。

在Fargate中,Firecracker实际上已取代了AWS EC2,成为执行Fargate任务的专用环境。现在所有这些Fargate实例都在专用的Firecracker microVM中运行。

8. Firecracker是开源的

AWS表示Firecracker“已准备好审核并接受pr,并期待与来自世界各地的贡献者合作。”

Firecracker开源地址:https://github.com/firecracker-microvm/firecracker

9. Firecracker可以在本地运行

Firecracker旨在在AWS .metal实例以及裸金属服务器上运行。

不需要在云中运行AWS Firecracker - 它可以在本地服务器,甚至是开发人员的笔记本电脑上运行。

10. 可以在GitHub上学习使用Firecracker

Firecracker GitHub存储库有一个入门页面,其中包括Firecracker的先决条件,如何获取Firecracker二进制文件,如何运行,如何从源代码构建它等等。

参考链接:
https://www.techrepublic.com/article/aws-firecracker-10-things-every-tech-pro-should-know/

 类似资料: