丰隽玮太保科技共享平台事业群负责人 对DevOps与平台工程的理解 01 目录Content 02 基于平台工程构建DevOps 03 挑战和未来方向 太保科技简介 太保科技有限公司(简称“太保科技”)是中国太平洋保险(集团)股份有限公司出资设立的全资子公司,注册资本7亿人民币,总部位于上海黄浦区。 太保科技作为集团的战略新主体,坚持“以科技赋能保险,用专业创造价值”的使命,立足于服务型子公司定位,秉承“开放创新、客户导向、高效推进协同共生、稳健规范”的核心价值,致力于成为保险科技新生态建设的引领者。 太保科技产品及服务 太保科技组织架构采取“6+1”模式,包括6大科技事业群和1个支持中心,协同打造科技产品与服务 太保科技支撑各业务线组织级DevOps能力提升 DevOps与平台工程 “DevOps is dead, long live Platform Engineering”? DevOps的理想 “you build it, you run it” 2006年亚马逊的开发者摒弃传统的运维模式,他们端到端地部署和运行他们的应用程序和服务。 DevOps是一组过程、方法与系统的统称,其概念从2009年首次提出发展到现在,有理论也有实践,包括组织文化、自动化、精益、反馈和分享等不同方面。 打通从业务到开发再到运维的整个流程,实现业务、产品和运维的有机融合,形成高效的业务交付、运行和反馈闭环。最终的成果体现为顺畅的业务交付和连续稳定的系统运行。 核心点是IT赋能业务,创造价值。 为了更快交付和实现价值,必须弥合开发和运维之间的鸿沟,为了弥合开发和运维之间的鸿沟,在文化、工具和实践方面需要系列变革。 DevOps的现实 “DevOps倡导开发者要去关注底层基础设施,但不少开发者不愿意和基础设施打交道,希望得到解放。” •开发者并不想处理运维问题,Coder不仅写代码,还要运行代码•高级工程师需要负责环境配置,并且需要响应初级技术人员的请求•除了CICD,还有大量复杂的运维场景需要处理•开发人员的认知负荷过大。认知负荷是一个人为完成一项任务必须处理的信息量。当认知负荷太高时,开发人员无法保留和处理完成工作所需的所有信息。 DevOps不仅仅是一种交付软件的新方式。它还带来了一种全新的思考方式,即你作为团队中的一个个体扮演什么角色,以及如何与周围的人互动。 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 DevOps已死? 问题 首先许多企业对DevOps的概念存在误解,未能采用DevOps的基本原则和文化,导致实施时存在偏差,即仅仅雇佣一个“DevOps工程师”或使用一些DevOps友好的工具。这就导致了混乱、孤岛和低效率等问题。因为DevOps并不是一个角色或一个工具,而是一种思维方式和一种实践,需要企业变革和确保一致性。 DevOps的核心理念是“you build it,you run it”,这给开发人员增加了过多的压力和认知负担,开发人员不得不处理复杂且多样的基础设施、安全、合规和运维等问题,开发人员通常不擅长或缺乏处理这些任务的技能和工具,从而需要耗费大量时间和精力。而过多的精力花费在非开发任务上,导致开发人员无法将核心能力价值最大化利用。 DevOps文化表明,开发人员自助服务可以提高生产力和效率。同时,许多组织对开发人员的认知负担,凸显了对设置的需求,以提供一些结构、标准化和正确的抽象水平。 需要改变:让开发团队重新聚焦于他们的核心任务,减少组织内重复工作 DevOps并没有死,而是在革新和进化,平台工程则是DevOps的下一个演变阶段,通过创建可重用、自助式平台的实践,使开发人员能够以最小的代价构建、部署和运行其应用程序,以可持续的方式赋能和助力开发人员。 平台工程的理解 “平台工程是一种DevOps方法,组织在该方法中开发一个共享平台,平台汇集的工具、能力和流程均由领域专家精心挑选,并经过封装,以方便终端用户使用。其最终的目标,是打造无摩擦的自助服务体验,为用户提供正确的能力,帮助其以最少的成本完成重要工作,提高终端用户的生产力,并减少他们的认知负担。平台应能够满足用户团队的一切需求,并以任何可能的形式,完美匹配用户的首选工作流。” 什么是平台 平台的本质是知识、工具和规范,用户所需功能的集合。 什么是平台工程平台工程是一套用来构建和运营支持软件交付和生命周期管理的自助式内部开 发者平台(IDP)的机制和架构。 平台工程的目标 优化开发者体验加快产品团队为客户创造价值的速度。 核心构成团队架构、知识库、工具库 作用域 战略层面:降本增效,持续增长产品层面:持续交付、客户满意度技术层面:研发体验、团队效能 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 平台工程与DevOps如何协同 DevOps和平台工程都是为了提升软件交付效率而采取的措施,但它们侧重于不同的方面。 平台工程是一种实践,是设计和实现工具链的过程,这些工具链能够改善软件交付体验。平台工程更强调技术创新,平台工程师建设自动化的基础设施和自助管理,让开发人员可能更高效地工作。 DevOps是一种软件开发和IT运维的方法论,它通过集成和自动化的工具和实践,来进步和缩短零碎开发生命周期,DevOps更强调过程优化。 基于平台工程构建DevOps 团队+工具+知识,组织级实践之路 痛点 你期望人人都是DevOps专家,但现实却很骨感。 •业务线多,在多法人组织架构下各组织的IT成熟度不一,各团队的能力和认知并不一致。 •新的基础设施带来的新的组件,分布式系统所依赖的组件越来越多,系统复杂度对开发者提出了挑战,简单的让开发者you build it, you run it并不现实。 •系统多,系统之间的关联关系复杂,鼓励不同团队和部门之间的沟通和协作需要有手段。 •安全性和合规性要求更高,在统一的监管要求下如何确保都能符合相关标准和法规。 •业务发展对自动化和可扩展性要求越来越高,不可变基础设施的能力发挥依赖人的经验,知识转移越来越重要。 如果组织中有许多使用复杂工具和基础架构的各种IT团队。 在这样的工程环境中,一个专门的平台团队来管理复杂性变得非常必要。 团队-组织架构 平台团队的工作职责 •设计合理的抽象层次,帮助应用研发者降低对基础设施、工具平台等技术以及运维、稳定性工作的认知负担;•为应用研发者提供统一的工作界面和空间,避免用户陷入割裂的平台产品界面和复杂的工作流中;•帮助研发者通过有效的工作流程和推荐路径,能够基于内部开发平台(IDP)快速开展工作;帮助研发者通过配套的开发框架、CI、CD、Pipeline等产品自服务管理应用生命周期;•简单、高效、一致地开放平台基础能力;•培训、布道、运营,营造协同工作和分享的文化。 Plat及SRE是使能器、协调者;Dev自服务的完成研发及交付运维;Ops接手Dev的交付成果开展应用运维工作;SRE、Dev及Ops人员把工作过程中的问题和痛点反馈给Plat形成正向循环。 工具-平台能力需求 可重用性:乐高式的模块化,平台工程提供的技术组件和服务可以在多个应用程序之间共享和重用,从而避免了重复开发和维护相似的功能。 集中化管理:平台工程提供集中化的管理和监控,可以更轻松地管理和维护整个应用程序生命周期,从而提高效率和可靠性。 可扩展性:平台工程提供的基础设施和服务可以根据需求进行快速扩展和升级,以满足不断变化的业务需求。 安全性:平台工程提供的身份验证、授权和安全性服务可以保护应用程序和客户数据的安全性,从而降低安全风险。 工具-IDP平台 平台工程的具体功能模块包括以下几个核心模块:基础设施、开发工具、安全与身份管理、运维管理、服务市场、微服务框架和技术、API管理和集成、DevOps工具平台、日志管理和监控、容器化和容器编排等等。 知识分享 平台的本质是知识,只有经过实践检验的知识才能保证其可靠性与价值。知识除了文档和图表等静态载体,同时包含着规则、流程、视图、查询、模型等动态载体。团队将知识沉淀入平台,并通过与工具平台的集成来高效、稳定、全面地实践和检验知识。通过不断迭代积累,从而发挥规模化效应,应对未知挑战,提升价值转化速率。同时,通过平台团队的不间断课程培训和布道,让组织级认知逐渐统一。 平台工程演进的阶段 应用开发团队通常花不少时间去搭建和管理开发、运营需要的基础设施。 应用开发团队逐渐成为平台的用户,平台团队根据开发团队的需要有针对性的开发和改进平台功能。 随着平台功能逐渐完善,应用开发团队可以把更多精力放在研发业务价值的功能。 平台工程推广期 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 DevOps双轨推进策略 推广实施路径 建成的DevOps组织级能力 感受 平台工程的核心价值是构建和管理可扩展、高效且可靠的平台,以实现高效的软件开发和交付,包括自动化、标准化、效率、可扩展性、可靠性。 一些例子: •集成的代码扫描工具,会帮助尽早发现code smell或安全、性能相关问题。扫描工具的相关规则由知识库统一管理。其标准由赋能团队牵头制定,由平台团队研发并扩散,在广大范围内共享。而继承自该基线,应用交付团队在项目级别会与赋能团队协商进行一定的客制化修改。这样最终符合公司统一的安全、质量管控标准,又兼顾了各个项目需求的不同。而针对各个团队汇总的客制化设计和优秀实践,平台团队可以进一步浓缩沉淀为新的基础规则以发布更新到各个团队。•流水线中的各种门禁也会使用类似的方式加以管控。•部分场景下的优秀实践也会基于按需、自愿的原则加以扩展,实现标准化和差异化的平衡。•统一的仪表板和指标统计口径、技术栈等有助于跨团队专家知识的共享。相关结论也可以重新融入平台知识库以在日后应对其他团队碰到的类似问题。•在应对未知(如新产品和需求),突发(如线上问题)的时候,团队中的人员往往会需要更多的支持,平台工程的价值也进一步显现。•开发人员缺失的Ops认知,通过平台的封装和固化,通过知识库的学习和培训,实现谁开发谁运行的愿景。 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 挑战和未来方向 挑战 •固有组织文化:在平台上进行开发需要对现有工作和协同方式做出改变,如果缺失整体架构规划职能和技 术实现统筹管理,就会出现重复开发、缺乏协同的问题。 •不明确的投入产出平台的搭建和维护需要持续开发和投入,如果没有持续投入,平台技术团队规模有限,工 作多以现有平台维护为主,难以引领技术发展趋势。 •用户采纳新平台会带来学习曲线,迁移现有应用亦需要开发投入,任何一次技术架构的变更都需要 企业付出相当大的成本和时间代价,不只是新的投资,也包括业务因为技术调整所受到的负面影响。 2 0 2 3 D e v O p s国 际 峰 会暨B i z D e v O p s企 业 峰 会·北 京 站 未来的工作 •LLM和AIGC带来的新的挑战和机遇•大数据类研发工作在平台工程上的落地 Thanks DevOps时代社区荣誉出品




