写点什么

关于 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:276000
用户头像
张婵 InfoQ 技术编辑

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

关注

评论

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

分布式事务太繁琐?官方推荐Atomikos,5分钟帮你搞定

互联网应用架构

分布式事务 springboot

太赞了!腾讯T3-3架构师整理了5000页的Java学习手册免费开放下载

Java架构之路

Java 程序员 架构 面试 编程语言

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

Jira停售Server版政策客观解读——如何最小化风险?

爱吃小舅的鱼

项目管理 研发管理 Jira Atlassian

#不吐不快# CV千千条,修改最重要。代码不规范,伙伴两行泪!

程序员小航

奇葩的经历 不吐不快

一次 Java 进程 OOM 的排查分析(glibc 篇)

996小迁

Java 编程 架构 面试 计算机

《垃圾回收的算法与实现》.pdf

田维常

垃圾回收

SpringBoot:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂)

比伯

Java 编程 架构 面试 计算机

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

DàYé的CTO姗姗学步路

曲水流觞TechRill

管理 CTO

科普干货|漫谈鸿蒙LiteOS-M与HUAWEI LiteOS内核的几大不同

华为云开发者联盟

华为 鸿蒙 IoT

区块链,音乐,流媒体和版税

CECBC

区块链 艺术

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

IoT企业物联网平台,从设备端到云端业务系统全链路开发实战

不吃米饭

阿里云 最佳实践 物联网 IoT

【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍

IoT云工坊

人工智能 物联网 云服务 Apache Pulsar 云平台

SQL数据库:窗口函数

正向成长

窗口函数

圆通快递回应内鬼泄露用户信息:严打数据倒卖灰色产业

石头IT视角

云原生2.0时代下,DevOps实践如何才能更加高效敏捷?

华为云开发者联盟

云计算 数字化 华为云

MySQL从库维护经验分享

Simon

MySQL 主从复制

小学妹问我:如何利用可视化工具排查问题?

田维常

可视化

区块链在债券市场如何应用

CECBC

区块链 债券

Nginx-技术专题-技术介绍

洛神灬殇

一瞬间让我秒变“快男”!腾讯内部强推Java性能优化手册,快了不止一点点。

Java架构追梦

Java 架构 jdk 面试 性能优化

年轻人不讲武德不仅白piao接口测试知识还白piao接口测试工具会员

测试人生路

接口测试

高性能利器!华为云MRS ClickHouse重磅推出!

华为云开发者联盟

数据库 Clickhouse MRS

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

#不吐不快# 三观很正的Boss,你遇到过么?

架构精进之路

职场成长 奇葩的经历 不吐不快

synchronized 到底该不该用

古时的风筝

Java synchronized

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