写点什么

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

  • 2019-02-25
  • 本文字数:1649 字

    阅读完需:约 5 分钟

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

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"。

  • 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/


2019-02-25 14:276628
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 56.4 次阅读, 收获喜欢 218 次。

关注

评论

发布
暂无评论
发现更多内容

最新demo版 | 如何0-1开发支付宝小程序之小程序如何上线(四)

盐焗代码虾

支付宝小程序 支付宝 经验分享 小程序发开

Blender 4.0来了!看新版带来了哪些精彩的新功能!

Finovy Cloud

re:Invent 2023 开发者指南来了!@开发者们,Let's 构!

亚马逊云科技 (Amazon Web Services)

re:Invent 生成式人工智能 Amazon DeepRacer

混合云案例:利用 Databend Cloud 高效加速私有 Databend 的策略与实施

Databend

app上架一直显示审核中状态要怎么处理?

论文开题报告怎么写?轻松掌握开题报告撰写攻略,附技术路线图模板!

彭宏豪95

流程图 大学生 在线白板 论文 绘图软件

如何降低API接口的使用成本和提高效率?

技术冰糖葫芦

API 文档

存在即合理,低代码的探索之路

树上有只程序猿

软件开发 低代码 JNPF

情感语音识别的现状与未来趋势

数据堂

程序员的软件开发帮手,低代码当仁不让

互联网工科生

软件开发 低代码 JNPF

第29期 | GPTSecurity周报

云起无垠

1688商品详情的API接口是什么?

技术冰糖葫芦

api 网关

大模型的未来是垂直领域大模型

QE_LAB

大模型训练 大模型 ChatGPT

10年资深码农,聊聊程序员的35岁危机

伤感汤姆布利柏

程序员 面试 低代码 35岁危机

单体架构、垂直应用架构、分布式、SOA、微服务之间有什么关系和区别

javaNice

Java 微服务

springboot整合分页插件

javaNice

Java

AIGC虽好,但不要“贪杯”哦!

安势信息

SCA工具 AIGC 开源代码安全

关于AWS的Firecracker,技术人应该知道的十件事_服务革新_张婵_InfoQ精选文章