写点什么

Hyper:基于 Hypervisor 的容器化解决方案

  • 2015-06-02
  • 本文字数:2389 字

    阅读完需:约 8 分钟

近日,初创公司 HyperHQ 发布了他们的开源项目 Hyper ,Hyper 是一个可以在 hypervisor 上运行 Docker 镜像的引擎,它融合了 Docker 容器和虚拟机的优点,旨在打造一个性能更好、更安全的引擎。Hyper 与 Docker 的核心区别在于 Hyper 没有使用 Container 技术,而是通过 VM 直接运行 Docker 镜像,它是一个完全基于虚拟化的解决方案。

InfoQ:能简单介绍下 Hyper 吗?为什么你们要做 Hyper?

王旭: Hyper 是一个可以在 hypervisor 上,不安装完整操作系统,直接运行 Docker Image 的运行引擎。Hyper 可以在 hypervisor 上运行一组相关的 Docker Image,而不是一个,也正是 Kubernetes 所阐述的 Pod 的概念——不是一个虚机,不是一个胖容器,而是一组关联的容器。再进一步说,Hyper 致力于成为一个平台中立、hypervisor 中立的执行引擎,除了支持 KVM/QEMU 外,接下来 Hyper 还将会支持 Xen。

Docker 的发明,给每个人以震撼,同时也有遗憾。当你看到不同的创新的时候,心境并不完全相同,对于有些,你感慨它如此卓越新颖,着实叹服;对于有些,你感慨它工作量如此巨大,令人景仰;而对于 Docker 这些,我想,很多人的感慨都是——怎么不是我。

Docker 的影响是如此深远,它以一种 App-Centric 的完整环境封装,串联了开发、测试、交付的各个环节,从此 OS 与应用被彻底解耦了,这绝对是开源 / 技术创业的一个典范。然而,Docker 使用的技术却“毫无新意”,UnionFS 已经在 Live CD 中应用了近 10 年,容器,即使是 LXC 也比 Docker 早五年,一切条件都已具备,可是却只有 dotCloud 的家伙们捡起了这个贝壳,让人不禁感慨与成功失之交臂。

随着 Docker 的火热,我们也在不断地思考——Docker 对 DevOps 的影响,OS 的本质是什么,Docker 领域还有什么创新。Mesos、Kubernetes、Novm 这些项目都有不错的发展,我们也从中得到了启发。其实 Google 的非官方项目 Novm 就是一个使用 hypervisor 的执行引擎,只是开发一直停留在业余项目的水平而已。

虚拟机的问题不在“虚拟”,而在“机”,摆脱复杂的 OS,虚机也能飞;Docker 的核心在于以应用为中心的镜像封装,而非容器,封装改变了世界,而容器是封装的运行时承载而已。有了这两方面的思路,我们就取两者的长处,成为了一个新的选择。

InfoQ:您提到,Hyper 其实就是 Hypervisor+Docker 镜像,而 Docker 是 LXC+Docker 镜像。Hyper 为什么会选择 Hypervisor?相比 LXC,Hypervisor 有什么优势?

王旭: Hypervisor 的最明显的好处就在于,hypervisor 的进程是由另一个 kernel 调度,系统调用由另一个 kernel 处理,而并非宿主机的 kernel。这样,一方面用户可以选择自己的 kernel,另一方面也增强了隔离性,hypervisor 发生漏洞,对宿主机和其它虚拟机的威胁的概率是远低于容器漏洞的,毕竟容器向用户进程暴露了太多的入口点。

虚拟机的另一个优势是,虚拟机相关的产业链已经非常成熟,Xen/KVM 已经有十多年的历史了,围绕虚拟机打造的 OpenStack 也有五年的历史了,和虚拟机有顺畅合作的软硬件上下游产品非常多,容器正在赶超,但虚拟机无疑是先行者。

InfoQ:Docker 的优势是快、轻量,你们有对 Hyper 做性能测试吗?表现如何?

王旭:对于虚拟机本身的性能,不仅我们,很多人也测试过,对于 CPU/ 内存子系统为主要约束的应用,虚拟机的性能开销非常低,在大多数测试中,都可以得到 95% 甚至 99% 以上的裸机性能。

而在 IO 层面上,虚拟机确实性能开销相对大,但这和 IO 设备关系很大,一般 IO 设备越高速,影响越明显。很多云场景中,高速设备是通过 IOV 等技术,直接透明映射给虚机,来增强性能的,而对大部分云存储设备的性能来说,虚拟机并不构成关键损失。并且,对多租户环境,如果不使用 hyper 这样的技术,那么就必然还是需要把容器放入虚拟机来进行管理。

对于容器来说,启动时间也是一项被感知的明显指标,在第一次亮相 meetup 时,我使用一台装备超低电压 i3 处理器的小盒子,1 秒钟便启动了一个完整的 ubuntu docker image,在发布的时候,这个小盒子的性能大概达到了 450 毫秒,而在一台至强 CPU 的服务器上,能达到大约 350 毫秒启动。

InfoQ:Hyper 为什么能有如此好的性能?

王旭:说来惭愧,其实我们只是展示了虚机本来能达到的能力,我们不生产性能,我们只是开销的搬运工——我们简化了硬件模型和 kernel 的硬件支持,这样就不必费力去扫描和初始化一些本没有用的设备;我们省掉了完整的 OS,这样就没有了 init 任务的影响;我们还是用了 qboot,降低了老旧 BIOS 在引导过程中消耗的空间;此外还有一些流程上的细节优化,最终呈现出了 Hyper 现在的性能。

InfoQ:你认为 Hyper 最大的创新点是什么?

王旭:我们把 App-Centric 的理念带回到虚机来,我们让虚机回到了它的原本使命——承载应用,而不是完全模拟物理机,承载完整的 Linux 发行版。

InfoQ:Hyper 与前段时间因特尔发布的 Clear Linux 有什么区别?是不是有异曲同工之处?

王旭:我们之前确实不了解 Intel 的这个项目,事后才知道他们做了一年多了,确实有很多相似之处——都在跑容器镜像,都在追求更低开销。

当然也很多不同,两个项目的出发点不完全相同,Intel 的项目的出发点在于追求极致性能,证明硬件能力,所以使用了很多极端优化手段,确实也取得了很好的效果。

而 Hyper 项目一开始就致力于打造应用为中心的 hypervisor,我们使用环境中已有的 QEUM,利用已有的 kernel feature,着重打造 pod 的可管理性,维持跨平台、多 hypervisor 的支持。虽然没有使用很多极端优化,但是事实证明,这种开箱即得的性能也是不错的。

更重要的是,两个项目都是开源的,大家可以互相借鉴,做得更好。尤其 Intel OTC 一直都是 kernel 的主要贡献机构之一,相信很多 Clear Linux 的 feature 大家都可以用上,而 Hyper 由于与 Clear Linux 相似,所以也可以第一时间把这些好处带给用户,就像 Hyper 已经集成了 qboot,来提升启动速度一样。

2015-06-02 07:548496
用户头像

发布了 219 篇内容, 共 139.5 次阅读, 收获喜欢 191 次。

关注

评论

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

提供方耗时正常,调用方毛刺频频

京东科技开发者

Dynamic Wallpaper for mac壁纸软件:2000+精美视频素材

Rose

有奖实践,基于 EMR StarRocks 实现游戏玩家画像和行为分析

阿里云大数据AI技术

阿里云 EMR paimon 镜舟 免费试用

【YashanDB知识库】如何将mysql含有group by的SQL转换成崖山支持的SQL

YashanDB

数据库 yashandb

高效精准经营决策,智能财务的全景洞察与分析监控

用友智能财务

高效 企业 财务 会计

专业的终端SSH工具 SecureCRT for mac 最新许可证分享

Rose

DML操作报列不存在?

GreatSQL

苹果mac桌面宠物软件推荐 Desktop Goose抖音桌面宠物鹅

Rose

一键优化,极速降温!Macs Fan Control Pro让Mac性能飙升!

Rose

Luminar Neo for Mac(AI技术图像编辑软件)

Mac相关知识分享

🔥httpsok-v1.18.0-SSL证书自动续期

物有本末

nginx SSL证书 (SSL)/TLS HTTPSOK

提供方耗时正常,调用方毛刺频频

京东科技开发者

Autodesk AutoCAD 2021 for mac中文永久密钥及安装教程

Rose

XMind 思维导图 2024下载安装 - mac/win

Rose

与时俱进,京东云高性能计算平台

京东科技开发者

轻松拿捏【伪需求】

京东科技开发者

Axure RP 11 for Mac(快速原型设计工具)

Mac相关知识分享

Parallels Desktop 19 for Mac密钥:PD永久授权

Rose

【YashanDB知识库】oracle与yashanDB的jdbc返回常量列"0.00"的精度和刻度不一致

YashanDB

数据库 yashandb

【YashanDB知识库】UNDO表空间膨胀怎么处理

YashanDB

数据库 yashandb

如何快速增加需求吞吐并缩短交付周期?

思码逸研发效能

敏捷开发 研发效能 效能度量 研发效能度量

Lightroom Classic 2022(lrc2022)中文直装版

Rose

【YashanDB知识库】同样建表语句,大整型数字在Oracle插入成功,在YashanDB插入失败

YashanDB

数据库 yashandb

Ubuntu上安装libvirtd

百度搜索:蓝易云

Cornerstone for Mac SVN管理工具 永久激活版

Rose

Office 2021 LTSC 专业最新激活版-mac/win

Rose

DevOps 体系搭建稳定后,DevOps 团队发展方向如何?

思码逸研发效能

DevOps 研发效能 研发效能度量 研发效能管理 思码逸

7thonline第七在线荣耀加冕:获2024千峰奖“产业互联网百强”

第七在线

VMware Fusion Pro 12 Mac vm虚拟机激活版

Rose

ScreenFlow for mac(屏幕录制与视频编辑软件)

Mac相关知识分享

淘宝天猫商品评论数据接口丨淘宝API实时接口指南

tbapi

淘宝API接口 天猫API接口 淘宝商品评论接口 天猫商品评论接口

Hyper:基于Hypervisor的容器化解决方案_语言 & 开发_小盖_InfoQ精选文章