《架构师》2021年6月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

开源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技术栈也非常了解。

InfoQ:首先第一个问题,这一次红帽峰会大家都在讲边缘计算,对于红帽的客户来说,最常见的边缘计算的场景主要是哪些?

Feldmann:我们现在主要在两个领域进行投入,一个就是汽车行业

你也知道,红帽在过去几乎从来都不聚焦在特定行业,因为红帽一直专注于做能够服务各行各业的通用平台,所以对红帽来说,我们决定来做汽车是一个很大的事情!当我们决定要做汽车这个技术方向之后,我们开始构建一系列体系,从开发、销售、合作伙伴、到市场、人才培训等各个方面。

我们现在要构建运行在汽车里面的软件,以及运行在汽车周边设备里面的软件。我们该从哪些地方获取相关的知识?对于红帽来说,我们非常知道如何用开源的方式开发软件,我们不知道的是汽车是怎么一回事,所以我们需要找到懂汽车的合作伙伴(是的理论上我们也可以去收购一家汽车公司但是我们并不打算这么做)。我们找到了宝马汽车,他们之前就是我们的很好的客户,我们一起做过不少OpenShift和Linux的项目,他们很认可我们,很认可开源,认为这是很好的机会。同样的,我们也找到了大众汽车,他们也很认可这件事。

这些认可来自于过去多年来我们为客户服务的积累,现阶段我们要做的事情是建立策略,并且对外宣布这件事:汽车是红帽接下来要认真来做的一件事。这件事情现在还处于非常早期的阶段,我们现在一方面向我们的合作伙伴们学习,一方面探索到底红帽擅长的事情能够为这件事带来什么价值。

第二个领域是电信行业,这一块我们已经做过很多的事情,并且电信也是汽车联网的节点,所以从做电信到做汽车对我们来说也是很自然的一个过程。你可以了解一下我们为日本乐天移动做过的案例(构建端到端云原生网络)。

乐天移动的案例介绍 图片来自红帽

总的来说,边缘计算这一块,我们的第一优先级是电信,第二是汽车。

InfoQ:早期阶段该怎么理解?

Feldmann:应该说,有些技术还是很成熟的,只是需要针对场景做调整。像是汽车,汽车里面需要的东西跟主流的Linux环境从本质上其实是一样的,只是一方面能耗优先,一方面对实时性要求高,需要有优先级的进行优化。当然也有些东西需要全新的开发。我觉得这是一件很让人兴奋的事情,就是汽车行业认可了开源的方式,用开源的方式来解决问题,快速地互相学习。

InfoQ:我们说到Linux,可能第一反应还是想到服务器,然后汽车就像是四个轮子载着一台服务器。

Feldmann:应该说是四个轮子载着一个数据中心。一辆汽车里面的处理器数量可是很多的!这里面发生非常多的计算。不只是汽车,河面上的这些轮船,也是漂浮的数据中心。天上飞的飞机,也是飞行的数据中心。红帽在美国和澳大利亚就做过一些轮船上面的RHEL项目,这个过程很有意思,我们要学会如何在各种限制条件下让系统运作到最优状态,尤其是在有限的电力下运作。

InfoQ:我觉得这里面很有意思的一点是,过去我们管这些设备上面的软件叫做嵌入式开发,而今天我们叫它们边缘计算。

Feldmann:因为现在是分布式系统,复杂性比之前多很多。边缘计算不仅仅是关于终端设备,更是关于“最后一公里”发生的计算。一辆汽车开在路上,与它路过的很多基站交互信息,系统随时接收到汽车在行驶过程中产生的数据,然后决定要不要做一些事情——比如给汽车推送一条“前轮刹车需要保养”的信息,从汽车到基站再到数据中心的往返过程中每一个环节都有延时,你开发的时候就需要照顾到这些事情。我相信使用开放标准和开放技术在这个过程中是很重要的。

InfoQ:那么,今天的RHEL和OpenShift能在多大程度上满足汽车的需要?

Feldmann:我们需要工程师和硬件厂商们一起来探索这件事情。我们是否需要几个新的产品?或者是现有产品的一些“特制版本”?或者是通过参数调整来实现?我们现在还没有到能够做这些决策的阶段。

我们在电信行业里面使用OpenStack还是比较多的,它用来管理网络很灵活,无论是物理网络还是虚拟化网络还是容器网络都可以管理。

InfoQ:关于云计算的部署,你觉得一个客户在今天要开始部署一个自己的私有云,相比一年前或者两年前来做这个部署,你觉得最大的变化在哪些方面?

Feldmann:我认为最大的变化是“更简单了”。过去12-18个月里面我们集中做了几件事情,其中一件事情就是让OpenShift能够用管理容器的同样方式来管理虚拟机,这对于客户来说可以更加方便的管理自己的各种计算资源——无论是在混合云里面还是在公有云上面。

Kubernetes,这个就是我们认准的方向,我们认为长期来说这是客户真正想要的管理界面(在这一点上我们的方向与VMware是不同的),我们相信长期来说,客户使用的虚拟机会越来越少,使用的容器会越来越多,所以他们希望使用Kubernetes的方式来进行管理。

我们还让OpenShift可以管理裸金属机器,也是像管理容器一样来管理。

另外我还想说一句,因为你说到私有云,事实上我们现在做的项目几乎全部都是混合云。AWS、微软Azure、Google Cloud、IBM Cloud,这些公有云上面的资源,现在你都可以在OpenShift上面管理,这也是过去12-18个月里面我们做的一件事情。

所以做为客户,你想要自己维护自己的云也好,或者你希望找到一个熟悉Kubernetes的人或者团队帮助你维护也好,你就可以自己选择,并且Kubernetes所有这些工具、文档、培训体系都是公开的,所以更加容易。

InfoQ:Kubernetes现在到底有多受欢迎?我们是否可以认为它现在已经成为一个“标准的管理界面”?

Feldmann:我认为Kubernetes极度的受欢迎。与此同时,我认为OpenShift Streams也很重要,因为这是做数据科学需要用到的服务。我认为OpenShift API Management也很重要,因为你的微服务多了,它们的权限管理就会越来越重要。

对于Kubernetes的流行,我是这么看的:

Linux做为操作系统,是对硬件的抽象,做得非常成功。把硬件抽象,意思是让每一个硬件(对开发者来说)看起来是一样的——无论你是x86还是ARM还是这个厂商或者那个厂商的硬件。

而Kubernetes将同样的能力赋予了数据中心。就是说,无论你用的哪朵云,用的裸机还是虚拟机还是容器,这些对你来说也都是一样的,你都用管理Linux容器的方式来管理它们就可以。

InfoQ:今年正好是Linux诞生30周年,你正好拿Linux和Kubernetes做对比,我就想好奇问一下,你看Linux可以说是开源软件世界里面迄今为止最成功的项目对吧?你觉得Kubernetes也实现了那样的“地位”吗?

Feldmann:你怎么定义“成功”呢?一个项目可能在一个方面成功,对于另一个项目来说就不一定如此。

对于Linux的成就,我认为它最重要的是它展示了开源到底能够带来多少可能性。可能它正好出生在那个时代:老旧的UNIX开始不给力,又昂贵又不够创新,让很多公司想要去寻找它的替代品,就找到了它。如果Linux早十年出生,它是不是能活到今天也不一定,对吧?

对Kubernetes来说也是一样的,就在市场对于混合云越来越关注的这个时间点,Kubernetes提供了这样一套API来让你实现这个诉求。

至于最成功的开源项目是不是Linux,我认为Java也是一个很成功的开源项目,我们现在每天都在使用它,无论是银行还是政府还是电力公司,谁不用Java呢?这也是一个对于社会、对我们每个人的日常生活影响很大的另一个开源项目。

有一点是很明确的:只要开源在生长,红帽也会生长。

InfoQ:其实20年前或者10年前,我们可能都不太想象得到,数据中心会拥抱开源,银行会拥抱开源,造汽车的和造飞机的也会拥抱开源。开源在自己的历史上现在到了怎样一个阶段呢?

Feldmann:我们每年都在做一个关于企业使用开源的调查报告,最新的一期你可以看看,90%的企业都表示在使用开源,无论是航空业、银行业还是政府机构;并且现在正处于这样一个趋势,就是开源从过去的主要在基础架构中使用,会越来越往应用方向以及数字化转型方向发展,尤其是在AI以及机器学习,以及自动化任务等领域。

InfoQ:更多的自动化工具吗?

Feldmann:首先,越来越多的客户会在自动化方向进行投入。同时,越来越多的开源社区会关注这个方向。现在其实已经有很多客户跟我说,Frank,我们想要一个新的东西,是我们在开源社区里面还没有找到的,你可以帮忙吗?而他的意思不是让我去帮他开发,他是要自己开发!他需要我帮忙的地方是,如何从项目的启动阶段就引入社区的参与。我觉得这样的事情非常酷,这样能够让一个项目走得长远。

InfoQ:所以当客户找你来求助之后,你给他们的第一条建议是什么?

Feldmann:第一条建议是,让他们找红帽的同学学习开源的一些原则,不仅仅是技术方面的,也包括法律法规方面的。这听起来很让人惊讶,但过去的确发生过工程师在企业里面引入开源,结果陷入到一些公司内的人事与法律相关的纠纷乃至于被炒鱿鱼!这是我们不想看到的。我们花了很大的功夫来建设我们的咨询团队与顾问团队,他们能够在这些方面帮助到我们的客户。

InfoQ:那么就到了今天最后一个问题,你对于现在云计算的人才供需情况怎么看?现在有哪些方向的人才特别匮乏吗?

Feldmann:我感觉人才的情况跟你处于什么地方有很大关系。比如说,日本的企业一直有把项目给外包团队做的传统,所以企业本身对于雇佣开发人员的兴趣就不那么大,开发能力主要集中在系统集成商那里。但在其他一些地方的风俗则更偏向于另一个方向,比如每一家公司都说自己要做一家软件公司,这样我才能控制我要前进的方向,那么他们就会自己雇佣很多技术人才。

做为技术公司,红帽自己对于技术人才一直是雇佣策略,我们雇佣的是能够开发Linux内核、能够开发Kubernetes这个层面的人才。这些人才大多数企业都不会自己雇佣,更多企业的人才需求主要是应用开发、Kubernetes的使用和维护、分布式架构的设计与开发维护等等。

我个人觉得长期来说,企业并不会想要自己维护一个庞大的软件开发团队,因为这并不太有道理。一家银行有很强的Kubernetes能力,这听起来有些奇怪?银行最关注的事情应该还是服务好他们的客户才对,如何提升他们的客户的服务体验,怎么让银行APP更好用,如何让支付更流畅,这些才是对于银行来说更有道理的事情。

当然,现在是这样一个阶段,企业希望能够更加快速的开发应用、部署、交付给自己的客户,他们就需要去掌握Kubernetes、掌握这些容器技术。长期来看,这些事情都能找到别人来做的,这些是我们擅长的事情。

InfoQ:但是客户那边还是需要有人能够跟你们沟通,你们互相之间能听懂对方在说什么吧?

Feldmann:这就回到了你之前问的那个问题,现在去安装一朵云,相比一年前容易了多少?我个人的感觉是,沟通的障碍越来越低了,使用工具需要掌握的专业技能也越来越少了。

这就好比,世界上第一辆汽车被发明出来的时候,那位司机一定也是很技术的汽车工程师,对吧?那么现在你去开车,你对于这辆汽车的内部又了解多少呢?几乎不需要怎么了解,对吧?你只需要去上一个驾校,考一个驾照,你就可以开车了。再比如Linux,它刚刚诞生的时候,你想要把它跑起来,你真的需要是一个超级极客才能做到,现在你再看有多少人在使用Linux?一样的道理。

现在我看到有些企业已经开始向这个方向发展了,比如我们一位在澳大利亚的银行客户,他们的CIO前段时间就在说,之前他们一度也是想要什么都自己来做,什么都要自己搞懂,现在忽然发现这并不是他们想要的,他们真正想要的始终还是服务好自己的客户。这其实是技术趋于成熟的一个过程。

InfoQ:好的。那么今天的采访就到此结束。谢谢!

Feldmann:谢谢,再见!