写点什么

话费系统、加油站、Qumranet 与红帽:一个 oVirt 开发者的编程人生

  • 2013-06-04
  • 本文字数:4197 字

    阅读完需:约 14 分钟

在 2013 年 5 月 8 日、9 日举办的 oVirt 研讨会上,InfoQ 对红帽工程师 Doron Fediuck 进行了一次采访。Doron 来自以色列,是前 Qumranet 员工,现在在红帽的一个虚拟化项目中任团队经理。在下面的采访中,Doron 会介绍他加入这个项目的过程,以及他对 oVirt 和其他虚拟化项目的一些看法。

InfoQ:Doron 你好!刚才我听了你针对 oVirt SLA 讲的课程,感觉很有意思。能否先简单的做一个自我介绍?

Doron:当然可以。我在 1998 年加入 IT 行业,一开始的工作是在一家名叫 Amdocs 的以色列公司。这家公司做手机的管理系统,比如手机运营商的计费系统和客户管理系统等。当时我还是个学生,跟着公司的项目也去拜访了不少大公司,了解到不少新鲜事物,包括人们是如何处理大数据的过程。1998 年到 1999 年前后,正是手机产业的革命性阶段,当时的一大挑战在于处理来自交换机的大量信息,包括为每个用户生成每个月的费用单等等。

InfoQ:你是从那时开始了解有关网络和硬件相关的知识的吗?

Doron:我对网络研究的不深,只是知道它是怎么回事而已。当时我主要的工作是在费用单系统这块。我当时是“费用单预备”系统的小组组长,这一块工作涉及很多数学计算,比如每个用户签的是哪个合约,他是在白天还是在晚上打电话,他在哪个国家,那个国家的税率是多少,等等。

后来,公司派我去悉尼建立一个支部。我在那里学到了一些安全相关的知识,因为澳大利亚在政策上要求进行欺诈侦测。在 SIM 卡出来之前,复制一个手机身份、盗取手机上的信息很容易,所以我们需要对安全方面进行加固。

这样做了一段时间之后,公司希望我往经理的方向发展,但是我当时还很年轻,想多深入行业业务,不想做经理,于是我加入了另一家以色列公司,接触到一些网络和嵌入式系统方面的项目。

我们的第一个项目是针对加油站做的。我的公司有一项专利,就是在汽车里面有一个内置的信用卡。大企业会购买这种设备放到公司的汽车里面去,当员工开着这辆车去加油站的时候,加油的油嘴上有一根天线,能够直接从设备上的信用卡读取数据,进行验证;验证通过之后,油嘴就开始加油,同时油钱会直接从信用卡上扣除,员工无需另外付费。大公司用这种方案的好处在于省钱,因为加油站对大公司是可以提供折扣的。当时做这个项目的时候,我对金融的交易过程、网络协议这方面都研究了很多。这套系统一开始的原型是采用 Linux Slackware 配合 SSD 做的。在 2001 年,SSD 还不多见,不过我们拿到的工业 PC 上配置的就是 SSD。原型做出来之后,我们提供给荷兰的一家加油站试用,结果用了两三个星期也没遇到什么问题。

这个项目之后,我进入了另一个完全不同的项目,跟安全相关:PKI、数字签名、加密等等。有一个项目是网络安全相关的,用于进行企业内网的权限管理。比如一个陌生人进入一家公司,拿着网线接入,尝试通过以太网连接,那么他需要获取一个 IP。当时的很多企业用的是很简单的 DHCP,这样陌生人就可以轻松获得一个 IP。即使有些企业关闭了 DHCP,这个陌生人仍然可以尝试手动给自己分配静态的 IP,最终成功连入企业网络。我们做的系统就是为了防止这种任意接入的问题。这个方案跟后来的 802.1x 标准要实现的目标是一样的,即 NAC。

2008 年,我的一个前同事给我打了一个电话,他当时刚加入一家创业公司,公司的名字是 Qumranet。他说他们在做虚拟化,需要我过去帮忙。我就跟我的经理打个招呼,请了一个月的假期,去他那里帮他解决一些 C++ 的问题。本来我跟 Qumranet 只是短期合同的关系,但在这段时间,我之前的公司出了一些问题,面临破产;而在同时,红帽宣布收购了 Qumranet。于是在 2008 年 12 月 1 日,我成了一个红帽的员工。

InfoQ:很有意思的经历。你加入红帽之后,做的仍然是虚拟化方面的项目吗?

Doron:是的。Qumranet 的人都非常有创造力,而他们在早期折腾的一些东西,后来都逐渐发展成为 Spice 和 oVirt 这样的项目和产品。KVM 和 oVirt 实际上是同根而生。从 KVM 诞生之日起,我们就决定要有一个管理它的系统,因为我们不可能靠脚本实现所有的操作。oVirt 就是这样诞生的——只不过一开始叫 Solid Ice 这个名字。

我在早期的项目之一是将 oVirt node 和 oVirt 进行集成。oVirt node 相当于虚拟机系统,是宿主机的子集:oVirt node 会包含所有相关的软件包,我们要做的是让虚拟机能够跟 oVirt node 进行交互。之前,我们已经在 RHEL 上实现了类似的功能,不过 oVirt node 的情况跟 RHEL 不太一样,我花了好几个月才把它搞定。

之后的项目是 VDSM,我们开始为 oVirt 存储撰写早期代码。当时我跟 Ayal Baron 一起做这一块,他现在是 oVirt 存储项目的经理。

InfoQ:之前在 Qumranet 的项目都是用.NET 编写的,后来全部用 Java 重写?

Doron:是的。由于 Qumranet 是初创企业,选择.NET 能够非常快速的写出东西来。早期的管理系统都是 C#写的。Web 部分完成了之后,整个集成没花费多长时间。虽然我是个搞 Linux 的,对.NET 不怎么喜欢,但那种快速开发、快速实现,的确很管用。事实上,当时的一些思路,比如热迁移的实现,如何从管理应用对整个系统进行监控等,后来的 OpenStack 项目中也有所借鉴。

总之,后来我们按照已经理顺的思路将整个项目用 Java 重写,操作系统也从 Windows 迁移到 Linux。在这个过程中,有些组件进行了改进,有些还是遗留代码。项目本身总是会有改进的空间。不过跟之前很不同的一点就是,迁移之后——尤其是去年这段时间,我们看到了大量来自社区的参与、贡献。Linux 社区的动力非常大。而且,oVirt 项目在 UI 这块,来自社区的贡献很多,因为 UI 这块只需要搞 JavaScript 就行,无需修改引擎本身。无论你使用 Nagios 还是其他什么系统,都可以很轻松的进行集成。最近两三个月,也有不少对 oVirt 的贡献进入了下游的 RHEV 产品,我觉得这非常好。

InfoQ:电信领域对 SLA 的要求是非常高的。你加入红帽之后,感觉这方面最大的区别是什么?

Doron:主要是情景的不同。打一个电话,和管理一台虚拟机,是完全不同的情景,不过有些概念是通用的。两个情景都需要 SLA。而且时代不同,同一个领域的情景也会不同。

比如在早期的电信时代,经常会发生一种情况:你打一个电话,打了 30 秒之后就掉线了;然后你重新拨打,通话了 30 秒,又掉线了。这是非常糟糕的 QoS(服务质量),不过在那时候的以色列,某运营商提供的服务就是这样的。

现在,大家用手机都要上移动网络,我们关注的是我在手机上能下载多少东西,是不是可以直接在线观看视频等等。大家谈论的是手机网络的 QoS。

虚拟化领域,虚拟机也有类似的需求。比如存储,现在的共享存储都是基于网络的,所以如果网络不稳定,你的存储也会不稳定甚至失效。另外,如果你的物理 CPU 过载,你的虚拟机也会很难受。

无论是哪种场景,QoS 的本质无非是:我们愿意付出多大代价换取好的体验?所以,我以前在其他领域积累的经验,经常能够在另一个领域看到对应问题的解决思路。

InfoQ:你刚才的演讲中提到 oVirt 和 OpenStack 有很多合作和组件共用。红帽内部也有 OpenStack 的团队。你们是如何分工的?

Doron:oVirt 项目内部有不同的小组,每个组专注的方向不同。存储组专注于存储,这个组跟 OpenStack 的存储组有非常密切的合作,目前在一起做一些 Glance 方面的集成工作。

网络组也是一样。我的同事 Dan Kenigsberg 就在网络组,他们也在观察 OpenStack 的网络组件,寻找可以相互借力的点。第一个 oVirt 研讨会是由思科主办的,当时的一个分享有关 OpenStack 的 Quantum 组件。他们组就研究了 Quantum 的工作原理,并提出了集成两个项目的 PoC(Proof of Concept)。同时,社区中也有人在进行同样方向的工作,比如惠普的工程师就提交了一个蓝图,让 OpenStack 使用 oVirt 集群作为计算节点,以及为 oVirt 创建模板,让 Glance 可以使用 oVirt 的镜像模板组建 OpenStack 环境。

OpenStack 和 oVirt 的受众是不同的,不过双方合作对大家都有好处。我们可以借力 Quantum 在网络上的成果,Glance 可以使用我们的镜像和集群,这样大家都方便很多。我们最近在评估对 oVirt 任务计划进行重写,也研究了不少 Nova 任务计划的代码。Nova 的很多观点是很好的。如果重写后的实现方式足够贴近,用户很可能能够在两个项目之间复用代码。

InfoQ:oVirt 的配置过程很简单吗?要知道,很多人吐槽 OpenStack,就是因为它的配置太复杂。

Doron:当然。在 Qumranet 的时代,我们就在致力于简化这个过程。刚才我提到的 oVirt node 项目,就是为了让用户能够在两分钟内添加一台新的服务器进入到 oVirt 配置当中。这个过程非常简单。

从 OpenStack 本身的角度,它也没什么错,因为我们的受众不同。OpenStack 的目标是实现大规模的集群,同时,他们对单点高可用也没什么需求:如果一个 VM 死掉了,他们可以启动一个新的 VM,没什么关系。

oVirt 实现的是一个虚拟数据中心。如果我的邮件服务器挂掉了,我需要 1 分钟内把它搞回来,同时我也不想丢数据。所以我们需要简化操作:自动完成虚拟机系统的安装,保持用户操作方式的一致,改进稳定性,改进 UI 等。整个 UI 的 Web 应用是一个 GWT 应用,有用户界面和管理员界面。在新版的网络管理界面,你可以使用拖拽来将两个网络接口联合成一个绑定,这都是非常简单直观的操作。

社区里还有人呼吁开发 Android 和 iPad 的 oVirt 客户端。实际上一开始社区里有一个 Android 客户端,叫做 Nomad 项目,是一个非常轻量级的 App。不过,这个项目很久没更新了,估计是废弃了。但是不管怎么说,我们对这样的项目是非常欢迎的。

oVirt 还有 VDSM hooks 的机制,用户可以通过 VDSM hooks 扩展自己的 oVirt 系统。如果用户愿意将自己开发的 VDSM hook 反馈给社区,可以直接给 hooks 的 RPM 提交一个补丁。我们十分欢迎大家参与这方面的工作。

InfoQ:既然 oVirt 是项目,RHEV 是产品,这是否意味着 oVirt 更多面向工程师,而客户还是直接去购买 RHEV 的服务比较好?

Doron:这个倒是不一定,因为 oVirt 社区里有很多成员已经把 oVirt 作为提供给客户的解决方案。

项目和产品的最大区别就是在于你是否需要靠谱的服务。就算在大企业中,也不是所有的环境都需要服务支持,比如测试环境,你总是可以用 Fedora 和 oVirt 来进行测试的。

同时,项目和产品之间也有点轮回的关系,做好事总是有好报。比如 RHEV,虽说是直接拿了 oVirt 项目的成果去运作,但是 RHEV 使用过程中反馈的 bug 和针对这些 bug 的 fix,也都会回馈到 oVirt 项目中。

2013-06-04 03:352230

评论

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

实战干货|Spark 在袋鼠云数栈的深度探索与实践

袋鼠云数栈

spark Spark 源码 spark SQL 离线开发 大数据计算引擎

腾讯会议天籁实验室两项研究成果获深圳人工智能奖

Geek_2d6073

AI手机,走入小径分岔的花园

脑极体

AI

深入大模型的世界

我是谁

预见预判|AIRIOT智慧交通管理解决方案

AIRIOT

智慧城市交通 智能交通 智慧交通系统

什么是IPD项目管理模式?聊聊IPD下的产品研发流程

IPD产品研发管理

产品 项目管理 IPD 产品研发

测试开发名企定向训练营即将启动,限时优惠火热进行中!

霍格沃兹测试开发学社

量化合约/合约量化系统开发运营版/成熟技术/源码案例

系统开发咨询1357O98O718

怎么用云手机来做TikTok矩阵养号?

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

《2023网信自主创新调研报告》正式发布,云起无垠连年参编

云起无垠

开放签:引领中小微企业步入电子签章普惠时代

开放签开源电子签章

电子合同 电子签章 开放签

ISO 专家解读 | 什么是 GQL 国际标准图查询语言

悦数图数据库

图数据库

DR4019S|IPQ4019 IPQ4029 11AC SOM WIFI5

wallyslilly

IPQ4019

亚马逊AI选择各种商品的最佳包装方式,节省大量包装材料

算AI

人工智能 深度学习 AI

鸟瞰图技术重塑大屏视觉体验:点量云流创新应用

点量实时云渲染

云渲染 虚拟现实 实时云渲染 大屏展示 鸟瞰图

测试开发名企定向培训训练营即将开营,限时优惠进行中,手把手带你快速提升核心竞争力

测吧(北京)科技有限公司

测试

如何制作个性又美观的二维码?自定义Logo、样式,还能一键复用

草料二维码

二维码 二维码生成 草料二维码 二维码美化

游戏发行困境及OgGame云游戏解决方案简述

Ogcloud

游戏 云游戏 云游戏发行 云游戏平台 游戏云化

金融案例:统一查询方案助力数据治理与分析应用更高效、更安全

袋鼠云数栈

大数据 数据分析 数字化转型 金融 金融解决方案

初级Go工程师训练营毕业总结

想吃烤肉!

总结 心得体会

马斯克的 xAI 融资 60 亿美元;英伟达收购两家 AI 创企丨 RTE 开发者日报 Vol.193

声网

世界知识产权日:XSKY 以更多架构核心专利,推进 SDS 产业创新创造

XSKY星辰天合

星辰天合 世界知识产权日

国产 Web 组态软件 TopStack V5.0 发布

图扑物联

工业物联网 web组态 轻量化 组态编辑器 工业组态软件

聊天局:10年资深前端聊点行业现状

高端章鱼哥

知识图谱算法有哪些

悦数图数据库

话费系统、加油站、Qumranet与红帽:一个oVirt开发者的编程人生_Java_sai_InfoQ精选文章