本文章是 OpenStack Open Mic 系列的一部分,旨在突出那些帮助 OpenStack 取得成功的人。每周,一位新的贡献者将站出来回答五个关于 OpenStack、云、职业和他们喜欢做的事情的问题。
Alessandro Pilotti 是 Cloudbase Solutions 的首席执行官,这是一家总部位于意大利维罗纳和罗马尼亚蒂米什瓦拉的专注于云计算互操作性的公司。Cloudbase Solutions 提供 OpenStack 和 Windows 之间的集成,包括 Hyper-V 计算驱动程序和 Cloudbase-Init(Windows 的 Cloud-Init)。
Alessandro 目前是 ASP .Net / Internet Information Services 的 MVP 和 Windows Azure Insider,拥有计算机科学硕士学位、IT 领域的各种认证(MCSD、MCSE、MCDBA、RHCE)。他喜欢做技术演讲、开发开源项目和参与一般的 IT 社区生活。
在不编码、咨询或培训的时候,他会驾驶滑翔伞飞入古老的云层。您可以在 twitter 上关注他:@cloudbaseit。
1. 你认为过去三年 OpenStack 最酷的事情是什么?
显然,从 OpenStack Folsom 开始重新引入 Hyper-V。 🙂 我一直非常喜欢互操作性,我们所做的事情有助于弥合 Microsoft 基于的基础设施和开源世界之间的差距。能够从大量的底层技术中进行选择是 OpenStack 的一个强项,我为参与这项工作感到自豪。到目前为止,我和我的团队所做的工作包括 Nova Hyper-V 计算代理、Neutron Hyper-V 插件和代理、Ceilometer Hyper-V 计算检查器、Windows 来宾支持(Cloudbase-Init)等等。所有这些东西都在一年内发布,并且我们还有很多即将发布的内容!
2. 作为一名开发者,什么行为对你帮助最大?
我认为开放的心态和激情驱动是帮助我最多的。这肯定比工作更像是一种手艺,需要逻辑、创造力和分析技能的完美平衡。与大多数其他手艺不同,我们的工具在不断变化和发展,这意味着需要花大量的时间阅读新内容并尝试它。我认为成为一名优秀的开发人员所需的技能分为四个主要领域:编码、架构、测试和系统管理技能。在云计算中,我们正在见证一个非常有趣的效果:两种主要的 IT 类别,开发人员和系统管理员正在合并成这个新的角色:devop。基本上是具有脚本技能的系统管理员和具有操作系统知识的开发人员的融合。前者通常缺乏编码和架构方面的知识(例如:设计模式),后者缺乏系统管理方面的知识,因此我强烈建议您尽可能多地投入时间来弥补差距,无论您在哪个方面。
帮助我塑造技能的一件事是尽早学习尽可能直接地使用操作系统 API。 过去,别无选择,任何像样的应用程序都是用 C/C++ 编写的。 基于字节码的框架(Java、.Net)和动态语言(Python、Ruby 等)在开发人员和底层系统之间增加了一个巨大而舒适的层,这意味着如今的开发人员很难完成需要超越框架限制的任务。 你甚至不需要用老派的 C/C++ “弄脏”你的手,Python 提供了像 ctypes 这样的模块来轻松完成工作,你只需要知道该怎么做。 我们的所有 OpenStack 贡献完全用 Python 编写,例如 Cloudbase-Init,其中包含许多此类编码示例。
我注意到人们倾向于在一个特定的操作系统和环境下学习一门语言并坚持使用它。 在我看来,这永远不会给你那种“加分”,让你在需要时以不同的视角看待事物,最终陷入“如果你只有一把锤子,一切看起来都像钉子”的境地。
还有很多要补充的,特别是如果你管理一个团队,但那又是另一个故事了!
3. 你是如何学习编码的? 是自学成才还是在大学学习? 在工作中学习?
三者兼而有之:在工作中自学,加上大学里学到的一些知识。 故事是这样的
我在高中快结束的时候得到了一台组装的基于 386DX 的电脑,回到 90 年代初,几乎立刻就开始在第一个小项目上进行专业编码。 我一直对很多不同的事物充满兴趣,出于对酷炫工程的好奇和敬畏。 我开始在 Windows 3.1 上用 C++ 编码(别笑,那是当时可用的!),它具有一套非常坚实的 API,与即将发布的 Windows NT 相同,至今仍在 Windows Server 2012 R2 中使用。 由于 Windows 3.x 的明显限制以及 Windows NT 要求的不可访问性(12MB 的内存对于一个贫穷的学生来说是一个荒谬的量!),我很快就转向了 OS/2(在其时代的一颗真正的宝石)和 Linux,后者正开始它的精彩故事。
我并没有抛弃 Windows,但我从 Windows 2000 开始才对微软发布的内容感到满意。 在所有这些操作系统上使用原始 API 和系统调用的编码经验证明是一所重要的学校。 我在 90 年代中期和一些朋友一起创办了一家 Web 开发公司,显然,托管服务器使用的 Linux 价格非常便宜,所以这就是我开始获得真正的系统管理员技能的地方,而编码方面大多是无聊的 PHP。 2001 年左右,我也开始在微软领域进行大量的咨询和培训。 我也开始收集认证:MCSD(VS 6.0 和 .Net)、MCSE、MCDBA、MCT,以及 Red Hat 认证工程师 (RHCE) 认证。 同时获得的计算机科学硕士学位更多地提高了适应新主题的能力以及数学和逻辑方面,而不是实际技能。
4. 你的快乐之地在哪里? 最喜欢的旅行地、度假地、放松地?
当我没有在世界各地旅行时,我大部分时间都在罗马尼亚的蒂米什瓦拉(Timisoara),我们的总部所在地,这几乎没有时间好好睡觉,更不用说考虑度假了! 也就是说,每当我有时间,我就会溜到意大利的维罗纳(Verona),在加尔达湖附近的群山中进行滑翔伞飞行。 这里有一张其中一个起飞区域的照片
我喜欢这项运动的绝对简单性:它只是一块高科技的布料,配有安全带、降落伞和 GPS,你可以背在背上。 你只需要上升气流来获得高度(势能是你的唯一“燃料”),你就可以体验到一些壮丽的景色,一种惊人的自由感,以及一些有趣的冒险,特别是如果你最终降落在荒无人烟的地方。 优秀的飞行员(不是我的情况,呵呵)可以在天气好的时候飞行 100-200 公里。 虽然我的飞行技能相当生疏,特别是最近我的飞行时间非常有限,但我仍然可以吹嘘说我是少数真正“进入云端”的堆栈开发者之一。 😉
5. 你认为 OpenStack 在 20 年后、50 年后会用于什么?
不幸的是,我没有水晶球,但 IMO 今天的云的概念很快就会发生根本性的变化。 最终,所有这些虚拟化技术都相当史前。 今天的 IaaS 工具主要集中在使为物理环境创建的操作系统能够在虚拟化环境中运行,并投入了大量的开销来模拟物理机器的行为,这导致了许多缺点,例如启动时间过长。
例如,Hyper-V 已经在最新版本中引入了“第二代”虚拟硬件,通过提供略有不同的启动过程并删除在虚拟世界中无用的设备,大大缩短了启动时间。 我相信未来将会出现更多“仅云”操作系统,这意味着 OpenStack 将不得不快速适应技术发展的方向。
OpenStack 正在变得非常庞大,我们在 Havana 版本中遇到的问题表明,有太多的功能被提出和实现,而审查方面缺乏足够的带宽。 我真心希望我们能够保持适应新挑战的灵活性,以便在 20 年后达到目标。 50 年? 穿着黑色西装和深色眼镜的智能 OpenStack 服务/代理,以及公共电话而不是 RESTful API? 🙂