业务云原生架构、推荐系统以及线上生活等热点方向的高可用高性能业务架构有哪些?点击了解 了解详情
写点什么

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

2019 年 2 月 25 日

关于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 年 2 月 25 日 14:274520
用户头像
张婵 InfoQ 技术编辑

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

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

这也太拧巴了吧?结局意想不到

非著名程序员

程序员 程序人生 提升认知

一个包子铺看懂 I/O 模型演变

小眼睛聊技术

Java 程序员 架构 后端 nio

架构师训练营二期作业

老姜

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

老大吩咐的可重入分布式锁,终于完美的实现了!!!

楼下小黑哥

Java redis 分布式锁

架构师训练营-第二章-依赖倒置原则&接口隔离原则

而立

极客大学架构师训练营

千万不能让程序员给娃娃取名字

码农神说

程序员

第二周学习总结

武鹏

第二次作业

朱月俊

架构师训练营第二章课后作业

叮叮董董

架构师训练营第二章总结

叮叮董董

基本的面向对象原则(Basic OO principles)

旭东(Frank)

编程思维 极客大学架构师训练营

ARTS打卡Week 04

teoking

ios LeetCode ARTS 打卡计划

永远招聘:打造高绩效团队的最佳姿势

伴鱼技术团队

企业文化 管理 团队建设 绩效 团队组织

架构师训练营 - 软件设计原则

Pontus

极客大学架构师训练营

架构师训练营第二周

小树林

做一个有原则的码农可好?

Dawn

极客大学架构师训练营

品软件架构原则模式之美

老姜

用接口隔离原则优化 Cache 类的设计

朱月俊

小师妹学JVM之:GC的垃圾回收算法

程序那些事

JVM 「Java 25周年」 小师妹 JIT GC

架构师训练营 - 第二周 - 学习总结

韩挺

哪些框架是遵循依赖倒置原则的?

朱月俊

第二次作业总结

朱月俊

第二周作业

武鹏

依赖倒置和案例

王锟

给行动找个理由

Neco.W

行动派 决策

为什么坐车会晕车呢

石云升

生活,随想 日常思考 晕车

数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;PG异机归档;MySQL架构选型;Oracle技能表;Oracle文件损坏处理……

墨天轮

数据库

Week 02 学习总结

卧石漾溪

极客大学架构师训练营

架构师训练营 - 第二周 - 作业

韩挺

第二周作业

changtai

极客大学架构师训练营

openEuler Developer Day 2021

openEuler Developer Day 2021

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