Kubernetes 是新的 Linux 吗? 帕维尔·塞利瓦诺夫专访


成绩单:
阿扎特·哈迪耶夫:你好。 我的名字是阿扎特·哈迪耶夫。 我是 Mail.ru 云解决方案的 PaaS 开发人员。 和我在一起的是来自南桥的帕维尔·塞利瓦诺夫 (Pavel Selivanov)。 我们正在参加 DevOpsDays 会议。 他将在这里演讲如何使用 Kubernetes 构建 DevOps,但很可能你不会成功。 为什么要讨论这么黑暗的话题呢?

帕维尔·塞利瓦诺夫:实际上并不悲观。 事实上,我们正在尝试借助技术来解决社区中的许多问题。 我们试图以一种相当片面的方式借助技术来解决问题。 Kubenetes 也是一样——这就是他们负责的事情,有人可能会说 Ops。 但我们有一个很棒的 DevOps 工程师概念。 DevOps 工程师负责 Kubernetes。 同时......就像你制作 Kubernetes 一样,但开发人员根本不知道所有这些 Kubernetes,他们不知道它允许你做什么 - 并且一切对他们来说都完全相同。 尽管 Kubernetes 包含现成的解决方案和现成的工具,以便使用该技术来扩展 DevOps 方法以及 Dev 和 Ops 之间的通信。 我们很少利用这个机会。 由于我们甚至将当前结构转移到所有这些 DevOps 工具(Docker、Kubernetes、云等),我们使这种情况更加恶化。 我们开始以不同于预期的方式使用这些工具。 围绕所有这些技术正在构建可怕的拐杖。

阿扎特·哈迪耶夫:我明白了。 感觉这个话题很广泛。 您认为目前企业最常见的问题是什么? 与 Kubernetes 一起。

Pavel Selivanov:Kubernetes 最常见的问题是缺乏能力。 这是 IT 领域的一个常见问题。 专家总是短缺。 总是缺乏能力。 而现在 Kubernetes 的能力还不够。 与此同时,市场上仍然有 XNUMX% 现成的解决方案可以让您获得 Kubernetes,但同时不具备必要的能力;坦率地说,市场上很少有这样的解决方案。 那些存在的,它们都提出了一些问题。 对于 Kubernetes,我们一直在寻找了解这一点的人。 我们正在努力使开发适应这一点。

Azat Khadiev:鉴于目前 IT 人员短缺。 这一直存在。 现在有了。 您认为在这样的条件下如何生活? 有哪些生活窍门?

帕维尔·塞利瓦诺夫:生活黑客。 首先,从云的角度来看,生活黑客看起来像这样 - 让我们给我们一些你的能力。 我们会把它们占为己有。 我们将在自己内部做到这一点。 这一切都很好。 除了对于使用它的人来说理解这一点很重要......实际上是一个伟大的时刻......但重要的是要理解,如果我们将部分能力交给云或提供商,我们会得到一个通用的解决方案作为回报。 粗略地说,我们有一个数据库可以做非常具体的事情,并且它是以非常具体的方式配置的。 通过将此数据库提供给云,我们当然可以解雇过去处理数据库集群的管理员 - 同样的亚马逊或谷歌将为我们做这件事。 但与此同时,亚马逊或谷歌不会允许我们明确配置我们的数据库。 大型项目、大公司 - 无论如何,他们会在生命周期的某个阶段使用云解决方案,然后,无论如何,他们都会回归自己的​​能力,因为需要更具体的东西。

Azat Khadiev:通用解决方案是不好还是可以在此基础上建立更多解决方案?

Pavel Selivanov:不,通用解决方案绝对不错。 通用解决方案很好。 只是通用解决方案...通用。 理解这里很重要。 这就像采用一个通用脚本......如果您可以围绕这个通用脚本、通用应用程序构建公司工作的整个逻辑,那就太酷了。 如果作品的逻辑不同,但你采用了这个通用的解决方案,一个通用的脚本 - 然后像猫头鹰一样开始拉动地球仪,这很糟糕。 普遍主义本身并没有什么问题。

阿扎特·哈迪耶夫:如果这位管理员已经为您工作,那么重点不在于解雇他。 他将能够做更多的事情。

帕维尔·塞利瓦诺夫(Pavel Selivanov):是的,取消他的日常工作,并将其交给某个地方的某人,让他们在某个地方进行制作。 这绝对是一个好方法。 这里重要的一点是这个标准解决方案是否适合特定情况。

Azat Khadiev:根据我的经验,我发现很多公司都在做同样的事情。 他们正在建立一个 Kubernetes 集群并考虑扩展它。 而且所有这些操作都非常可重复。

帕维尔·塞利瓦诺夫:是的,当然。 而且,如果我们具体拿 Kubernetes 来说,有这样一点,目前市场上关于 Kubernetes 的深入、好的知识确实很少。 Kubernetes 是一个如此庞大的构建者,如果你为一家公司雇用它,请准备好带一名全职完成所有这些工作的工程师。 而且价格昂贵。 并尝试再次寻找这样的工程师。 如果我谈论我自己,我不太喜欢任何云解决方案,因为我对 Kubernetes 的工作原理有相当深入的了解。 通常在云中我只是缺少一些我要求的功能 - 但他们告诉我“不,你不能。” 好吧,那么,我很抱歉,但我可以比克劳德做得更好。 但同时,如果你没有全职工程师,你也不想为这个运行 Kubernetes 的工程师付费,而你不断地付给他很多钱只是为了进行实验,那么云就只是一个很好的解决方案。 因为至少坐在那里的人是提供商已经招募的。 他们知道自己在做什么。 你每天需要的那些基本东西都在那里。

Azat Khadiev:您如何看待 Kubernetes 目前的状况? 五年后、十年后他会发生什么?

帕维尔·塞利瓦诺夫:好问题。 我只知道我们社区正在发生什么。 有些人认为,除了 Kubernetes 之外,将一无所有。 Linux 很久以前就发生过这种情况。 也就是说,在 Linux 之外,有人生活在 BSD 上,他们很可能有非常具体的任务。 有些人在 Windows 下工作 - Windows 服务器 - 最有可能的是,他们也有特定的任务,或者他们只是在这方面有能力,但他们不准备离开那里。 无论如何,我们这个领域的标准是Linux。 有一种观点认为,Kubernetes 将成为同样的事实上的标准,除了 Kubernetes 之外什么都没有。 Kubernetes 不仅可以管理应用程序,还可以管理它们的部署、部署和扩展。 一般来说,管理一切。 现在他们已经在问:“是否可以将数据库推送到 Kubernetes 中?” 我通常说这里的问题不在于 Kubernetes,而在于 Docker。 如果您已准备好让数据库在容器中运行,那么它就是这样工作的。 他们回答我:“不,不,不,等等。 不需要容器。 需要 Kubernetes。 我们将把它移植到节点上。 也就是说,一切都会像我们现在拥有的那样,只有 Kubernetes 才能管理这一切。” 这实际上是个好主意。 也就是说,当你来到一家公司时,Kubernetes 就是这样一个东西,如果该公司有 Kubernetes 和基于它构建的流程,那么一个理解这一点的人 - 他只需要看几天就能说:“我已经准备好支持你了。 完全。 完全。 我明白事情对你来说是如何运作的。” 与没有 Kubernetes 的方法相反 - 这里是一些拐杖被塞进去,这里是其他拐杖。 这里是 Ansible,这里是 Terraform。 有人写了这一切,花了六个月的时间才弄清楚。 这里。 所以 Kubernetes 是否会成为事实上的标准,我不知道。 如今,他看起来比他周围存在的解决方案更加雄心勃勃和自信。

Azat Khadiev:嗯,与 Linux 的比较是相当大胆的。 它可以在一台机器上运行——仅此而已。 Kubernetes 可以在很多机器上运行。 一百万种变化和原因立即出现。 是的,这很大胆。 只要您考虑到这种范式存在竞争对手。 例如,无服务器。 面对这样的竞争对手,Kubernetes 是否面临危险?

Pavel Selivanov:来自无服务器......(笑)无服务器 - 我们仍然知道毕竟有服务器。 最近我听到了有关此事的报道。 那里的人说仍然有服务器 - 这是云。 但我们必须始终明白,云也有服务器。 有真正的硬件服务器、机架,它们安装在某个地方。 这就是云。 最重要的是无服务器,即“没有”服务器。 那么问题来了:Serverless 会战胜 Kubernetes 吗? 在我看来,Serverless 将迁移到 Kubernetes。 对于提供 Serverless 的提供商来说,Kubernetes 是一个非常方便的平台。 是的,也许在某个时候我们原则上将停止谈论 Kubernetes,就像谈论业务应用程序的普通开发一​​样。 但在深处的某个地方,提供商和工程师将拥有 Kubernetes,所有这一切都将在其中实现。

Azat Khadiev:一个稍微不同的话题。 有一种叫做全栈工程师的东西。 你觉得他们怎么样? 它们存在吗?

Pavel Selivanov:嗯......全栈工程师......嗯,在我看来,区分这些东西是值得的......你知道,有一种叫做T型人的东西。 现在的行业需要这样的人吗? 是的,我们绝对需要它。 我们需要具有广阔视野的人,但同时他们也是某个狭窄领域的专家。 这里的全栈工程师是一样的——一个包揽一切的人。 从前端开发、测试、后端、服务器等一切开始。 我不认为在一家大公司中,一个人如果不对每个参数都具有狭窄的专业知识,就无法做到这一点。 但与此同时,仅仅有一个狭窄的专业知识,就像周围发生的事情一样,我什么都不知道——这在现代世界也行不通。 也就是说,在这里我想说……我会放弃“全栈”这个词。 我们确实需要工程师。 我们需要 DevOps。 我有一种感觉,我们很快就会重新考虑这一刻。 而且他们将不再被需要。

阿扎特·哈迪耶夫:你能透露一下吗?

Pavel Selivanov:在我看来,我们业内人士将得出这样的结论:这些开发和运营角色将很快消失。 如果我们需要专家并且我们正在寻找......我们需要这样那样的开发人员,我们需要这样那样的管理员,我们需要DevOps工程师 - 现在我们有了他们,现在我们还将有生产工程师,SRE工程师。 虽然事实上,我们需要的是我们想雇佣的工程师。 背景总的来说并不重要。 因为……比如,SRE 说基础设施问题始终是软件问题。 所以...让我们以开发人员为例——从开发人员是工程师的角度来看——把他们放在维护部门,他们会像解决业务问题一样借助代码来解决这些问题,借助代码来解决这些问题。工程本身。

Azat Khadiev:从这个角度来看......如何采访这样的工程师?

帕维尔·塞利瓦诺夫:哦,好问题。 他这辈子恐怕已经超出了我的理解范围。 但我只想举个例子。 和面试没有任何关系。 这是关于我们俄罗斯的教育体系。 在IT方面,我们知道我们俄罗斯的教育体系对于IT世界来说是非常过时的,它不应该是这样的。 我谈论的是幅员辽阔的俄罗斯的平均情况——以及那里正在发生的事情。 即将毕业的人们绝对没有准备好在毕业后的第二天进入网络开发或技术公司。 这有点糟糕。 我们教他们一些奇怪的东西,尽管我们应该教他们如何开发 Android、iOS、如何使用 Git 以及所有这些东西。 事实上,似乎并非如此。 大学时期是父母为你支付大部分费用的时期。 为了你的一生。 你可以花五年的时间来深入研究。 并研究所有这些T形。 当你可以在研究所学习什么是版本控制系统,有哪些开发模式,如何测试整个系统,有哪些类型的数据库和平衡器。 当你去工作时,你开始更深入地研究某个特定领域。 这就是我们招募工程师的方式。 我们俄罗斯的教育体系比我们想象的更接近这个真理。 我们接受了良好的数学训练,我们接受了良好的算法训练,我们对编程语言有了一定的了解。 关于这次采访,我觉得与此很接近。 我们需要采访工程师。 我们需要T形的顶部。 因为它将获取字母T的垂直线。

阿扎特·哈迪耶夫:是的,有趣。 大学毕业五年后,我觉得我所受的教育有些奇怪和不足。 然后,随着工作的进展,当任务变得更深、项目变得更大时,我意识到不,我被教导了非常重要的东西。 帕维尔,谢谢你。 听你们的回答非常有趣。 我们来听听您的报告。

帕维尔·塞利瓦诺夫:谢谢。

来源: habr.com

添加评论