报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

话费系统、加油站、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:352369

评论

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

预售价16万元起 长安马自达EZ-6引领合资B级轿车市场潮流

科技热闻

一个小白如何靠这个 AI 工具修改公司代码?

极狐GitLab

gitlab #GitLab AI编程 驭码CodeRider

网络设备是什么?云管平台可以管理吗?

行云管家

云计算 云服务 网络设备

利用 Page Visibility API 优化网页性能与用户体验

_知秋

JavaScript WebApi PageVisibility

圆满解决!13/14代酷睿不稳定问题更新可解决,性能没影响

E科讯

数据要素如何重塑企业价值?

郑州埃文科技

数据治理 数据要素

“AI+Security”系列第3期(七):智能体车企落地实践

云起无垠

获取淘宝商品详情API返回值的技术实现方案

代码忍者

API 接口 pinduoduo API

SecureCRT (专业终端SSH工具)附注册码 v9.4.3 Win&Mac版

你的猪会飞吗

SecureCRT下载 SecureCRT mac SecureCRT Mac破解版

全面解读舞台LED显示屏选型方法

Dylan

LED LED显示屏 全彩LED显示屏 舞台表演

加入华为云开源共创,让优秀开发者支持更优秀开发者

华为云开发者联盟

云原生 GaussDB 大数据 开源

掌握这几个打字小技巧,打字速度翻倍很容易

巧手打字通

办公效率 输入法 办公软件 打字练习 打字软件

淘宝买家秀API:打造商品口碑生态圈的关键

技术冰糖葫芦

API Gateway API 接口 API 测试 API 优先 pinduoduo API

尘埃落定 完满解决!英特尔官方对于13/14代酷睿台式机处理器调查结果出炉

E科讯

Solana Payment:下一波加密支付革命的崛起

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

CRUD 开发工具 NocoBase 与 Refine 对比

NocoBase

开源 低代码 开发工具 crud 无代码

网络安全检测神器:实战案例解析高效端口扫描技术

幂简集成

网络安全 Python JSON 网络端口扫描

什么是 JWT?它是如何工作的?

江南一点雨

24年珠海等保测评机构有几家?在哪里?

行云管家

信创 等保 珠海

【YashanDB知识库】崖山数据库Outline功能验证

YashanDB

yashandb 崖山数据库 yashandb知识库

极狐GitLab 新能源赛道客户案例分享之比博斯特

极狐GitLab

gitlab cicd 新能源

智能设备领域掀起鸿蒙浪潮,科沃斯、TP-LINK、雅迪等率先完成智能设备或企业内部办公应用鸿蒙化

最新动态

助推专利转化 发展新质生产力 第二届全国专利密集型产品展区开展

科技热闻

参赛故事|大一的我感受到金蝶云苍穹技术的乐趣

金蝶云·苍穹

开发者大赛 金蝶 金蝶云苍穹 中国软件杯

怎么平衡研发效能度量和管理成本?

思码逸研发效能

效能洞察 效能 效能提升 效能工具 研发资源

CEX上币趋势分析:Infra赛道与Ton生态的未来

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

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