小米崔宝秋:云原生与大数据、AIoT、开源的碰撞之路

田玮靖
在云原生、大数据、人工智能以及开源领域均有实践经验的崔宝秋认为,类似于云原生+大数据这样技术的“强强联合”将成为云原生时代的发展趋势,运维和基础软件开发者、服务端和前端开发者所关注的技术点各有不同。

谈及当下技术领域的热词,必定有云原生、大数据、AIoT,不仅因为这些新兴技术拥有前所未有的创造力,更是因其中每一项技术都代表诸多未知的可能。而当这些技术相互碰撞时,将为软件发展、技术进步、城市升级带来无限想象。在云原生、大数据、人工智能以及开源领域均有实践经验的崔宝秋认为,类似于云原生+大数据这样技术的“强强联合”将成为云原生时代的发展趋势,运维和基础软件开发者、服务端和前端开发者所关注的技术点各有不同。

提到小米集团,我们脱口而出的大多是“雷军”;而提到小米+开源,很多人第一时间会想到小米集团副总裁崔宝秋。崔宝秋不仅身体力行地推动开源发展,更引领了小米的“云计算-大数据-人工智能技术”发展路线。2012年以首席架构师的身份加入小米的崔宝秋,当时主要负责米聊的后台服务器团队。在他看来,这家公司和他熟悉的硅谷互联网科技公司有所不同,缺少了非常重要的集团层面的工程技术部和运维部。于是,他毅然决定基于米聊服务器团队打造小米云平台。“用云平台这个名字主要有两个考虑:一是这个团队必须是为整个集团服务的底层平台部门,不只是服务米聊业务;二是体现了‘云’的重要性,从云存储到云计算,云是各种互联网服务和大数据应用的基础。这和今天人们讲的云原生有不谋而合之处。”崔宝秋说道。

2345截图20211028093243.png

小米集团副总裁崔宝秋

确实,“云”的重要性逐渐被大众熟知。这体现在云原生与智能硬件的结合,为产品增添智能服务,为用户提供贴心体验;体现在云原生与人工智能(Artificial Intelligence,AI)的结合,通过人工智能一方面解决云原生领域的决策和优化问题,另一方面能够使产品更具人工智能服务能力;也体现在云原生与大数据的结合,大数据是云原生治理整个数字化转型生态的一个重要方向;更体现在“云”与开源互利协作所带来的软件、云环境、开源生态的大发展。

那么,云原生与大数据、人工智能、硬件、开源能够碰撞出怎样的火花?小米集团副总裁崔宝秋向《新程序员》透漏了很多信息,也分享了诸多个人观点与行业洞察。

互联网技术离不开“云”

《新程序员》:2021年的工作中,你的精力是如何分配的?

崔宝秋:2021年主要在忙小米内部的人才培训、技术合作、开源、安全和隐私等方面的工作。在培训方面,从专业力、通识力,到领导力,我们要覆盖小米几乎所有的员工。在专业力领域,因为小米的技术体系非常庞大,所以有很多压力。整体来看,小米同学们对云计算、大数据、人工智能方面的需求比较多。

《新程序员》:在加入小米组建人工智能与云平台团队时,云计算、大数据等技术还不是特别成熟,是什么因素让你认定并主导了小米“云计算-大数据-人工智能技术”这条发展路线?

崔宝秋:我加入小米之前,先后在硅谷的Yahoo和LinkedIn从事搜索引擎与大数据方面的工作。这两段工作经历让我对云计算和大数据有了非常深的认识,尤其是大数据。来到小米后,我坚信大数据能给小米带来无穷的价值,所以刚到小米我就开始力推大数据和数据科学,并到处倡导数据驱动和数据科学家的理念。可以说,我当时的终极目标是做大数据,没有考虑人工智能(那是2012年,深度学习刚刚开始有些热度,人工智能真正火起来是在4年之后的2016年)。而大数据离不开云,所以就必须从云计算开始,必须打造云平台团队。2016年AlphaGo事件之后,以深度学习和大数据为基础的新一代人工智能技术才被行业高度认同,小米也紧跟时代步伐,制定了“All in AI”的战略,开始组建小米AI实验室,大力投入人工智能,小米云平台团队也因此改名为“小米人工智能与云平台”团队,才有了现在看起来比较完整的“云计算-大数据-人工智能”技术发展路线。

《新程序员》:在中国移动互联网的黄金时期,为什么你认为云平台是移动互联网公司必须拥有的互联网属性?

崔宝秋:在回答这个问题之前,我们需要先明确另一个问题:互联网公司是什么?我认为,互联网公司就是利用互联网技术,在互联网平台上做内容与服务的分发并从中获利的公司。移动互联网就是今天的互联网,互联网技术离不开云,不管是云计算、大数据,还是人工智能。一个移动互联网公司要做内容与服务的分发,离不开应用与互联网服务,同样离不开云,离不开云端的服务器。

云原生将向大数据方向发展

《新程序员》:很多人知道“云原生”,但究竟什么是“云原生”,业界有诸多定义且一直在变化,你理解的云原生是怎样的?

崔宝秋:云原生是最近几年比较火的概念,不同的人可能有不同的解读。我理解的云原生是一种基于云计算的灵活性、可扩展性和弹性来构建并运行软件应用程序的理念和方法论。在云原生的理念中,所有应用在设计阶段就应该考虑如何在云计算的环境下以最佳的方式运行,以发挥云计算的弹性、高容错、自恢复和按需使用等优势。云原生的方法论中往往覆盖了微服务、容器、CI/CD、敏捷开发、DevOps等现代的软件开发技术和理念。

《新程序员》:云原生目前有哪些技术瓶颈和落地痛点?

崔宝秋:一个大型企业落地云原生有两大类挑战:一类是容器、编排等硬核技术,另一类是企业服务治理的治理类技术。第一类挑战属于硬核技术,这几年的发展沉淀了一些成熟的基本能力,但随着云原生在更广泛领域的应用,我们也面临着新的挑战,例如如何能更安全、启动更快、软硬一体等。第二类挑战属于技术管理的挑战,是技术、业务、组织之间整体协同的复杂问题,包括新旧技术团队的划分、存量业务的治理改造等。

《新程序员》:云原生最核心的就是面向用户的应用部署,如何稳定、快速地在云上部署一套全生命周期的应用?

崔宝秋:云原生技术在业务侧的结果就是改善应用部署,从这个角度看,以应用、服务为核心关注点就是非常自然的了。为达到这个目标,一般有两条思路,一条是强化基础服务即代码思路,让程序员通过“程序”定义、管理全生命周期;另一条是产品易用化思路,降低产品使用门槛,尽量封装抽象过程中的安全、质量细节,让人人都能部署高质量应用。前者更适合专业程序员,后者面向更广泛的用户,目前业界有从第一种方式向第二种方式侧重的倾向,这也符合技术发展的趋势。

《新程序员》:企业在构建云原生应用时,怎么才能最大程度发挥云原生的特性?

崔宝秋:云原生的推动焦点不是像虚拟化生态那样从基础设施开始自下而上推动变革,而是要求聚焦业务应用,从上而下拆解相关核心能力并落地。中大型的互联网企业,还是要基于业务对云原生的需求敏捷构建自有的云原生应用和服务平台,通过不断积累相关技术能力和组织能力,推动增量业务的使用和存量业务的迁移,在计算存储分离的基础上尽量实现资源池化,才能最大程度发挥云原生相关特性。

《新程序员》:有人认为云原生将会向大数据方向发展,对此你有何看法?对于这个方向,你预测会有哪些实际的落地场景和应用?

崔宝秋:我比较认同这个看法,一部分原因是大数据在未来各个领域的重要性会日益明显,越来越多的应用会离不开大数据,离不开依托于大数据的人工智能。传统的基于Hadoop生态的大数据系统,存在着弹性不足、维护困难、资源利用率低等一系列问题,因此云原生的某些技术也适合治理大数据生态。例如,在线和离线计算集群的部署可以通过容器化治理实现削峰填谷,进而大量提升资源使用率;云原生应用对有状态服务的强需求会推动基于高性能分布式存储技术的飞速演进;容器的镜像技术能大大加速大数据基础软件和系统的迭代更新频率,确保整体环境的最终一致性等。可以说,大数据方向是云原生治理整个数字化转型生态的一个重要方向。

《新程序员》:你认为未来云原生技术会向哪些方向发展?开发者可以关注哪些方面?

崔宝秋:从小米的角度,我们认为云原生有以下几个发展方向。

其一,容器周边技术的核心突破,包括计算存储分离、资源隔离、混合部署、软硬件结合、安全技术等,解决容器承载有状态应用以及提升资源利用率一系列问题。

其二,非Java生态的微服务开发框架。目前微服务体系最完善的是Java技术栈,其他主流研发语言还需要有更加成熟、民主化的方案来普遍应用。

其三,在数字化转型的大背景下,传统架构向微服务架构迁移的工具和解决方案,以及当前主流的低代码等新技术与云原生的结合。

其四,业务逻辑和基础服务极致分离。云原生的不可变基础设施偏IaaS层面,未来PaaS和SaaS层面也会有大量的无状态服务逐渐孵化和发展,目前典型的例子就是Serverless的大面积使用。

运维和基础软件开发者可以关注第一点和第四点,服务端和前端开发者可能更需要关注第二点和第三点。

云原生与AIoT密不可分

《新程序员》:小米集团是从什么时候开始布局云原生的?目前在云原生方向做了哪些事情?

崔宝秋:早在2015年我就让团队开始研究容器和微服务,之后很快就开始在一些场景中落地这些技术。有很长一段时间,集团内部同时布局Mesos和Kubernetes,早期的Mesos比较成熟,但我一直更看好当时不太成熟的Kubernetes,现在看来当时的判断是对的。

基于这些云原生技术,我们在降低了研发和运维的工作量的同时能支撑业务的高速发展。目前我们在公司范围内扩大这些技术的应用,在原有研发、运维效率带来的价值被提升之外,我们也更加注重资源效率的改善,通过云原生技术为业务带来实质性的成本降低。

这个过程中,我们要解决云原生技术研发以及企业架构治理这两类挑战。云原生技术研发包括业务间的混布、利用公有云资源进行弹性伸缩等;企业架构治理包括推进存量服务的服务化治理与改造、规范研发流程、精细化治理资源成本等。

《新程序员》:小米机器学习平台基于Kubernetes构建,而Kubernetes概念多且复杂,你们在开发过程中有没有遇到技术难题或者典型问题?另外在使用Kubernetes时,有哪些建议可以给到其他企业?

崔宝秋:小米在2016年开始根据内部机器学习和深度学习需求,基于Kubernetes构建小米的深度学习服务。开发者可以在云端使用GPU训练模型,秒级启动分布式训练任务,兼容TensorFlow等深度学习框架,也可以一键部署训练好的模型,或者创建基于GPU的开发环境,提供模型开发、训练、调优、测试、部署和预测一站式解决方案。

因为CPU机器普遍比较贵,遇到核心问题如何加速深度学习训练及提升GPU集群资源利用率?我们主要使用RDMA网络提升、训练网络性能,在Kubernetes调度框架的基础上实现机器学习场景的调度器,支持更加灵活的GPU调度策略和资源抢占,训练任务支持公有云弹性等,有效提升GPU集群的资源利用率。

云原生生态已经日趋成熟,CNCF社区也已包含基础设施的项目,建议新的企业更加积极拥抱云原生和Kubernetes,加入云原生生态,利用生态红利,站在巨人肩膀上构建自己的业务。

《新程序员》:小米的硬件产品有很多,硬件+云原生技术是否会列入小米集团下一步的发展计划中,计划做哪些事情?

崔宝秋:“硬件+云原生”技术早已是小米集团的一部分。众所周知,“手机×AIoT”是小米的核心战略,这里面不管是手机还是任何AIoT设备,都是智能硬件、智能设备,而智能设备的一大特点就是互联互通,并利用云计算、大数据和人工智能给用户提供各种智能服务。所以,小米硬件和云原生技术一直是密不可分的,这也一直是小米技术发展的方向。

《新程序员》:未来,人工智能与云原生会碰撞出怎样的火花?

崔宝秋:一方面,人工智能可以解决云原生领域的决策和优化问题。例如,AIOps技术就用于解决运维的决策问题。这背后是由于容器、微服务等一系列应用构建流程的标准化,会产生大量结构化数据,有了数据就可以通过人工智能实现智能决策和自动化执行,提升系统效率和可靠性。另一方面,云原生技术也能让人工智能服务变得唾手可得。通过将人工智能的能力基于云封装成服务,可以让更多软件引用丰富的人工智能服务的能力,提升软件产品的用户体验。

云原生与开源互利协作

《新程序员》:你一直在推动开源的发展,请用几个词简单概括你对开源的认识或态度?

崔宝秋:开放、共享、共建、未来、平台、模式、竞争力。

《新程序员》:面对不断更迭的技术市场,你认为开源的核心竞争力是什么?

崔宝秋:互联网的力量,群体和社区的力量。

《新程序员》:可以谈谈开源和云原生的关系吗?

崔宝秋:开源起源于早年的自由软件运动,没有自由软件运动,就没有GNU,就没有GNU/Linux,就没有今天的开源。不夸张地讲,没有自由软件和开源软件,就没有今天的云计算、大数据和人工智能技术的快速成熟,也就没有今天人们谈论的云原生。经过这些年的发展,开源已经成为了主流的软件开发协作模式。在云原生技术领域,CNCF开源基金会对云原生的发展起到了非常大的促进作用。相信未来开源模式会继续促进云原生技术持续发展。

《新程序员》:有人说开源是云原生环境的首选或未来,你怎么看?原因是什么?

崔宝秋:我高度认同这个说法,因为我相信开源是软件的未来。近些年出现了很多采用开源模式的商业公司,借助云的环境与生态快速发展成大型软件企业,获得了商业上的成功。于是也自然有更多公司复制这种模式,开源和云的结合是一种趋势。

在这背后,是开源软件厂商和云厂商积极地拥抱彼此的优势,相互促进发展。开源模式为云厂商带来了跨厂商的标准化,消除了用户对单一厂商绑定的顾虑;而云厂商的云原生环境也为开源软件带来了优秀的底层基础设施,让软件的部署发布变得更容易、规模更大。这种互利的协作,相信还会持续,会给业界带来更大的变化。

《新程序员》:未来所有的软件都会走向开源吗?你如何看待国内许多开源项目的不可持续性?

崔宝秋:我相信开源是软件的未来,但这不等于所有的软件都一定会开源,我认为通用的、有一定普世价值的软件,尤其是那些具有长期价值、需要长期投入、大量参与者一起打造的软件需要开源。国内很多开源项目不可持续,第一个原因是这些项目开源的初心就不对,有很多项目是为了开源而开源、为了KPI而开源,没有长期和社区共建的必要性,原作者可能也根本没有这方面的打算。第二个原因较普遍,是项目背后的作者或者企业没有长期投入的资源和决心。第三个原因就是很多人对如何维护一个开源项目、如何打造一个活跃的开源社区没有足够经验。

《新程序员》:目前,国内云原生开源社区的成熟度与参与度还不足够,你有什么想对开发者、企业、开源社区说的吗?

崔宝秋:首先,我比较乐观,我认为我国的开源力量在迅速崛起,开源运动在国内如火如荼,我们的云原生社区的成熟度和参与度会越来越好。其次,我给开发者、企业和开源社区的一些建议是:建议大家都能真正理解开源的精神、理念和方法论,真正做到开放、平等、共享、共建,真正形成合力,共同打造属于我们所有人的开源社区,少一些为开源而开源、为KPI而开源、纯为技术品牌或者影响力而开源的现象。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论