开源 2021:从操作系统到云计算,下一个领域是造汽车?从今年的红帽峰会展开讲讲
如果有一位 2009 年的 Linux 工程师穿越到了 2019 年,看见微软的 CEO 坐在红帽峰会的演讲台上跟红帽 CEO 和 IBM CEO 一起聊开源,恐怕这个人会惊诧万分;但如果是一位 2014 年的 Linux 工程师穿越到 2019 年,看见同样的一幕,TA 多半也会感慨,却不会有多大的惊讶,因为这位微软 CEO 在 2014 年已经向全世界敲锣打鼓地公开宣布:“微软热爱 Linux”。
图 时任微软 CEO 的 Satya Nadella 与时任红帽 CEO 的 Jim Whitehurst 在 2019 年的红帽峰会上同台
曾经视 Linux 为“癌症”的微软对 Linux 的态度在不到十年的时间里发生 180 度大转弯,原因千言万语都可以归结到一个词:
云计算。
2020 年新冠疫情席卷全球,直到今天尚未结束,这给全世界各地、各行各业的人们都带来深刻的影响。我们今天很难想象,如果是一个没有云计算的世界遇到了这样的疫情,会是怎样的另一幅光景?
毫无疑问的是,那会跟我们今天看到的世界大不一样。
云计算事实上已经深刻的改变了整个世界,并且这改变仍将继续。
2020 年 4 月 6 日,Paul Cormier 已经在红帽做了 12 年零 4 个月的首席技术官,此时的他将要承担起一个更大的责任:成为这家开源领袖企业的 CEO,带领它继续前进。(而 Paul Cormier 的老搭档、同样在红帽已经做了 12 年零 4 个月的总裁兼 CEO 的 Jim Whitehurst,则在同一天成为了 IBM 的总裁。)
随后的月底,Paul Cormier 迎来了自己上任 CEO 之后的第一场红帽峰会——
一场在线会议。
面对疫情,红帽的策略是:
一方面,出于疫情防控的考虑,红帽非常严格的不让自己的员工到办公室办公(有些员工觉得公司对自己甚至有些“过度保护”了)。
另一方面,红帽又制定了比之前更有“野心”的目标,这一目标被记录在 Paul Cormier 发布于 2021 年 2 月 2 日的一篇博客文章当中:
“尽管很多行业在疫情影响下停滞不前,但是软件行业却继续向前飞速发展。云计算与自动化,它们变得史无前例的重要,变成了一种‘必需品’,它们发挥的作用不再仅仅是锦上添花。……我们现在的主题是,让我们的客户能够在任何地点都能够开发并部署他们的 APP,他们想要选择适合他们的工具, 所以我们把 Red Hat Openshift 打造成了一个可以用 Kubernetes 管理从容器到虚拟机到裸机、从混合云到各类公有云乃至任何地方的计算资源的平台。
…… 然后我们的下一个方向是:边缘计算!”
Cormier 在后来 4 月 27 日的文章中又进一步写到:
“仅仅把每一家公司看作是软件公司是不够的。现在,每一位 CIO 都是一个云计算的 operator!”(注:operator 可以翻译为“运营家”或者“运维”)
文章大意是说,无论是从事任何行业的企业的 CIO,他们未来所面对的要开发与维护的服务(workloads)的量级可能都会超过成百上千个。比如,做为边缘计算的代表性设备——一辆汽车,已经不再是“跑在四个轮子上的电脑”,而是“跑在四个轮子上的数据中心”;既然边缘计算也是数据中心,它们的基石就一定是——也只能是——开放的技术,即,Linux 以及 Linux 容器。
之后的红帽峰会期间,“边缘计算(edge)”成为被大家提到最多的一个关键字。那么,红帽为什么要做边缘计算?他们在边缘计算这个领域做了什么?做到什么程度?计划要做什么?开源技术又在其中发挥什么价值?
本次红帽峰会结束后,InfoQ 编辑与红帽亚太区技术副总裁 Frank Feldmann 进行了一场视频专访,交流了关于边缘计算、Openshift 与 Kubernetes、以及云计算人才的议题。
受访人简介
Frank Feldmann,红帽亚太区技术副总裁,在开源技术领域深耕 20 多年,涉足领域包括并不限于操作系统与云计算。Feldmann 在上世纪 90 年代在荷兰运营过一家 Java 公司,对 JBoss 技术栈也非常了解。
Feldmann:我们现在主要在两个领域进行投入, 一个就是汽车行业 。
你也知道,红帽在过去几乎从来都不聚焦在特定行业,因为红帽一直专注于做能够服务各行各业的通用平台,所以对红帽来说,我们决定来做汽车是一个很大的事情!当我们决定要做汽车这个技术方向之后,我们开始构建一系列体系,从开发、销售、合作伙伴、到市场、人才培训等各个方面。
我们现在要构建运行在汽车里面的软件,以及运行在汽车周边设备里面的软件。我们该从哪些地方获取相关的知识?对于红帽来说,我们非常知道如何用开源的方式开发软件,我们不知道的是汽车是怎么一回事,所以我们需要找到懂汽车的合作伙伴(是的理论上我们也可以去收购一家汽车公司但是我们并不打算这么做)。我们找到了宝马汽车,他们之前就是我们的很好的客户,我们一起做过不少 OpenShift 和 Linux 的项目,他们很认可我们,很认可开源,认为这是很好的机会。同样的,我们也找到了大众汽车,他们也很认可这件事。
这些认可来自于过去多年来我们为客户服务的积累,现阶段我们要做的事情是建立策略,并且对外宣布这件事:汽车是红帽接下来要认真来做的一件事。这件事情现在还处于非常早期的阶段,我们现在一方面向我们的合作伙伴们学习,一方面探索到底红帽擅长的事情能够为这件事带来什么价值。
第二个领域是电信行业,这一块我们已经做过很多的事情,并且电信也是汽车联网的节点,所以从做电信到做汽车对我们来说也是很自然的一个过程。你可以了解一下我们为日本乐天移动做过的案例(构建端到端云原生网络)。
乐天移动的案例介绍 图片来自红帽
总的来说,边缘计算这一块,我们的第一优先级是电信,第二是汽车。
Feldmann:应该说,有些技术还是很成熟的,只是需要针对场景做调整。像是汽车,汽车里面需要的东西跟主流的 Linux 环境从本质上其实是一样的,只是一方面能耗优先,一方面对实时性要求高,需要有优先级的进行优化。当然也有些东西需要全新的开发。我觉得这是一件很让人兴奋的事情,就是汽车行业认可了开源的方式,用开源的方式来解决问题,快速地互相学习。
Feldmann:应该说是四个轮子载着一个数据中心。一辆汽车里面的处理器数量可是很多的!这里面发生非常多的计算。不只是汽车,河面上的这些轮船,也是漂浮的数据中心。天上飞的飞机,也是飞行的数据中心。红帽在美国和澳大利亚就做过一些轮船上面的 RHEL 项目,这个过程很有意思,我们要学会如何在各种限制条件下让系统运作到最优状态,尤其是在有限的电力下运作。
Feldmann:因为现在是分布式系统,复杂性比之前多很多。边缘计算不仅仅是关于终端设备,更是关于“最后一公里”发生的计算。一辆汽车开在路上,与它路过的很多基站交互信息,系统随时接收到汽车在行驶过程中产生的数据,然后决定要不要做一些事情——比如给汽车推送一条“前轮刹车需要保养”的信息,从汽车到基站再到数据中心的往返过程中每一个环节都有延时,你开发的时候就需要照顾到这些事情。我相信使用开放标准和开放技术在这个过程中是很重要的。
Feldmann:我们需要工程师和硬件厂商们一起来探索这件事情。我们是否需要几个新的产品?或者是现有产品的一些“特制版本”?或者是通过参数调整来实现?我们现在还没有到能够做这些决策的阶段。
我们在电信行业里面使用 OpenStack 还是比较多的,它用来管理网络很灵活,无论是物理网络还是虚拟化网络还是容器网络都可以管理。
Feldmann:我认为最大的变化是“更简单了”。过去 12-18 个月里面我们集中做了几件事情,其中一件事情就是让 OpenShift 能够用管理容器的同样方式来管理虚拟机,这对于客户来说可以更加方便的管理自己的各种计算资源——无论是在混合云里面还是在公有云上面。
Kubernetes,这个就是我们认准的方向,我们认为长期来说这是客户真正想要的管理界面(在这一点上我们的方向与 VMware 是不同的),我们相信长期来说,客户使用的虚拟机会越来越少,使用的容器会越来越多,所以他们希望使用 Kubernetes 的方式来进行管理。
我们还让 OpenShift 可以管理裸金属机器,也是像管理容器一样来管理。
另外我还想说一句,因为你说到私有云,事实上我们现在做的项目几乎全部都是混合云。AWS、微软 Azure、Google Cloud、IBM Cloud,这些公有云上面的资源,现在你都可以在 OpenShift 上面管理,这也是过去 12-18 个月里面我们做的一件事情。
所以做为客户,你想要自己维护自己的云也好,或者你希望找到一个熟悉 Kubernetes 的人或者团队帮助你维护也好,你就可以自己选择,并且 Kubernetes 所有这些工具、文档、培训体系都是公开的,所以更加容易。
Feldmann:我认为 Kubernetes 极度的受欢迎。与此同时,我认为 OpenShift Streams 也很重要,因为这是做数据科学需要用到的服务。我认为 OpenShift API Management 也很重要,因为你的微服务多了,它们的权限管理就会越来越重要。
对于 Kubernetes 的流行,我是这么看的:
Linux 做为操作系统,是对硬件的抽象,做得非常成功。把硬件抽象,意思是让每一个硬件(对开发者来说)看起来是一样的——无论你是 x86 还是 ARM 还是这个厂商或者那个厂商的硬件。
而 Kubernetes 将同样的能力赋予了数据中心。就是说,无论你用的哪朵云,用的裸机还是虚拟机还是容器,这些对你来说也都是一样的,你都用管理 Linux 容器的方式来管理它们就可以。
Feldmann:你怎么定义“成功”呢?一个项目可能在一个方面成功,对于另一个项目来说就不一定如此。
对于 Linux 的成就,我认为它最重要的是它展示了开源到底能够带来多少可能性。可能它正好出生在那个时代:老旧的 UNIX 开始不给力,又昂贵又不够创新,让很多公司想要去寻找它的替代品,就找到了它。如果 Linux 早十年出生,它是不是能活到今天也不一定,对吧?
对 Kubernetes 来说也是一样的,就在市场对于混合云越来越关注的这个时间点,Kubernetes 提供了这样一套 API 来让你实现这个诉求。
至于最成功的开源项目是不是 Linux,我认为 Java 也是一个很成功的开源项目,我们现在每天都在使用它,无论是银行还是政府还是电力公司,谁不用 Java 呢?这也是一个对于社会、对我们每个人的日常生活影响很大的另一个开源项目。
有一点是很明确的:只要开源在生长,红帽也会生长。
Feldmann:我们每年都在做一个关于企业使用开源的调查报告,最新的一期你可以看看,90% 的企业都表示在使用开源,无论是航空业、银行业还是政府机构;并且现在正处于这样一个趋势,就是开源从过去的主要在基础架构中使用,会越来越往应用方向以及数字化转型方向发展,尤其是在 AI 以及机器学习,以及自动化任务等领域。
Feldmann:首先,越来越多的客户会在自动化方向进行投入。同时,越来越多的开源社区会关注这个方向。现在其实已经有很多客户跟我说,Frank,我们想要一个新的东西,是我们在开源社区里面还没有找到的,你可以帮忙吗?而他的意思不是让我去帮他开发,他是要自己开发!他需要我帮忙的地方是,如何从项目的启动阶段就引入社区的参与。我觉得这样的事情非常酷,这样能够让一个项目走得长远。
Feldmann:第一条建议是,让他们找红帽的同学学习开源的一些原则,不仅仅是技术方面的,也包括法律法规方面的。这听起来很让人惊讶,但过去的确发生过工程师在企业里面引入开源,结果陷入到一些公司内的人事与法律相关的纠纷乃至于被炒鱿鱼!这是我们不想看到的。我们花了很大的功夫来建设我们的咨询团队与顾问团队,他们能够在这些方面帮助到我们的客户。
Feldmann:我感觉人才的情况跟你处于什么地方有很大关系。比如说,日本的企业一直有把项目给外包团队做的传统,所以企业本身对于雇佣开发人员的兴趣就不那么大,开发能力主要集中在系统集成商那里。但在其他一些地方的风俗则更偏向于另一个方向,比如每一家公司都说自己要做一家软件公司,这样我才能控制我要前进的方向,那么他们就会自己雇佣很多技术人才。
做为技术公司,红帽自己对于技术人才一直是雇佣策略,我们雇佣的是能够开发 Linux 内核、能够开发 Kubernetes 这个层面的人才。这些人才大多数企业都不会自己雇佣,更多企业的人才需求主要是应用开发、Kubernetes 的使用和维护、分布式架构的设计与开发维护等等。
我个人觉得长期来说,企业并不会想要自己维护一个庞大的软件开发团队,因为这并不太有道理。一家银行有很强的 Kubernetes 能力,这听起来有些奇怪?银行最关注的事情应该还是服务好他们的客户才对,如何提升他们的客户的服务体验,怎么让银行 APP 更好用,如何让支付更流畅,这些才是对于银行来说更有道理的事情。
当然,现在是这样一个阶段,企业希望能够更加快速的开发应用、部署、交付给自己的客户,他们就需要去掌握 Kubernetes、掌握这些容器技术。长期来看,这些事情都能找到别人来做的,这些是我们擅长的事情。
Feldmann:这就回到了你之前问的那个问题,现在去安装一朵云,相比一年前容易了多少?我个人的感觉是,沟通的障碍越来越低了,使用工具需要掌握的专业技能也越来越少了。
这就好比,世界上第一辆汽车被发明出来的时候,那位司机一定也是很技术的汽车工程师,对吧?那么现在你去开车,你对于这辆汽车的内部又了解多少呢?几乎不需要怎么了解,对吧?你只需要去上一个驾校,考一个驾照,你就可以开车了。再比如 Linux,它刚刚诞生的时候,你想要把它跑起来,你真的需要是一个超级极客才能做到,现在你再看有多少人在使用 Linux?一样的道理。
现在我看到有些企业已经开始向这个方向发展了,比如我们一位在澳大利亚的银行客户,他们的 CIO 前段时间就在说,之前他们一度也是想要什么都自己来做,什么都要自己搞懂,现在忽然发现这并不是他们想要的,他们真正想要的始终还是服务好自己的客户。这其实是技术趋于成熟的一个过程。
Feldmann:谢谢,再见!
点击文末【阅读原文】移步InfoQ官网,内容更多更精彩!