导语 | 在云原生时代,研发效能治理面临新的挑战,同时也获得了新的视角。如何更好地利用云原生技术的优势,从而在根本上提升研发效能,已成为许多企业数字化转型过程中的“必答题”。今天,我们特别邀请了 Thoughtworks 创新技术总经理、腾讯云 TVP 肖然老师,他将为我们解读研发云原生的效能“奇点”。
作者简介
肖然,腾讯云 TVP,Thoughtworks 全球数字化转型专家,中关村智联创新联盟副秘书长,董事会科技顾问。 在过去 10 年时间里,带队先后为金融、保险、通信、物流、零售等核心产业的头部企业提供了长期的从战略执行到组织运营各个方面的咨询服务,以务实的工作作风得到了行业内的广泛认可,也成为了中行、招行、华为等头部企业的高管参谋,为企业的长期发展出谋划策。 在数字化转型及创新领域,是《深入核心的敏捷开发》、《代码管理核心技术及实践》、《人件》、《增强人类》等多本著作的作者及译者,《财新》和《数字银行》专栏作者,也是 Open ROADS 全球数字化转型社区咨询委员会(advisory board)成员,作为演讲嘉宾长期活跃于全球金融、通信、智造等领域的主流论坛。
一、大研发时代的数字化挑战
众所周知,在早期,亚马逊总结了四到五种上云方式,其中最后一项是“可以选择不上云”。且他们认为,最简单的是将应用程序部署到云服务中的方式是将其视为虚拟机服务。在我看来,云原生是指充分利用云的弹性,更快地响应业务需求,从而提高业务反应效率。
当前业界对“奇点”的讨论持续升温,由于大型模型的出现,下一代的编程方式和程序设计方式将发生颠覆性的变化,由此一些人推断未来程序员将变得不再重要,甚至应该退出历史舞台。但是,无论任何工具、流程或管理方法如何演进,它们仍是为了服务于知识工作者和管理知识工作而存在。因此,在追求进步的过程中,我们不能违背初心。
在当前互联网技术快速发展的大环境下,大型语言模型在许多领域得到了广泛应用,但它们主要专注于特定任务的处理。当我们面对如此规模的研发组织,有效的效能管理便显得尤为关键。在探讨如何实现效能管理之前,我们需要先了解云原生技术所带来的挑战与机遇。在我看来,面临的挑战主要有以下四个方面:
- 研发成本正在飞速上升;
- 人才招聘和保留的挑战;
- 竞争性和价值实现时间方面存在难度;
- 可预测性方面没有做好规划。
在云原生方面,腾讯云提供了一条高速公路,不仅使得运行速度从原来的 60 英里每小时提升到 100 英里每小时,也让老旧的汽车可以实现同样的速度。然而,老旧的汽车可能需要改变很多东西才能适应这条高速公路。很多企业的现有 ERP 系统无法进行频繁发布,这可能导致生产故障和中断,但是在用户侧的应用程序可以每天更新,且需要频繁发布更新。因此,考虑到业务需求,大型企业需要正视其不同的研发模式,而云原生正与此相关。
二、研发云原生综合治理体系和持续治理机制
研发云原生是一项综合治理工程,我们需要从研发团队、开发者、工具平台等各个方向去打造。具体而言,我们需要把握云原生时代管理的六大支柱:价值驱动、融合协作、分布自治、快速响应、质量内建、持续改善。
鉴于许多企业已经运营多年,改革无疑是一个漫长的旅程,不可能一蹴而就,立即就转变成云原生公司。以一家保险公司为例,他们核心的核保系统进行了五年的改造,在此过程中才真正用上了上云的弹性资源池。虽然这个过程很慢,但从持续发展的角度来看,这是必须的。这就像在行驶中逐渐替换轮胎,而不是在一年内进行大规模的并行开发和迁移。许多业务系统不允许这样做,所以我们需要将一过程视作长旅程,而不是继续保持线性的项目思维。云原生不是一蹴而就的,我们需要持渐进地实现转型。
由于研发云原生工程过程域中的实践是一个相当复杂的过程,只有真的具备了一个快速响应市场变化需求的弹性机制后,才能保障业务的成功,因此,我们希望业务人员能够充分理解该如何使用这个机制。
我们必须清楚地看到这个冰山下面有很多难以想象的东西,因此我们需要在产品和规划方面的共同配合,否则就无法发挥云原生的真正力量。此外,这个时代里,我们应该尽量避免提供所谓的最佳实践,因为并不是所有的最佳实践都适用于个性化的团队和业务开展。
三、研发云原生的提效抓手
尽管研发云原生面临的挑战重重,但是在云原生转型过程中仍有不少值得把握的机会。一是架构上必须狠下工夫,云原生不是让大家把现有的东西直接搬到云容器里面去,这称之为上云而非云原生。二是团队一定要以价值为导向,未来的团队会更小,但一定要保证价值导向,否则就容易出现问题。三是在工程实施上一定要提降本增效。要想真正走进云原生,降本增效也是不可或缺的,这对企业来说就是真金白银。数字化带来的红利正成为我们行业逐渐兴起的趋势,企业也正在将其数字化系统和软件系统进行资产化,我们已经看到一些企业将自己的平台列入资产表中,而不是计入成本中。
就架构而言,很多企业认为,一旦应用在云上运行,就能称之为云原生架构。然而,他们往往无法回答为什么选择云原生架构。我们采用 K8s 来构建,应用了丰富的指标监控,包括关键指标和企业指标,这仅仅是实现了上云,而非云原生,云原生需要从一开始就按照云规则来工作,所以我们必须在架构方面投入足够的精力。
其次,当前云正变得越来越多元化。网格技术和监控技术在今年备受关注,Sidecar 则可以用容器的方式实现。不同的模式适用于不同的业务场景,因此你应该考虑业务目的和架构设计的。在使用池化资源时,你需要考虑弹性伸缩在哪些方面,例如多个区域、峰值和去峰等。开发团队往往没有真正意识到云带来的顶层结构变化而容易忽略这一点。
再者,虽然 REST 发展至今已经强大,但大多数人都认为你过于复杂。在国际上,甚至很少企业能在第三层和第四层之间实现 REST。实际上,我们目前所谓的 API 只是无为的接口,仅仅用于传输数据和字段。当要想变更一项小字段时,上下游系统都必须全部重新调整,现在我们需要做的是将行为封装成声明式或命令式的 API。这虽然更加困难,但我们必须去做。如果你不立即行动,在云原生浪潮中,你的系统和应用可能会被淘汰。
而在团队的问题上,团队领导需要将团队分类,并明确团队之间的沟通结构。传统意义而言,只有直接创造业务价值的团队才具有价值,但实际上,如果其他应用团队使用你的平台并感到满意,他们生成的价值也属于你。因此,明确团队的位置和沟通结构非常关键。虽然许多人认为敏捷方法会导致会议变多,但我们需要思考开会的必要性。
此外,工程问题其实主要包含混沌工程和云成本治理两部分,首先是混沌工程,它是一种提高技术架构弹性能力的复杂技术手段。随着以大模型为代表的人工智能技术的发展,混沌工程可能成为一项低成本和易获取的能力。我们目前驾驭分布式系统最大的问题是预测哪里会出错,以及预测未来使用场景。
另一个问题是云成本治理,这无疑需要依靠如腾讯等龙头企业的努力引领来解决。为了实现降本增效,我们需要进行跨部门合作。降低成本不仅仅是技术问题,还需要财务部门的配合,云厂商也需要合理利用计算能力。随着近期出现的新趋势——通过代码完成所需算力的计算并将其转化为需要的电力——我们需要实现碳中和。因此,我们必须将云成本治理作为重要议程,开展跨学科合作,以确保实现成本节约和提高效率。
云原生技术作为现代化的应用程序开发和部署方式,将继续在未来的几年中获得广泛应用和发展。同时,云原生也将成为企业数字化转型的关键因素,以及应对数字化时代挑战的核心竞争力。未来,我们将看到更多的企业逐步采用云原生技术,并从中获得更高的效率、更快的创新以及更好的业务结果。