OpenMic 聚焦:Gabriel Hurley

OpenMic_Gabriel Hurley这篇文章是 OpenStack Open Mic 系列的一部分,旨在突出那些帮助 OpenStack 取得成功的人。每周,一位新的贡献者将站到麦克风前,回答关于 OpenStack、云、职业和他们如何娱乐的五个问题。 

Gabriel Hurley 是 Nebula Inc. 用户体验团队的技术负责人,Horizon 项目的 PTL,Keystone 核心成员,以及 Django Web 框架的核心提交者。他为所有核心 OpenStack 项目做出了贡献,并开发了许多用于与 OpenStack 交互的客户端。他的背景是 Web 开发和界面设计,专注于 Python 和 JavaScript 开发。Gabriel 在 NASA 工作时首次接触 OpenStack,他的技能立即适用于新兴的 OpenStack 控制面板项目。鉴于他对开源的坚定信念,这很自然地契合。六个月内,他搬到 Nebula 并开始全职从事 OpenStack 工作,帮助构建这个极其重要的事业的未来。你可以在 Twitter 上关注他:@gabrielhurley

1. 你认为未来 5 年 OpenStack 开发人员需要哪些关键技能?哪些专业领域将最有用?最有价值?

存在一些离散的技能层级,以及一些贯穿始终的才能。始终需要了解最基本层级的人:虚拟化(翻转位)、存储系统(存储位)和网络(移动位)。这些人将确保 OpenStack 变得更快、更具弹性。OpenStack 已经存在一个未满足的需求,即能够打造出色的用户体验的人。介于两者之间的是构建粘合代码和 API 等使一切协同工作的团队。更笼统地说,OpenStack 需要对几个关键领域有普遍的认识。最重要的是,社区中更多的人需要对安全性有基本的了解。这是开源中最难的工作,因为作为一名安全人员,你通常会从攻击向量、审计和审查的角度思考。在开源中,安全人员需要花同样多的时间甚至更多的时间来教育其他人,因为最好的安全来自于首先编写代码的人了解他们所编写代码的含义。最隐蔽的安全漏洞隐藏在看似无害的代码中,是由那些仅仅不知道的人引入的。更糟糕的是,当一个社区拥抱一种积极增加漏洞的做法时(我指的是你,Rails…)。其次,OpenStack 需要其开发人员更多地了解他们的最终用户。这最明显地体现在 API 中(通常非常痛苦),但也出现在配置、部署和许多其他地方。如果每个开发人员花 5 分钟思考其他人几个月后将如何使用他们编写的代码,我们将会拥有一个更实用的 OpenStack。其中很多都是由那些只考虑自己的用例的人编写的。随着社区的壮大,我们在这方面做得越来越好,但仍然有很大的改进空间,更加关注用户。

2. 如果你可以重新开始你的职业生涯,你希望从哪里开始?给刚起步的人的建议?

说实话,我认为我的职业生涯发展得非常顺利。我只希望我能早点开始。我所获得的所有职业上的成功都源于我在职业生涯早期参与了开源,全力以赴,并向杰出的人们学习。除了 Python 和 Django 社区中所有出色的开发人员之外,我不能过分强调我在开源社区中学习到的领导力以及这方面的重要性。OpenStack 在这方面还有很长的路要走。但我给任何刚起步的人的建议是参与开源。为什么?进入门槛为零;你现在就可以开始!(如果你停止阅读开始贡献,我不会感到冒犯。)你可以选择一个你实际使用和关心项目。你将向比你聪明的人学习。你将接触到你从未考虑过的想法。仍然不相信?那开源日益受到关注的事实如何?招聘人员会查看 GitHub 资料。顶尖公司仅根据他们的开源贡献来招聘人才。这让你的名字永远地传扬开来,而为私营公司工作几乎永远无法做到这一点。需要更多?那开源立即惠及世界各地的人们的事实如何?你正在积极帮助你从未见过或听说过的人。我不知道你如何看待,但所有这些事情都让我感到在一天结束时很满足。

3. 你认为开放、社区驱动的开发方法有哪些好处?

如果你已经无法分辨,我整个工程生涯都参与了开源;我强烈提倡开源。让我们想象一下,如果一家公司能够积累如此巨额的资金,以至于他们可以雇佣所有为开源项目做出贡献的人才。然后,他们将所有这些人才的时间投入到一个项目中。你仍然无法实现开源的结果,因为你将缺乏不同想法、不同目标和不同需求之间的冲突所驱动的创新。而且这只是一个公司承担所有负担!让我们看看 OpenStack 在实践中的开源:你拥有一群贡献者,其中许多为竞争公司工作。没有人单独承担成本或开发时间的负担(机会成本)。不同群体之间的紧张关系通过被迫达成共识来改善结果。因为有人在某个地方想要做一些不同的事情,所以会提出其他人从未想到的功能。OpenStack 的运作是因为它最终成为一种共同的公共利益。那些乐于摧毁彼此的公司愿意合作,因为他们都认识到平台的财务收益不在于平台本身;而在于你如何使用它。我们都在努力实现一个基础设施层是理所当然的未来。计算和存储将无处不在,你不会再考虑它,就像你不会考虑水龙头流出的水一样。当然,有人通过为你提供水来赚钱,但这与农业、卫生、居住在以前无法居住的地方的价值相比微不足道……这就是对共同利益的共同兴趣的力量,这就是开源的类似力量。

4. 考虑到快速增长和成熟的用户需求,你认为 OpenStack 社区在未来几年需要如何发展?

OpenStack 必须学会作为一个协调的整体运作,而不是作为一个自主软件项目的集合。没有什么能对用户产生更大的影响。我们需要在各个领域实现一致性和统一:客户端、API、配置、部署、可发现性、联合……列表还在继续。到目前为止,OpenStack 一直受各个项目的意愿支配,用户、部署者甚至开发人员所经历的挫败感显而易见。现在是 OpenStack 发展更强的跨项目领导力的时候了。世界上所有的功能,如果使用它们是一场上坡战,那也是毫无意义的。

5. 你认为哪些其他开源项目与 OpenStack 配合得很好,为什么?

虽然你可以在 OpenStack 上部署几乎任何开源应用程序,但我对 Docker(https://github.com/dotcloud/docker)等项目带来的可能性更感兴趣。寻找定义和部署分布式应用程序的新方法将真正推动“大数据”革命。OpenStack 让每个人都可以访问云,但一旦你拥有云,你会用它做什么?我们需要人性化、可重用和可重组的工具;让你的应用程序运行应该非常明显。秘诀不应该在于你的部署中,而在于你的数据以及你如何从中获取意义。我们越能达到最后一步,就越能改变世界。另一个值得一提的开源项目是 Twitter 发布的项目 Zipkin(http://twitter.github.io/zipkin/),它是一个分布式跟踪引擎,允许你跟踪一个入口点(例如 API 调用)在整个分布式系统中的过程,并准确了解它在每一步中做了什么。为了达到下一级别的优化和统一,OpenStack 将需要内置类似的东西。在没有分布式跟踪的情况下尝试理解 OpenStack 部署是一种痛苦的练习。

标签:

发表评论

您的电子邮件地址将不会被公开。 必填字段已标记 *