“云原生降本增效大咖说” 由企业网D1Net与腾讯云联合策划出品
由于DevOps具有变革性,可以加快企业的数字化转型进程,因此多数大型企业都在做 DevOps,但是只有少数企业获得了期望中的业务价值。借助DevOps,各团队可以快速的反馈循环并进行更加紧密的协作,它使 IT 能够更接近业务和客户,从而缩短从构思到实现想法的整个过程。
但是,对许多企业而言,DevOps 的旅程可能不是一帆风顺的。蒙牛数字科创部产品经理刘维刚在接受企业网D1Net采访时提到,他在将近两年的时间里组建了蒙牛的开发团队和新的产品经理团队,但在应用DevOps的过程中也走了一些弯路,经历了一个痛并快乐的过程,如今这些痛点有些已经解决,有些尚在尝试解决的过程中。
以下是企业网D1Net对蒙牛DevOps应用实践采访内容的整理报道。
蒙牛数字科创部产品经理 刘维刚
企业网D1Net:首先请您做一下自我介绍,也介绍一下蒙牛的数字科创部。
刘维刚:我到蒙牛将近两年时间,之前一直在互联网行业从事偏开发的工作。来蒙牛之后,我负责搭建了蒙牛自己的开发团队和新的产品经理团队,现在担任开发团队和产品经理团队的负责人。
蒙牛数字科创部的前身是信息技术部,随着部门的更名,数字科创部的职能也从IT(信息科技Information Technology)转换为DT(数据科技Data Technology),从原来的稳态组织,变成敏态组织。
企业网D1Net:蒙牛研发团队的规模是多少人?近两年研发团队规模呈现怎样的发展趋势?
刘维刚:蒙牛DT团队的规模,到今天准确的数字应该是273人,接近300人的规模。近两年,整个团队的规模正在以每年60~70人的速度不断增长,而增长背后主要的驱动因素源于蒙牛的企业战略,也就是现在正在做的“数字化转型”和“5年再创一个新蒙牛”的企业战略。
借助数字化转型,我们期望五年内蒙牛整体成为一个数智驱动的经营模式。在这一战略的指引下,我们发现除了需要做大量的IT基础工作之外,还要做一些所谓的DT的工作,也就是跟数据相关的一些工作。为此,除了搭建开发部门和产品经理部门以外,还额外组建了一个大数据部门,这个部门包括数据产品经理、数据工程师和算法工程师等等,几个团队加起来总人数是273人,接近300人的规模。
从蒙牛的企业战略到人才战略,有一个具体的目标,蒙牛希望在“2025再创一个新蒙牛”,在实现新蒙牛之时,希望这些员工也是新的蒙牛人,具备对数据的处理能力,基于数据分析的业务能力等等与工程相关的一些能力,提出了一些明确的诉求,以此为指引,我们来到了蒙牛,又引进了很多这样的人才。
企业网D1Net:蒙牛采用DevOps的驱动因素来自哪些方面?
刘维刚:蒙牛是一家非常传统的制造快销企业,我们有很多制造领域,也有很多快消品常见的经销商、渠道等分销领域,还有一部分是我们现在比较看重和正在发力的面向消费者直营的领域,我们简称为DTC。
其中,DTC部分主要由蒙牛数字科创部的DT部门,也就是我负责的团队在全面负责开发和迭代。这其实更像是一家互联网公司,我们使用我们的技能进行产品设计,帮助业务做一系列工作,这就需要有一定的交付质量和速度的保障。
那么,为了快速试错,提升用户体验,最终赢得我们消费者的认可,帮助业务人员实现他的业绩和业务价值,我们招了很多技术人员,如果没有一个统一的DevOps的管理或研发平台,我相信速度和质量都很难保障。
同时反观我们自己,我们也希望在不断吸纳新的人才之时,不用再去重复过去那种比较早期的协作方式和管理方式,期望借助DevOps能够高效、保质地让整个团队快速迈向正轨,这是我们用DevOps的核心驱动力。
企业网D1Net:蒙牛应用DevOps平台经历了怎样的过程?用到了哪些工具?
刘维刚:蒙牛应用DevOps经历了一个痛并快乐的过程。
痛在哪呢,痛主要是因为起初我们对DevOps的理解比较浅,更多的是基于源代码的线上手动部署,我们通过设置不同岗位把这个职责拆开,认为这可能是DevOps,并不是由程序员完成部署过程,而是由运维人员帮助程序员完成这个过程,我们把它称之DevOps,但是今天回过头来看,这绝对是一个很痛且吃了不少亏的过程。
痛并快乐,快乐是什么呢?快乐是我们有很好的外部参考,在了解和学习后我们发现有非常多的工具能够帮助实现我们想要的DevOps。这里面首当其冲的是采用开源的Jenkins实现流水线管理,包括代码扫描、漏洞检测、单元测试、镜像构建、打包发布等等一系列工作,最早都是在Jenkins上面实现的。有了这套Jenkins,再结合容器技术,其实我们在线上部署时,已经跑得非常顺畅了。
但是之后我们发现,我们自己维护这套Jenkins,在上面做二次开发的工作,其实也可以省掉。由于我们跟一些主流的云厂商的合作关系,我们发现云平台上的企业级代码管理平台,提供从团队的任务协同、任务管理,到代码管理,再到整个流水线作业的打包发布,与云实例、云资源的整合,包括云原生的动态伸缩技术等等,与我们现在所面临的问题和困难高度契合,所以我们又把整套To C的部分改用了云上的企业级代码管理平台,最后也带来一些不错的效果。
企业网D1Net:蒙牛在研发中遇到的痛点和诉求有哪些?采取哪些措施来改善研发效率?
刘维刚:首先,蒙牛作为一家体量非常庞大的企业,三方合作机构非常多,源代码管理是首当其冲的一大难题。
蒙牛作为一家传统的制造企业,过去对源代码的管理不够严谨,大多数的三方厂商或供应商向我们提供源代码时,都是以打包的形式做项目交付,我们很难确认我们收到的源代码和厂商在线上帮我们部署的源代码是否保持高度一致。这就面临一个风险,我们不知道在厂商的运维期结束之后,我们自己如何承接整套系统后续的运维和迭代工作,这是一大痛点。
针对这一问题,我们通过GitLab以及云厂商的代码管理工具,基于内部和外部厂商分开使用不同源代码的管理方式,要求所有三方厂商必须通过我们的源代码和我们的流水线进行发布,从而确保给到我们的源代码和线上部署的源代码之间的高度一致性。
第二个是手工发布带来的诸多问题。包括:效率偏低,容易出错,不能回滚,无法管控,不易审计,遇到问题也很难定位,排查问题的过程也非常复杂等等。今天,我们已经完全杜绝了手工发布,禁止一切线上生产环境的手工干预,这些都依赖于云厂商提供的基于代码管理平台的一整套解决方案。
第三个是资源利用率不高的问题。每个项目占用的资源是由那些三方厂商或交付单位来评估的,这些资源的占用其实相对独立,一定会有重复利用的部分,但是在资源部署的过程中,大家没有协同地去考虑这一问题,造成了一定的资源浪费。为此,我们通过容器技术,让我们的运维人员可以进行很好的资源调配,从而大幅提升了资源利用率。
第四个是缺乏统一的研发管理平台。随着我们自己开发能力的补齐,自研系统的陆续上线,我们发现:没有统一的研发管理平台,包括任务管理平台和发布平台等等一系列工具,很难提升研发效率。我们当时有一些简单的任务管理平台,但是发布要上Jenkins,然后测试、缺陷跟踪又是其他的工具或平台,我们需要在系统之间来来回回的进行切换,不但管理的成本高,效率也提不上来。而云厂商的企业级代码管理平台,帮我们解决了这一问题。
最后,是研发效能的问题。我们的整个研发效能能否被数字化?如何将研发过程清晰地以量化的方式告知我们的业务部门和高层领导?我们的整个开发团队正在以怎样的效能推进工作?这样的效能放在同行业处于怎么样的水平?如何让大家充分理解和相信我们正在用先进的方式做一些很有挑战性的工作,从而突出我们的价值?这是现在比较大的一个痛点,目前我们正在尝试解决这一问题。
企业网D1Net:您看重DevOps开发工具的哪些价值?应用DevOps对蒙牛产生了哪些影响?
刘维刚:我最看重两个方面的价值。首先,对于蒙牛而言DevOps最好的价值是它的可靠性,帮我们解决了人工部署这件事,使生产环境的可靠性和安全性得到了一定的保障。因为我们一直强调生产环境出现问题会影响我们的整个交易流程,包括后端供应链以及前端的分销体系,总之整个交易流程受到影响,将对企业的营收造成巨大影响,因此可靠性一定是我们最关注的。
其次,是效率方面的提升。使用整套DevOps工具之后,我们整个团队的效率得到了显著提升。过去,我们一周只能迭代发布1次,相当于如果我们有100个系统,那么一周只能迭代发布1/100;如今,每个系统我们至少能做到双周发布1次,同样按照100个系统来计算,两个星期就能把100个系统都发布一遍,也就是一周发布50次。当然,从一周1次到一周50次发布,不完全是由DevOps平台带来的价值,也与我们不断增加的人力资源密不可分。
企业网D1Net:蒙牛所用的云上的代码开发工具,其产品优势是什么?
刘维刚:一方面,我们在使用云资源的同时,使用云上的DevOps平台,跟它的容器等等结合的比较紧密。另一方面,支持开箱即用,没有太大的学习成本。
我们曾经对比过其他厂商,也与GitLab沟通过,但是我们发现GitLab的解决方案更擅长源代码这一侧,而我们更希望我们的团队能够专注于帮助业务解决实际的业务问题,我们希望得到端到端的整套解决方案,从最开始的需求管理,一直到最后的交付和发布,这是我们选择云上的DevOps平台的初衷。
企业网D1Net:对于DevOps,蒙牛还有哪些希望改进和完善的内容或空间?
刘维刚:我们希望DevOps工具能够更智能,使运维人员得以解放,实现智能运维。其实我更希望运维人员能够帮我们做合理的资源规划,而不是每天盯着这些线上的资源,做一些琐碎的工作。我们希望整套DevOps工具可以结合我们以往在数据和操作方面的沉淀,能在未来智能地帮我们解决一些重复出现或比较常见的同类型的问题,而不是单纯依赖我们的运维人员。
企业网D1Net:您是否认可“DevOps或敏捷开发是推进数字化转型的内生有力工具”这一观点?您觉得应用DevOps将对蒙牛的数字化转型带来哪些助力?
刘维刚:首先,我认可这一观点。其次,我认为DevOps解决了一个最大的问题,就是让专业的人去做专业的事。过去没用DevOps时,我们从需求到开发、再到上线发布的全流程全环节,其实业务、开发和运维大家是强耦合在一起的,为了保证每一步都能够顺利完成,大家要不断的去检查和校验,浪费了很多时间,不但整体效率难以提升,而且成本也很高。
自从有了DevOps之后,开发人员能够专注于通过自己的专业技术能力与合理的架构设计,提升效率并简化代码量;产品人员能够专注于自己的产品设计和业务满足度等方面;运维人员也被彻底解放出来,他们专注于整套DevOps工具的顺利执行和完成。
DevOps其实让大家充分解耦,不需要跳出自己本岗位的工作,去额外关注上下游的事情,而是专注于自己的专业方向,然后依靠流程和工具把大家拉在每一条项目线上,我觉得这是DevOps给我们带来的本质上的变化,让我们整个团队的效率,尤其是专业效率得以大幅提升。这也是我们能从一周发布1次提升至大几十次的原因,相当于变相的放大了技术红利,让我们的技术价值在蒙牛这样一家传统企业得以充分释放,让交付速度得以大幅提升。
版权声明:转载需在文章开头注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。