写点什么

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

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

关注

评论

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

CheckBook Pro for mac(个人理财管理工具) v2.7.27注册激活版

mac

苹果mac Windows软件 CheckBook Pro 个人财务管理软件

议题征集!2023 龙蜥操作系统大会硬核启动

OpenAnolis小助手

操作系统 龙蜥社区 2023龙蜥操作系统大会 智算 议题

星河创新,开拓新纪!2023“星河产业应用创新奖”报名全面开启!

飞桨PaddlePaddle

星河社区

XTransfer与腾讯云达成战略合作 助力外贸数字化转型

XTransfer技术

腾讯云 出海 XTransfer 跨境金融

MySQL 到 TiDB:vivo 的 Hive Metastore 横向扩展之路

TiDB 社区干货传送门

实践案例

Comsol Multiphysics for Mac(建模仿真软件) v6.2永久激活版

mac

苹果mac Windows软件 COMSOL Multiphysics 多物理场仿真软件

Docker的安装部署以及配置的操作流程。

百度搜索:蓝易云

Docker 云计算 Linux 运维 云服务器

前端必学——实现电商图片放大镜效果(附代码)

小齐写代码

OpenMLDB v0.8.4 诊断工具全面升级

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

记 Rakuten 技术分享会

TiDB 社区干货传送门

实践案例 社区活动

TiDB x 汉口银行丨分布式数据库应用实践

TiDB 社区干货传送门

实践案例

TiDB 在咪咕云原生场景下的实践

TiDB 社区干货传送门

实践案例

零代码AppLink平台触发事件组件

RestCloud

零代码 APPlink

OpenMLDB SQL 开发调试神器 - OpenMLDB SQL Emulator

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

悦数图数据库 v3.6.0 发布|支持 Zone 管理,提升业务安全性和连续性

悦数图数据库

图数据库 悦数 杭州悦数

一起乐「FUN」天!大模型趣味赛等你来挑战!

飞桨PaddlePaddle

开发者 大模型

UDP和TCP网络编程

百度搜索:蓝易云

云计算 Linux TCP 运维 udp

【SOP】最佳实践之 TiDB OOM 分析

TiDB 社区干货传送门

性能调优 实践案例 集群管理 管理与运维 故障排查/诊断

【TiDB 技术视频合集】史上最全的 121 个 TiDB 用户实践技术视频合集来啦!

TiDB 社区干货传送门

前端技术探秘-Nodejs的CommonJS规范实现原理 | 京东物流技术团队

京东科技开发者

JavaScript node.js 前端 企业号11月PK榜 ChromeV8

喜讯!MIAOYUN《电力云原生“一云多芯”大模型信创全适配解决方案》获评第二届中国赛宝信息技术应用创新优秀解决方案奖

MIAOYUN

AI 云原生 大模型 一云多芯解决方案 信创解决方案

技术分享 | 在 IDE 插件开发中接入 JCEF 框架

LigaAI

后端 IDEA web技术分享 前段 IDE插件

收藏这几个开源库,写css你会笑出声

伤感汤姆布利柏

CSS 开源 低代码

java 注解原理

橙子橘子柚子皮

注解 反射 代理模式 Java’

CloudQuery x GBase,信创数据库管控革新之路

BinTools图尔兹

sql 数据库管理 数据库安全 人大金仓 南大通用

下一代ETL工具:微服务架构的全新数据集成平台

RestCloud

微服务 ETL

即时通讯技术文集(第24期):音视频WebRTC好文合集 [共20篇]

JackJiang

网络编程 即时通讯 IM

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