云原生是大势所趋。没有云原生之前,CPU 平均资源利用率可能也就 10%,但上云之后,做得好的厂商能到 40%,头部厂商甚至能做到 60%,计算成本相当于有四五倍的节省。
既然成本节省效果这么显著,为什么有些企业或者企业内部的个别业务在上云前还会有各种顾虑呢?云厂商又有哪些具体的解决方案能打消用户的这些顾虑?
针对这些问题,InfoQ 记者有幸在 QCon 2021 全球软件开发大会上采访到了腾讯云容器技术总监于广游,和他聊了聊 Kubernetes、企业上云的顾虑以及腾讯云 TKE 的特点等话题。
以下是视频采访的全部内容,为方便读者查看,视频下方也附上了文字内容。
- 2.0x
- 1.5x
- 1.25x
- 1.0x
- 0.75x
- 0.5x
InfoQ:于老师您好,欢迎您参加 QCon 并接受我们的采访,请您先自我介绍一下吧。
于广游:好的,我是 2014 年就加入腾讯的,一直在腾讯工作。一开始是做虚拟化存储,2017 年开始做容器,从那会儿到现在主要做了两件事情,一个是腾讯的容器服务从 0 到 1 的建设,一个是腾讯内部业务的全面上云。
InfoQ:关于云原生的概念,网上有很多解释,我听过一个解释说“云”指的是应用程序就在云中,而不是传统的数据中心里面。“原生”表示应用程序从设计的一开始就考虑到云的环境,原生就是为云而设计的,您觉得这种说法准确吗?您是怎么理解云原生的?
于广游:我觉得这个说法准确是准确,但是没有指导意义。什么意思呢?比如当我们说一个笔是干什么用的,我说我有一个笔,是专门为 iPad 设计的,那它代表了什么呢?听众从这里得不到任何有效信息。至于我是怎么理解云原生的,我认为云原生可以从它的目的,它的组成和它的特质来说起。
云原生的目的非常简单,就是让企业最大化地降低成本和提升效率。但它更强调的是在云的环境中应用新的技术,来提高效率和降低成本。所以它会有一系列的技术组合,那它由什么组合而成呢?就是微服务技术、服务网格(Service Mesh)等等。刚才说的这些就是它的目的以及它的组成。
另外,我觉得最关键的一个点,大家聊得不是特别多。那就是云原生的特质是什么?我觉得云原生的特质一定是开源、开放、中立的,天生就是多云的。很多企业内部会说自己是云原生的,但是它自己所谓的云原生,可能是自己全部造了这样的一套东西。但是云原生在一开始就强调你应当是开源的、中立的、多云的、无绑定的。我觉得这个是它非常关键的一个特质。
InfoQ:还有一种观点说Kubernetes是下一代的操作系统,你怎么看待这个观点呢?怎么理解这里提到的操作系统这个词?
于广游:我觉得这个理解是非常贴切的。操作系统是干什么用的?它是一个程序,对硬件进行抽象和封装,那开发者用它的时候就非常简单了。CPU 是独占的,内存是平坦的,硬件直接去读 I/O 就行了。
Kubernetes 也是干这样的事情,没有 Kubernetes 之前,我们对云资源的操纵,都是要管云主机、云硬盘。Kubernetes 出现之后,其实把这一层也进行了抹平。
而且从技术发展趋势上几乎也是一致的。在没有操作系统之前,开发者需要在一台裸机上对内存、硬件进行各种各样的调度。在没有 Kubernetes 之前也是这样的,操作系统从一开始只支持服务器,慢慢开始延伸到支持客户端,支持各种各样的设备,Kubernetes 也是在进行这样的延伸。
操作系统里面,支持各种各样的插件,支持各种各样的运行场景,Kubernetes 也在这样做,所以把它比喻成新的操作系统,或者是云原生操作系统,我觉得是非常非常贴切的。
InfoQ:您能给大家简单介绍一下腾讯云的TKE吗?它适合什么样的业务场景,又有什么优势呢?
于广游:TKE 就是一个前面提到的 Kubernetes 的托管服务。简单来说,一个企业要做云原生,首先要有 Kubernetes 集群,在 Kubernetes 集群之上,再提供一个 PaaS 平台,在 PaaS 平台之上,要进行业务容器化,那 TKE 解决的就是最下面这一层问题,让你能够非常轻松地构建自己的 PaaS 平台。
它有什么样的特点呢?我总结了灵活、硬核、开源三个词。“灵活”是怎么说呢?因为 TKE 在内外部用的时候,特别是内部,我们支撑了金融、游戏等等非常多样化的业务,这就保证了 TKE 的功能是非常灵活的,支持非常多的不同网络模式,支持各种各样的环境,用户基本能在上面获取自己想要的任何功能,如果不满足也可自行二次定制。
“硬核”是说在这个过程中,我们打造出了非常多的能力。比如说有对资源的全面 QoS 的能力,比如说 CPU、内存方面的 QoS。
“开源”是什么呢?我们前面提到云原生的特质就是开源,开发了一个这样的产品,结果你非要把用户绑定起来肯定是不行的,那 TKE 就是践行了一个开源和开放的策略,我们有一个开源的工程叫 TKEStack,我们把 TKE 中打磨的 Kubernetes 版本,也就是 TKE 发行版,在社区进行公布。
大概就是这三个特点。
InfoQ:在 TKE 上构建业务,是不是要求应用必须是云原生的呢?
于广游:可以不是云原生,但是你的收益没有那么大。因为业务上 Kubernetes 或者说上 TKE 的过程中,是有大量的历史包袱和中间态的,你的业务可能都已经没有人维护了。那这种情况下,我们开发了一系列比如原地重启、固定 IP、指定更新等等大量的特性去兼容这种非云原生的业务。
但是在你不云原生的情况下,你的弹性、容错各方面其实收益都是没有那么好的。无论如何,你不云原生也可以上 TKE,但收益相对就小一点。
InfoQ:在腾讯自研业务全面上云的过程中,主要挑战有哪些呢?你们是怎么解决的?
于广游:我觉得主要挑战有三个方面组成。
第一个就是到底要不要云原生,其实也没有这么大的话题,说白了就是到底要不要用 Kubernetes。
因为在 2018 年之前,腾讯内部每一个事业群都有自己自研的调度平台。所以大家花了大量时间讨论未来要基于什么样的技术栈,公司要基于什么样的技术栈,这其实花了非常大的精力。最终就决定全面上云原生,全面上 TKE,这是第一个困难点,一般情况下,这一步就需要自上而下进行推动。
第二个点,就是前面我提到的,公司内部要上公有云,但 IDC 里还有存量设备,又有金融、游戏业务,有非常多的业务,这些不同的业务上 TKE 的时候,需求是不一致的。怎么解决这个问题是非常大的难点。我们也给出了一些方案,最下面用 TKE,中间开源协同,最上面各自定制,取了这样一种中间态。
第三个就是真正开始去上云的过程中,会有一个阵痛,比如说稳定性,或者业务方觉得收益反倒没有那么高等等这一系列的问题。这就需要业务团队和技术团队进行大量的配合,在内部进行大量的宣传、讨论、实践,这其实是非常困难的。
InfoQ:云原生对于企业来说,在节省成本方面,能达到什么样的效果呢?
于广游:我感觉从云原生的目的就能看到。云原生的目的就是为了让企业能够利用云的能力最大化地降本增效,云原生确实能够给业务节省非常多的成本。比如说,业务在没有容器化改造之前,没有上 Kubernetes 之前,没有云原生之前,CPU 平均资源利用率可能也就 10%,但你容器化之后,做得好的能到 40%,头部厂商甚至能做到 60%,计算成本相当于有四五倍的节省。
但是,反过来说,我们调研的时候发现大多数企业的云原生实际上给他们带来的成本收益没有那么多,原因就是前面提到的,没有进行云原生化的改造就去上容器,就去上 Kubernetes,所以获得的收益就小很多。我们也有一系列的产品和服务,告诉大家怎么用好云原生,怎么用好 Kubernetes,怎么去降本。
InfoQ:企业在决定是否上云的过程中,犹豫的点主要有哪些?你们又怎么去帮助他们打消这些疑虑呢?
于广游:大家的主要疑虑主要是还是投入、产出、绑定这些方面,当然也有一些技术团队会有我自己会不会被替代这样的焦虑,基本上大家的疑虑就是这四部分。
先说投入和产出的这一块。一部分是行业,一部分是客户,大家对云原生的认知有提升,这一块的顾虑也就越来越小了,大家知道云原生能够获得非常好的收益。另一方面,我们提供了非常多的上云的服务,容器化改造方面的服务,也包括一些专家咨询来降低用户的投入的成本。前面提到我们还有一系列降本的能力,能提高他的收益,最终让他成本投入低,收益比较高。
至于后两个点,一个是比较高层次的顾虑,一个是一线同学的顾虑。一个是上云会不会绑定、上 TKE 会不会绑定。第二个是上 TKE,会不会说我团队的技术实力就消失了。前面提到,云原生的特质就是开放、中立和多云的,所以你上云原生,可以让你更加不会被绑定,这其实是从公司内部的封闭体系接入了新的开放体系,你的企业发展是会更好的。
至于最后一个点,也就是具体的执行人员会觉得我是不是可能被替代掉。其实我们前面也提到了,我们定位是帮用户更好地构建自己的 PaaS 平台,不是帮用户解决所有的问题,我们要解决用户云原生过程中他们比较困难的问题。实际上我们是他的服务者,而不是替代者。我们也提到 TKE 非常灵活,大部分都是开源的,我们和很多客户进行了技术共建。
这里说的这四个点,应该是能打消大家的顾虑。
InfoQ:您刚才提到技术团队比较担忧自己被替代的问题,那随着云原生产品与技术的发展,企业对传统运维人员有什么新的要求呢?
于广游:我觉得这个替代,应该分成两个层级来说,一个是上云原生,上容器。我不能自建了,技术实力会不会被替代,大家都自动化了,运维该怎么去看这个事情。
我是这样想的,就是从历史上看,任何一次科技进步,都是通过高效的手段来去替代一些低效的手工的过程。比如工业和手工业的区别,云跟自建的区别。云原生相比于传统运维,就是这样的一个改变,这个趋势是不可逆转的。
正是因为不可逆转,这个趋势中就有非常多的机会,比如说一个传统的运维,你主动去转型,在公司内部推广云原生,那云原生在公司的本地化落地会有非常多的问题,你能不能去做这样的本地化。正是因为这个东西在发展的过程中,所以是有非常多的技术红利的,如果你去抓住它,你会成为这样的一个弄潮儿。
第二个点,技术成长上会不会有问题。在没有云原生之前,很多企业会自研自己的调度系统,自研内部的系统,很多企业甚至会自己开发。事实上,有云原生之后,确实会对自建产生一些冲击,但是回到刚才说的,你是把一个公司的技术体系从一个封闭的循环接入这样一个开放的大的循环,大家可以做的事情是更多了,而不是更少了。我们可以更精确地去追求效率,而不是反复去做从 0 到 1 的追踪,这个对技术人员的提升是非常棒的。
在这个过程中,希望所有的技术人员,不光是研发、运维,就像之前 Linux 普及我们要学习 Linux,现在 Kubernetes 普及我们要去学习 Kubernetes 一样,大家也要抓住这个浪潮,成为这个浪潮中的弄潮儿。
InfoQ:好的,谢谢于老师。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论