50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

架构师训练营第六周作业

烟雨濛濛

Vagrant 快速入门

FeiLong

vagrant

玛雅密码社区不忘初心 共筑未来通证新经济

Geek_116789

ARST Week7

时之虫

ARTS 打卡计划

云原生实践系列:概述

孤岛旭日

Serverless 微服务 Service Mesh 服务架构

百万级别数据Excel导出优化

Throwable

架构设计 springboot

大话设计模式 | 4. 装饰模式

Puran

C# 设计模式

并行流ParallelStream中隐藏的陷阱

Throwable

Java

list vs tupple

Leetao

Python 数据结构 Python基础知识

看动画学算法之:排序-冒泡排序

程序那些事

算法 动画 排序算法 轻松学

修炼我们的智慧之眼

J.Smile

认知提升

基础篇:Object对象

csc

Java Java 25 周年

架构师训练营第六周总结

陈靓-哲露

关于架构的几件小事:架构概述(1)

北风

架构 架构设计 架构师 架构设计原则

【计算机网络】网络层——路由器与路由选择协议

烫烫烫个喵啊

计算机网络 网络层

DolphinScheduler-1.3.0-dev功能体验

Eights

大数据 hadoop

数据分析之AB testing实战(附Python代码)

JackTian

Python 编程 程序员 数据分析 AB testing实战

谈谈对分布式事务的一点理解和解决方案

Throwable

分布式 分布式事务 架构设计

基础篇:JAVA基本类型

csc

Java Java 25 周年

Newbe.Claptrap 框架中为什么用 Claptrap 和 Minion 两个词?

newbe36524

Docker .net core netcore ASP.NET Core

SpringBoot2.x入门:应用打包与启动

Throwable

springboot

3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案

Throwable

Java 监控 Grafana Prometheus springboot

iOS - CollectionViewCell对应不同flow layout的实例

teoking

ios

北京区块链规划重点发展海淀朝阳通州等区,加大对代币监管力度

CECBC

北京行动计划 四个高地 需求导向 为政务服务

SpringBoot 入门:02 - 实现 MVC

封不羁

Java spring springboot

如何搭建Hive 环境

Rayjun

大数据 hive

不会有人还不知道全文检索工具Lucene怎么用吧?文字长文教程

给你买橘子

Java 搜索引擎 lucene 程序员 开发工具

架构师训练营第六周总结

烟雨濛濛

“新基建”来了!云南三年投资3776亿!

CECBC

11个提高产品经理工作效率的必备工具,果断收藏

马踏飞机747

大数据 设计 产品经理

架构师训练营第六周作业

Melo

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