《丰隽玮-平台工程理念下的 DevOps 建设之路.pdf》由会员分享,可在线阅读,更多相关《丰隽玮-平台工程理念下的 DevOps 建设之路.pdf(28页珍藏版)》请在三个皮匠报告上搜索。
1、2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站平台工程理念下的DevOps建设之路丰隽玮太保科技 共享平台事业群负责人01对DevOps 与 平台工程的理解02基于平台工程构建DevOps03挑战和未来方向目录Content2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站太保科技简介太保科技有限公司(简称“太保科技”)是中国太平洋保险(集团)股份有限公司出资设立的全资子公司,注册资本7亿人民币,总部位于上海黄浦区。太保科技作为集团的战略新主体,坚持“以科技赋能保险,用专业创造价值”的使命,立足于服务型子公司定位,秉承“开放创新、客户导向、高
2、效推进协同共生、稳健规范”的核心价值,致力于成为保险科技新生态建设的引领者。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站太保科技产品及服务产品创新科技赋能产品构建科技赋能三位一体产品体系推出一批数字化产品知识产权:软件著作权77件,专利85件太保科技组织架构采取“6+1”模式,包括6大科技事业群和1个支持中心,协同打造科技产品与服务2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站太保科技支撑各业务线组织级DevOps能力提升集团3级能力评估健康险3级能力评估寿险3级能力评估长江养老3级能力评估01DevOps与平台工程“DevOps is
3、 dead,long live Platform Engineering”?2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps的理想“you build it,you run ityou build it,you run it”2006 年亚马逊的开发者摒弃传统的运维模式,他们端到端地部署和运行他们的应用程序和服务。DevOps是一组过程、方法与系统的统称,其概念从2009 年首次提出发展到现在,有理论也有实践,包括组织文化、自动化、精益、反馈和分享等不同方面。打通从业务到开发再到运维的整个流程,实现业务、产品和运维的有机融合,形成高效的业务交付、运行和反馈
4、闭环。最终的成果体现为顺畅的业务交付和连续稳定的系统运行顺畅的业务交付和连续稳定的系统运行。核心点是IT赋能业务,创造价值。为了更快交付和实现价值,必须弥合开发和运维之间的鸿沟,为了弥合开发和运维之间的鸿沟,在文化、工具和实践方面文化、工具和实践方面需要系列变革系列变革。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps的现实 开发者并不想处理运维问题,Coder不仅写代码,还要运行代码 高级工程师需要负责环境配置,并且需要响应初级技术人员的请求 除了CICD,还有大量复杂的运维场景需要处理 开发人员的认知负荷过大。认知负荷是一个人为完成一项任务必须处理的信
5、息量。当认知负荷太高时,开发人员无法保留和处理完成工作所需的所有信息。DevOps不仅仅是一种交付软件的新方式。它还带来了一种全新的思考方式,即你作为团队中的一个个体扮演什么角色,以及如何与周围的人互动。然而,然而,20002000年代的理想主义现在看来已经过时,不适合于日益复杂和高度分布式的软件系统时代。年代的理想主义现在看来已经过时,不适合于日益复杂和高度分布式的软件系统时代。“DevOps 倡导开发者要去关注底层基础设施,但不少开发者不愿意和基础设施打交道,希望得到解放。”2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps已死?问题首先许多企业对 De
6、vOps 的概念存在误解,未能采用未能采用 DevOps DevOps 的基本的基本原则和文化原则和文化,导致实施时存在偏差,即仅仅雇佣一个“DevOps 工程师”或使用一些 DevOps 友好的工具。这就导致了混乱、孤岛和低效率等问题。因为 DevOps 并不是一个角色或一个工具,而是一种思维方式和一种实践,需要企业变革和确保一致性。DevOps 的核心理念是“you build it,you run it”,这给开发人员增加了过多给开发人员增加了过多的压力和认知负担,的压力和认知负担,开发人员不得不处理复杂且多样的基础设施、安全、合规和运维等问题,开发人员通常不擅长或缺乏处理这些任务的技能
7、和工具,从而需要耗费大量时间和精力。而过多的精力花费在非开发任务上,导致开发人员无法将核心能力价值最大化利用。随着分布式系统的广泛应用,其复杂性越来越高,DevOps DevOps 变得更加变得更加难以实施和管理难以实施和管理,当然问题的根本来自于现代软件开发的复杂性增加而非 DevOps 本身。企业需要对其基础设施和环境有更多的控制和可见性,以及更多的敏捷性和速度来满足业务需求。DevOps 也难以应对云原生技术的多样性和波动性。需要改变:让开发团队重新聚焦于他们的核心任务,减少组织内重复工作DevOps 并没有死,而是在革新和进化,平台工程则是 DevOps 的下一个演变阶段,通过创建可重
8、用、自创建可重用、自助式平台的实践,使开发人员能够以最小的代价构建、部署和运行其应用程序助式平台的实践,使开发人员能够以最小的代价构建、部署和运行其应用程序,以可持续的方式赋能和助力开发人员。123DevOps 文化表明,开发人员自助服务可以提高生产力和效率。同时,许多组织对开发人员的认知负担,凸显了对设置的需求,以提供一些结构、标准化和正确的抽象水平。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站平台工程的理解什么是平台平台的本质是知识、工具和规范,用户所需功能的集合。什么是平台工程平台工程是一套用来构建和运营支持软件交付和生命周期管理的自助式内部开发者平台(ID
9、P)的机制和架构。平台工程的目标优化开发者体验加快产品团队为客户创造价值的速度。核心构成团队架构、知识库、工具库作用域战略层面:降本增效,持续增长产品层面:持续交付、客户满意度技术层面:研发体验、团队效能“平台工程是一种 DevOps 方法,组织在该方法中开发一个共享平台共享平台,平台汇集的工具、能力和流程均由领域专家精心挑选,并经过封装,以方便终端用户使用。其最终的目标,是打造无摩擦的自助服务自助服务体验,为用户提供正确的能力,帮助其以最少的成本完成重要工作,提高终端用户的生产力,并减少减少他们的认知负担认知负担。平台应能够满足满足用户团队团队的一切需求需求,并以任何可能的形式,完美匹配用户
10、匹配用户的首选工作流工作流。”Gartner2023年10大重要战略技术趋势报告2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站平台工程与DevOps如何协同DevOpsDevOps平台工程平台工程关注软件开发与运维之间的合作与沟通关注为软件开发提供一个可靠、灵便、易用的平台涉及多个角色(如开发人员、测试人员、运维人员等)涉及一个专门的团队(即平台团队),负责构建、保护、优化平台使用各种工具来实现持续集成、持续交付、持续部署等指标应用开发平台(IDP)来提供这些功能和性能不断地调整和改进流程和文化,以适应不同得项目和需要不断地更新和扩大平台功能和性能,以满足不同的用户
11、和场景应用交付团队应用交付团队平台工程团队平台工程团队专注于交付应用程序的技术性能专注于构建和保护平台向最终客户验证性能平台工程师向交付团队推广宣传平台聚焦与其交付重点相干的特定技术和工程问题通过找出交付团队需要什么来定义平台演进DevOps和平台工程都是为了提升软件交付效率而采取的措施,但它们侧重于不同的方面。DevOps 是一种软件开发和IT运维的方法论,它通过集成和自动化的工具和实践,来进步和缩短零碎开发生命周期,DevOps 更强调过程优化。平台工程是一种实践,是设计和实现工具链的过程,这些工具链能够改善软件交付体验。平台工程更强调技术创新,平台工程师建设自动化的基础设施和自助管理,让
12、开发人员可能更高效地工作。02基于平台工程构建DevOps团队+工具+知识,组织级实践之路2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站痛点 业务线多,在多法人组织架构下各组织的IT成熟度不一,各团队的能力和认知并不一致。新的基础设施带来的新的组件,分布式系统所依赖的组件越来越多,系统复杂度对开发者提出了挑战,简单的让开发者you build it,you run ityou build it,you run it并不现实。系统多,系统之间的关联关系复杂,鼓励不同团队和部门之间的沟通和协作需要有手段。安全性和合规性要求更高,在统一的监管要求下如何确保都能符合相关标准
13、和法规。业务发展对自动化和可扩展性要求越来越高,不可变基础设施的能力发挥依赖人的经验,知识转移越来越重要。如果组织中有许多使用复杂工具和基础架构的各种 IT 团队。在这样的工程环境中,一个专门的平台团队来管理复杂性变得非常必要。在这样的工程环境中,一个专门的平台团队来管理复杂性变得非常必要。你期望人人都是你期望人人都是DevOpsDevOps专家,但现实却很骨感。专家,但现实却很骨感。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站团队-组织架构Plat及 SRE 是使能器、协调者;Dev自服务的完成研发及交付运维;Ops接手Dev的交付成果开展应用运维工作;SRE、
14、Dev及Ops人员把工作过程中的问题和痛点反馈给Plat形成正向循环。设计合理的抽象层次,帮助应用研发者降低对 基础设施、工具平台 等技术以及运维、稳定性工作的认知负担;为应用研发者提供统一的工作界面和空间,避免用户陷入割裂的平台产品界面和复杂的工作流中;帮助研发者通过有效的工作流程和推荐路径,能够基于内部开发平台(IDP)快速开展工作;帮助研发者通过配套的开发框架、CI、CD、Pipeline等产品自服务管理应用生命周期;简单、高效、一致地开放平台基础能力;培训、布道、运营,营造协同工作和分享的文化。平台团队的工作职责2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站
15、团队-分工协作平台团队应用团队平台工程创建服务沉淀知识知识分享赋能增效业务研发需求交付反馈补充使用服务感知瓶颈优化策略平台建设推广赋能赋能团队架构、安全、PMO引导、驱动平台团队平台团队建设可信赖的平台以提升业务导向团队的交付速度赋能团队赋能团队帮助应用团队克服障碍应用团队应用团队与业务领域匹配,处理核心业务逻辑交付2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站工具-平台能力需求可重用性:乐高式的模块化,平台工程提供的技术组件和服务可以在多个应用程序之间共享和重用,从而避免了重复开发和维护相似的功能。集中化管理:平台工程提供集中化的管理和监控,可以更轻松地管理和维护
16、整个应用程序生命周期,从而提高效率和可靠性。可扩展性:平台工程提供的基础设施和服务可以根据需求进行快速扩展和升级,以满足不断变化的业务需求。安全性:平台工程提供的身份验证、授权和安全性服务可以保护应用程序和客户数据的安全性,从而降低安全风险。摘自CNCF平台工程白皮书2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站工具-IDP平台业务中台各业务领域系统统一接入内部网关管理网关外联网关能力开放(API、SDK)IDP研发支撑服务治理开发框架前端框架后端框架UI库组件库研发效能研发管理工程管理开发者门户(自助式能力服务平台)任务管理看板管理度量改进研发工具代码管理CI/C
17、D制品管理测试服务用例管理场景管理执行管理报告管理IT交付协同安全管理安全组件安全扫描安全加固安全测试运维监控监控日志分析告警项目需求开发测试生命周期管理运维安全发布配置中心注册中心服务框架服务注册发现服务生命周期管理服务登记服务契约服务版本服务检索服务发布服务订阅服务模拟与测试接口定义接口文档接口模拟在线测试服务网关服务路由服务鉴权限流、熔断、降级灰度发布链路跟踪慢响应慢查询全局模糊查询服务拓扑调用链云基础设施PaaS容器与编排IaaS知识库平台工程的具体功能模块包括以下几个核心模块:基础设施、开发工具、安全与身份管理、运维管理、服务市场、微服务框架和技术、API管理和集成、DevOps工具
18、平台、日志管理和监控、容器化和容器编排等等。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站知识分享架构知识业务知识技术知识生产环境研发流程基础设施企业战略业务流程业务指标组织架构.架构文档性能指标安全管控质量管控治理标准.依赖管理技术限制门禁规则开源治理扫描规则.监控告警控制台流量管理日志负载管理.API市场性能测试CI/CD 安全扫描代码扫描 项目管理自动化测试.基础模板 计费基础镜像 存储平台计算平台.知识库工具库驱动反馈平台的本质是知识,只有经过实践检验的知识才能保证其可靠性与价值。知识除了文档和图表等静态载体,同时包含着规则、流程、视图、查询、模型等动态载体
19、。团队将知识沉淀入平台,并通过与工具平台的集成来高效、稳定、全面地实践和检验知识。通过不断迭代积累,从而发挥规模化效应,应对未知挑战,提升价值转化速率。同时,通过平台团队的不间断课程培训和布道,让组织级认知逐渐统一。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站平台工程演进的阶段40%30%50%应用团队1应用团队2应用团队3顾客价值配套基础设施应用开发团队通常花不少时间去搭建和管理开发、运营需要的基础设施。平台工程先导期平台工程先导期75%70%75%平台工程建设期平台工程建设期应用开发团队逐渐成为平台的用户,平台团队根据开发团队的需要有针对性的开发和改进平台功能
20、。97%99%100%随着平台功能逐渐完善,应用开发团队可以把更多精力放在研发业务价值的功能。平台工程推广期平台工程推广期2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps双轨推进策略理解 融渐进式改进标准化逐步落地动化加固分类突破分阶段实施推由下到上由下到上为转型为转型 持续交付 持续部署 持续集成 代码禁由上到下意识养成由上到下意识养成 领导层意识破冰 员层意识培养 业务痛点找推动 质量痛点找推动 给转型松绑 给尝试机会2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站推广实施路径PrepareReadyRunningWinner
21、现状诊断转变意识制定方案选择工具沙盘演练项目试运行培训带头人优化流程与平台诊断培训演练理念赋能最佳实践分享体系与流程规范工具培训落地过程咨询与指导目标与规范落地识别痛点持续升级2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站建成的DevOps组织级能力敏捷与传统双态支持经典与云原生双模支持多样化发布策略金融级监管合规保障多租户多环境开放可扩展灵活可编排2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站感受 集成的代码扫描工具,会帮助尽早发现code smell或安全、性能相关问题。扫描工具的相关规则由知识库统一管理。其标准由赋能团队牵头制定,由
22、平台团队研发并扩散,在广大范围内共享。而继承自该基线,应用交付团队在项目级别会与赋能团队协商进行一定的客制化修改。这样最终符合公司统一的安全、质量管控标准,又兼顾了各个项目需求的不同。而针对各个团队汇总的客制化设计和优秀实践,平台团队可以进一步浓缩沉淀为新的基础规则以发布更新到各个团队。流水线中的各种门禁也会使用类似的方式加以管控。部分场景下的优秀实践也会基于按需、自愿的原则加以扩展,实现标准化和差异化的平衡。统一的仪表板和指标统计口径、技术栈等有助于跨团队专家知识的共享。相关结论也可以重新融入平台知识库以在日后应对其他团队碰到的类似问题。在应对未知(如新产品和需求),突发(如线上问题)的时候
23、,团队中的人员往往会需要更多的支持,平台工程的价值也进一步显现。开发人员缺失的Ops认知,通过平台的封装和固化,通过知识库的学习和培训,实现谁开发谁运行的愿景。将复杂DevOps工作移入研发人员舒适区一些例子:平台工程的核心价值是构建和管理可扩展、高效且可靠的平台,以实现高效的软件开发和交付,包括自动化、标准化、效率、可扩展性、可靠性。03挑战和未来方向2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站挑战 固有组织文化:在平台上进行开发需要对现有工作和协同方式做出改变,如果缺失整体架构规划职能和技术实现统筹管理,就会出现重复开发、缺乏协同的问题。不明确的投入产出平台的搭建和维护需要持续开发和投入,如果没有持续投入,平台技术团队规模有限,工作多以现有平台维护为主,难以引领技术发展趋势。用户采纳新平台会带来学习曲线,迁移现有应用亦需要开发投入,任何一次技术架构的变更都需要企业付出相当大的成本和时间代价,不只是新的投资,也包括业务因为技术调整所受到的负面影响。2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站未来的工作 LLM和AIGC带来的新的挑战和机遇 大数据类研发工作在平台工程上的落地2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站ThanksDevOpsDevOps 时代社区时代社区荣誉出品