博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于AWS的Firecracker,技术人应该知道的十件事
阅读量:6258 次
发布时间:2019-06-22

本文共 2009 字,大约阅读时间需要 6 分钟。

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开源地址:

9. Firecracker可以在本地运行

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

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

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

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

参考链接:

转载地址:http://olxsa.baihongyu.com/

你可能感兴趣的文章
RAC JDBC URL
查看>>
彻底理解Java中的基本数据类型转换(自动、强制、提升)
查看>>
【转】C/C++ URL编码,解码(提取自PHP)
查看>>
个性化推荐的十大挑战
查看>>
IE8_一行代码测试IE7~IE6
查看>>
sizeof 和strlen的区别
查看>>
第十章 Scala 容器(三):使用可变与不可变容器特有方法
查看>>
XCode 7上传遇到ERROR ITMS-90535 Unexpected
查看>>
工厂模式
查看>>
pycharm激活码永久有效2019年5月28日
查看>>
VUE(1)
查看>>
QBlog博客 V2.5 版本发布 增加健康频道[支持多语言、多用户、多数据库、目录级URL]...
查看>>
基于MIC平台的向量加示例
查看>>
搜索引擎 & sniff
查看>>
linux 编程使用管道来控制 shell
查看>>
免费客户关系管理软件SinoCRM公益版正式发布
查看>>
Python与C++引用分析
查看>>
gcc和g++的区别
查看>>
React组件间的传值
查看>>
Spring扫描自定义注解的实现
查看>>