阿里平台工程的发展历程与关键实践

简介: 什么是平台工程,怎么在企业内落地平台工程,云效负责人陈鑫在2023云栖大会上,结合云效过去在阿里内部十多年的经验和在各大企业的实践,给出了非常详细的解答。

编者按:今年以来平台工程成为研发效能领域的热词,有文章讲DevOps已死,平台工程才是未来,也有文章讲平台工程是DevOps的下一阶段。那么什么是平台工程,怎么在企业内落地平台工程,云效负责人陈鑫在2023云栖大会上,结合云效过去在阿里内部十多年的经验和在各大企业的实践,给出了非常详细的解答。

以下是他演讲的文字版。由于文章比较长,我们将内容分为了上下2篇。本文为第一篇。

神秀.jpg

云原生时代开发者面临的挑战

神秀文章配图.001.jpeg

从过去几年的技术发展历程来看,容器化以及云原生确实带来了DevOps的空前繁荣。在传统应用时代,开发只关注应用层的代码编写以及测试,而生产环境的软件部署、维护、故障应急等都由运维负责。当然这样会带来两个角色的壁垒。

随着敏捷研发和DevOps文化发展,以及以k8s为代表的云原生技术的发展,将运维的复杂性逐步简化,开发者的职责也扩大到应用的全生命周期。

尽管云平台软件大幅降低了运维复杂性,但对于开发者来说,他们的职责边界真真实实被扩大了。这就带来了4个切实的挑战:

1、云原生新概念带来的认知复杂度。过去几年k8s、mesh、serverless技术迭代非常快,大量的新知识让开发者应接不暇,尤其是对于初入职场的新人,而这些知识对于业务开发来说并没有太多收益。

2、各种云平台、开源工具、企业自建平台纷繁林立,需要大量学习成本,每次升级都需要重新适应。

3、众多平台概念不统一,界面不统一,操作习惯不统一,完成一次软件交付需要多个平台之间切换,严重影响开发者的心流。稍有不慎还容易操作错误,带来故障。

4、企业各团队都在按照自身习惯建立工具与平台体系,造成团队之间协作困难,无形中建立了新的部门墙。

因此很多企业在落地DevOps后发现不但对研发的能力要求变高,工作效率以及线上稳定性并没有显著提升,极端的甚至出现了倒退。开发认为工作量变大无法专心于业务交付,而管理者不得不花费更多的成本去招聘和培养员工,陷入尴尬的局面。

平台工程解决的核心问题

神秀文章配图.002.jpeg

平台工程概念的提出正是建立在这样的背景之下。平台工程社区的发起人这样定义平台工程,他认为“平台工程是一门设计和构建工具链与工作流的学科。这些工具链和工作流可以为云原生时代的软件工程组织提供自助服务功能。平台工程师提供集成化产品,通常称为“内部开发平台”,可以涵盖应用程序整个生命周期的所有操作需求。”

Gartner 在去年把平台工程列为了 2023 年度 10 大战略技术趋势之一,并且预测到 2026 年,80% 的软件工程组织将建立平台团队,其中 75% 将包含开发者自助服务门户。

业界则针对DevOps和云原生带来的一系列挑战给出了4方面的解法:

1、通过简化的工作流、标准化的工具和服务,降低开发者在云原生技术栈下的认知负担,从而改进体验。这句话需要重点关注“简化”、“标准化”和“认知负担”这三个词。从开发者的角度来讲,最好的体验就是简单、清晰以及自动化,开发者体验被提到了新的高度。

2、提供开发者自助化服务,降低软件开发交付过程中各阶段延迟,从而提升效率。开发者自助服务平台是解决问题的关键,也是承载第一点标准化工具服务的地方。重点在于自助服务,这点类似于ITIL方法中提出的服务目录概念,本质在于使用者和平台构建者的关注点分离策略。

3、企业内各团队使用统一的工具和服务组合,打破部门墙,提升协同效率。

4、要想企业内统一,一定需要平台拥有可复用、可组合、可配置的能力,来满足各类研发场景和团队习惯的要求。

平台工程与DevOps的关系

神秀文章配图.003.jpeg

我们再进一步讨论下平台工程与DevOps的关系是什么。这里,我们从背景、目标、行动三个方面来看两者的异同。

从背景来看,从2001年敏捷运动开始再到2009年DevOps正式被提出,DevOps已经发展了快15年时间,其方法实践以及文化可以说是深入人心。而平台工程是因为云原生技术叠加DevOps发展出现停滞等因素诞生的。两者可以说是敏捷开发背景下的各角色协同问题发展到不同阶段而产生的不同的解题思路,并不存在根本上的矛盾,而是具有一定延续性。

从目标来看,DevOps是为了促进dev和ops团队之间的协同,从而提升软件的交付速度与质量,而平台工程是解决开发者认知负担问题、协同成本问题,同样是以提升软件的交付速度与质量为目标,两者高度一致。

从行动上来看,DevOps通过谁开发、谁运维的文化主张,打破了dev和ops两个角色部门墙。但给dev角色带来了一系列新的问题。而平台工程继续延续着DevOps的文化方向,期望用新的平台工具体系彻底解决dev的效能问题。因此在工具平台层面是一次全新的升级。

总结下来,平台工程是DevOps方法和实践在新的技术背景下的延续,其内核是高度一致的。平台工程期望以新的解题思路,彻底解决企业落地DevOps的困难,最终进一步释放开发者生产力。

企业建设平台工程的目标与价值

神秀文章配图.004.jpeg

我们可以从生产力和生产关系两个维度来归纳企业建设平台工程的价值。在生产力维度,建设企业内部统一、标准、体验优异的自助化服务工具平台,可以有效降低开发者认知负担,提升开发者生产力。这是企业建设平台工程的及格线,也是第一目标。

在生产关系维度,平台工程具备可复用、可组合、可配置、集中化能力,可以满足企业各团队个性化诉求,降低团队间协同成本,加速企业向客户交付价值的速度。这是对平台工程更高的要求,当然落地起来有会更困难。

阿里平台工程实践

神秀文章配图.005.jpeg

首先,我们来看看阿里内部平台平台的发展历程。我们将它分为四个阶段。第一二阶段平台的目标是适配核心电商服务化改造带来的应用数量爆炸式增长问题。在这个阶段平台能力以构建、部署、测试的自动化流水线建设为主。过程中逐步形成了阿里特色的一些工程实践,比如Aone-flow分支管理模式、应用管理模式、项目环境管理模式等等。

第三四阶段平台的发展是在容器化和云原生技术背景下发生的。容器化技术的诞生让DevOps加速落地,核心是不可变基础设施的理念大幅简化了应用运行环境定义、搭建、运维的成本。也就是在这个阶段,阿里内部建立了从项目需求管理、代码管理、到软件交付、测试、运维端到端的平台体系。也是目前集团内数万工程师日常最高频使用的平台。

从阿里平台工程的发展路线可以进一步印证本文对平台工程与DevOps发展的分析。在这个发展过程中,业务需要是前提,技术发展是第一推动力,而平台工程正是在解决对开发者所产生的挑战。最终通过生产力提升以及组织生产关系优化达到业务预期的目标。

神秀文章配图.006.jpeg

上面这张图展示的是阿里平台工程体系的概况。其中研发域、运维域、运行时、技术风险与安全、计量计费五大部分是阿里开发者日常最重要的平台,贯穿着应用开发交付的完整生命周期。而链接各域的最重要的就是企业的应用元数据,它承担了各域数据连接、能力连接、体验连接的使命。

在阿里平台工程的发展过程中,产生了一系列的实践经验。对于阿里来说,最重要的平台工程实践就是以应用为核心串联研发运维全链路工具、资产和流程。通过应用向上将开发过程中所涉及到的代码、资源、环境、策略、配置等核心资产进行归集,向左通过变更和发布的时标对象与需求和项目进行关联,打通需求协作与开发运维两大领域。向下将所有的工具和流程进行聚合,核心是软件全生命周期的研发流程。

神秀文章配图.007.jpeg

这一套概念框架是阿里平台工程的核心,通过应用将开发者日常所涉及到的几十种庞杂的工作归拢串联,建立了开发领域知识体系、工具体系的索引,大幅降低了开发者认知负担。在阿里找到了应用就找到了一切,让各角色围绕应用来进行交流和工作,不再需要额外概念转化,从根本上提升了体验和效率。

有了应用这个核心概念以后,很自然的可以围绕应用建立开发者的统一工作平台入口,例如应用的代码开发入口,涉及到代码上传、评审、CI、检测等能力。应用流程入口涉及到新建变更、拉取分支、构建、部署、测试、提测、审核、发版等软件交付能力。应用环境入口可以针对资源维度进行创建、扩缩、监控、变更等一系列运维操作。

神秀文章配图.008.jpeg

这些对开发者来说最核心的能力入口均长在平台上,概念的一致、流程的一致、体验的一致可以让开发者不再在千奇百怪工具中迷失,始终保持开发心流,同时也能大幅降低误操作导致的各种事故。

在统一概念和统一平台的基础上,还需要大量工程实践落地平台,才能彻底释放开发者生产力,达成平台工程的建设目标。

神秀文章配图.009.jpeg

这里我们给出了六个最主要的解决方案,分别是研发流程自动化方案、架构管理规范化方案、研发运维一体化方案、资源管理集约化方案、安全生产管理线上化方案、全链路智能化方案。

对于研发流程自动化,最重要的是实现可复用、可组装、可配置的流水线能力,并且实现any language、any platform,这是建立企业平台工程的核心,因为这个涉及到开发者日常最高频的工作。

架构管理方面涉及到代码规范、应用交付规范、流程规范、安全生产规范等等,是架构团队最关心的内容。一方面可以加强企业内软件研发过程标准化,另一方面可以大幅降低开发者认知负担,对于开发来讲只要照做即可,不容易犯错,更聚焦于业务价值产出。

研发运维一体化的目标是将日常90%的运维操作统一到平台之上并且自动化掉,最大限度的屏蔽PaaS、IaaS细节,这部分复杂度是开发者最不愿意接触的。

资源管理集约化目标是解决掉线下环境资源使用效率问题,可以通过iac技术以及流量隔离技术,实现各种复杂的环境管理方案,而这些管理方案的复杂度同样需要对开发者进行屏蔽。

安全生产管理线上化通过变更、故障管理平台的建立,以及与钉钉等IM工具进行集成,可以比较好的将安全生产流程规范自动化起来。

最后是面向AI时代的全链路智能化,也是继云原生之后下一个提升开发者效率的技术方向。

下面,我们将分享这些实践如何在企业中去落地。

下篇内容见:企业构建平台工程的路径与方案


更多推荐:看完这3场直播,为明年的效能提升来点思路

云效,产研数字化同行者

云效是阿里云企业级一站式研发协同平台,源于阿里巴巴多年先进的管理理念和工程实践,提供从“需求->开发->测试->发布->运维”端到端的协同服务和研发工具,支持公共云、专有云、混合云多种部署形态。连续2次获IDC产品能力第一评估,获信通院BizDevOps、DevOps平台双重认证,服务金融、制造、电商、零售、汽车、物流、互联网等行业数十万客户,上百万开发者。通过BizDevOps、持续交付等不同解决方案,助力企业实现研发敏捷和组织敏捷。

云效案例-新.png

目录
相关文章
|
中间件 API 开发者
组装式架构重构未来平台研发模式
企业数字化转型如火如荼的进行中,快速响应市场需求变化,低成本进行数字化改造时每个企业追求的目标。而组装式架构可以完美解决B段客户对于软件平台的高质量要求。
组装式架构重构未来平台研发模式
|
人工智能 运维 监控
首个云上 AI 原生全栈可观测平台来了!
9月21日,2024 云栖大会,阿里云发布全新的 AI 原生全栈可观测平台,首次实现云上 AI 大模型从训练到推理再到应用的全链路实时观测、告警与诊断。
913 106
|
6月前
|
弹性计算 Kubernetes API
Kubernetes 驱动的 IaC,Crossplane 快速入门
Crossplane 是一个开源的 Kubernetes 扩展工具,允许用户通过声明式配置直接在 Kubernetes 中管理云资源。对于阿里云开发者,借助 Crossplane 和官方提供的 provider-upjet-alibabacloud,可以像管理 Pod 一样轻松操作 ECS 实例、VPC 和 OSS Bucket 等资源。本文介绍了 Crossplane 的核心概念,并通过快速入门指南演示了如何安装 Crossplane、配置阿里云认证并创建第一个 VPC 资源。
771 37
|
6月前
|
人工智能 前端开发 开发工具
对话阿里云通义灵码技术负责人陈鑫:AI编程的现状与未来
在AI快速发展的2025年,通义灵码作为国内领先的AI编程助手,正通过其独特的智能体架构和强大模型能力重新定义开发方式。本文邀请技术负责人陈鑫(神秀),探讨AI编程现状与未来。通义灵码基于Qwen3模型打造,具备记忆系统革新、MCP工具生态和多模态交互等优势,推出三种工作模式以适应不同场景。尽管行业仍面临挑战,但国产模型正在崛起,企业可采用“三步走”策略引入AI工具。未来,AI将从辅助走向主导,深化代码理解并重构开发工具,助力更高效、创造性的编程方式。
|
10月前
|
人工智能 运维 Devops
基于云效落地平台工程企业级最佳实践
本文介绍了平台工程作为DevOps演进的必然方向,探讨了其建设过程中面临的挑战及解决方案。文中首先分析了平台工程与DevOps的关系,强调了其在提升价值交付和降低团队心智负担方面的作用。接着,通过云效作为基础设施,详细阐述了其如何帮助企业构建高效的研发平台,并分享了两个实际案例:一个是200人规模的互联网企业,另一个是2000人规模的金融行业企业。最后,展望了平台工程的未来发展方向,包括组件化开发、AI技术的应用以及智能化场景的融入。碧桂园生活服务集团也分享了其在平台工程领域的实践经验和未来思考,强调了标准化、自动化、可靠性和智能化四大原则的重要性。
280 10
|
运维 Kubernetes Devops
平台工程:它是什么?谁来做?怎么做?
大家可能听说过平台工程,这是一个新术语,它为开发和 DevOps 领域中本已拥挤的角色集合增添了新内容。 在这篇文章中,我们将介绍平台工程、它与 DevOps 的区别以及为什么你可能考虑采用平台工程以及谁需要拥有平台工程的能力。
|
运维 搜索推荐 Devops
企业构建平台工程的路径与方案
探讨企业如何构建自己的平台工程。
104119 0
|
存储 弹性计算 人工智能
阿里云Alex Chen:普惠计算服务,助力企业创新
本文整理自阿里云弹性计算产品线、存储产品线产品负责人陈起鲲(Alex Chen)在2024云栖大会「弹性计算专场-普惠计算服务,助力企业创新」中的分享。在演讲中,他分享了阿里云弹性计算,如何帮助千行百业的客户在多样化的业务环境和不同的计算能力需求下,实现了成本降低和效率提升的实际案例。同时,基于全面升级的CIPU2.0技术,弹性计算全线产品的性能、稳定性等关键指标得到了全面升级。此外,他还宣布了弹性计算包括:通用计算、加速计算和容器计算的全新产品家族,旨在加速AI与云计算的融合,推动客户的业务创新。
107207 10
|
人工智能 安全 Java
当一家公司80%的程序员用AI写代码
当一家公司80%的程序员用AI写代码
895 6
|
消息中间件 Cloud Native Serverless
云原生概要介绍-阿里云云原生产品体系
云原生概要介绍-阿里云云原生产品体系
云原生概要介绍-阿里云云原生产品体系