QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:548574
用户头像

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

关注

评论

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

数据可视化:数据仪表盘的定义及设计

2D3D前端可视化开发

大数据 数据分析 数据可视化 可视化图表 数据仪表盘

海外云手机在跨境外贸中的作用

Ogcloud

云计算 跨境电子商务 跨境电商 电子商务

MongoDB中的分布式集群架构

EquatorCoco

分布式 索引 db 集群架构

现在大火的低代码是什么?有哪些优势?

高端章鱼哥

低代码开发 应用程序 JNPF

【第七在线】媒介投产分析 Colony Brands每一个宣传画册运营产出收益

第七在线

【第七在线】新品上市与清仓计划:商品计划的关键策略

第七在线

【第七在线】国际市场扩张与商品计划:跨越地域的挑战与机会

第七在线

权威认可,天翼云云原生一体机iStack斩获“2023云原生企业TOP50”第一名

编程猫

博睿数据参与支持2023年度证券期货业标准研究课题获评“优秀”

博睿数据

融云观察:给 ChatGPT 加上声音和脸庞,AI 社交的多模态试验

融云 RongCloud

AI 设计 API 社交 ChatGPT

React高手都会用的useMemo有什么用的?

互联网工科生

性能优化 React useMemo

【案例】第七在线商品组合计划赋能安德玛每一个加盟商精准计划

第七在线

热热热!开放原子开发者大会议题征集火爆!

开放原子开源基金会

Java 开源 程序员 开发者 算法

虾皮商品评论接口(Shopee.item_review)|虾皮API接口指南

tbapi

shopee API 虾皮商品评论接口 虾皮商品评价接口 虾皮评论接口 shopee 商品评论接口

Tower for Mac注册激活版下载(强大的Git客户端)

iMac小白

Visio Viewer for Mac激活版 查看和编辑Visio文件

iMac小白

mac右键助手 MouseBoost Pro 3.3.4破解版

iMac小白

华为云Astro,让业务专家秒变“技术大拿”

华为云PaaS服务小智

低代码 华为云

Navicat Premium for Mac(多协议数据库管理工具) 16.3.4中文破解激活版

mac

数据库管理工具 苹果mac Windows软件 Navicat Premium 16

浅析 ArrayList

不在线第一只蜗牛

Java 开发语言

item_get-1688商品详情在跨境电商中的营销策略创新

技术冰糖葫芦

API

2024年市场上最好的免费开源工单管理系统六强

爱吃小舅的鱼

开源 工单管理

【第七在线】服装企业商品部关注的关键问题与解决策略

第七在线

每日一题:LeetCode-240. 搜索二维矩阵 II

Geek_4z9ami

Go 面试 算法 矩阵 LeetCode

如何又快又好、又便宜地开发体育赛事直播平台

软件开发-梦幻运营部

使用TikTok云手机轻松拓展全球市场

Ogcloud

云计算 TikTok 手机云服务

SecureFX for Mac(ftp文件传输工具)附注册码 v9.4.3破解激活版

mac

苹果mac Windows软件 SecureFX 文件传输客户端

“基于inBuilder低代码平台开源社区版的应用开发”创新赛获奖队伍公示

inBuilder低代码平台

「代码舞者」2023开放原子开发者大会——开源大侠秘闻

开放原子开源基金会

开源 开发者 算法

Metasequoia 4 for Mac v4.8.6b激活版

iMac小白

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