《平台工程在B站的探索与思路丨平台工程技术大会.pdf》由会员分享,可在线阅读,更多相关《平台工程在B站的探索与思路丨平台工程技术大会.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、平台工程在B站的探索和思路袁帅(villager)B站基础架构部/SRE/平台工程组2020年加入B站,擅长基础架构、Devops、SRE等领域设计和研发。先后从事过B站大数据运维平台、B站数据库平台、运维作业平台等设计和研发工作。目前专注于SRE平台工程能力建设行业趋势01B站SRE平台工程理念引入02SRE平台化建设探索03总结和思考04目录Content平台工程定义平台工程到2026 年,80%的软件工程组织将建立平台团队,为内部提供可复用的服务、组件和工具,支持应用交付。来源:Gartner从第一性原理来说,平台工程解决的是技术团队如何以更低的成本和更高的效率满足业务需求,支持业务运营
2、和发展的问题。可重用性可以理解为乐高式的模块化,平台工程提供的技术组件和服务可以在多个应用程序之间共享和重用,从而避免了重复开发和维护相似的功能。集中化管理平台工程提供集中化的管理和监控,使用户可以更轻松地管理和维护整个应用程序生命周期,从而提高效率和可靠性。可扩展性平台工程提供的基础设施和服务可以根据用户需求进行快速扩展和升级,以满足不断变化的业务需求。安全性平台工程提供的身份验证、授权和安全性服务可以保护应用程序和用户数据的安全性,从而降低安全风险。价值关键点1.IDP2.工作流3.组件工具能力建设4.开发者门户5.统一技术规划容器VM云主机Paas资源.复杂基础设施环境工具平台可复用组件
3、平台工具统一门户面相研发行业趋势01B站SRE平台工程理念引入02SRE平台化建设探索03总结和思考04目录ContentSRE(可用性工程师)团队发展2017及以前20021-至今 效率优先 需求响应、变更、标准化、报警治理、琐事优化 无稳定性工程 理解业务架构而非完成业务需求 积极推动读多活建设 建立Oncall制度 建设故障复盘文化 思考我们如何实践SRE 大型活动保障工程建立 混沌工程和故障演练探索实践 PaaS容量管理体系建设 稳定性工程初步完善 琐事优化释放人力转型 服务分级体系建设 SLO工程与平台建设 应急响应制度建设 故障复盘平台和故障管理制度建设 积极
4、推动读多活业务覆盖没有SRE,只有运维SRE探索与落地SRE再转型 SRE BP制度,业务伙伴 专注稳定性建设和降本增效 多活、服务分级、SLO、容量管理等体系再优化建设 全员转型SRE,转型开发,更高要求,更大挑战B站平台工程理念形成业务研发在开发过程中需要众多云原生技术解决问题,却不幸引入很多认知负荷问题,苦”全栈“久已。这就导致缺乏经验的开发人员向高级/资深后端工程师寻求帮助,或者PaaS Oncall,经验变成了“部落知识”。通过构建内部开发平台来减少开发人员的认知负荷、艰苦的重复性手工工作,从而改善开发体验;平台不会强制使用特定的工具集或方法它是为了让开发人员可以更容易地构建和交付软
5、件,同时又不用抽象出底层核心服务中实用的差异化功能;平台工程团队将平台视为产品(供开发人员使用),并设计出可以自助使用的平台;B站研发效能CICD全景图平台快速建设带来的问题平台数量急剧增多维护成本增高在线/离线SRE工程效能游戏基础设施SRE游戏运维平台大数据运维平台MySQL运维平台Redis运维平台业务风险巡检平台SLO平台自愈平台容量管理平台切流管控平台各团队精力花在非关键地方平台隐患需求交付慢交付质量差应急响应平台值班系统混沌工程平台化实践行业趋势01B站SRE平台工程理念引入02SRE平台化建设探索03总结和思考04目录Content统一门户(平台)门户通道能力基础平台基础设施基础
6、数据物理机虚拟机云主机裸金属交换机CMDB服务树模型注册拓扑关系资源上报状态管理消费注册标签管理租户信息备机池组织架构业务架构应用模型应用画像资源关系权限管理人员角色应用生命周期计算引擎K8S底座堡垒机cloud统一私有云门户登录准入命令执行黑白名单审计拦截作业引擎作业原子作业编排调度执行文件分发流程引擎流程设计表单管理事件回调规则引擎IAM权限模型平台注册资源权限角色管理OnCall值班录入人员管理知识库实时反馈场景能力DB运维平台集群部署SQL执行慢日志分库分表游戏运维平台区服管理合服管理新服部署人员管理容量管理平台HPAVPA容量巡检策略预估系统运维平台系统重装报修管理重启资产转移Log
7、Agent管控平台版本升级健康检查吞吐监测区域管理平台产品构建一个通常称为“内部开发平台”(IDP)的集成化产品,研发同学设计和构建研发工具链和工作流,涵盖应用程序整个生命周期的操作需求。统一门户:提供了一个具有服务目录功能的UI和OpenAPI;统一元数据:服务树、CMDB等各类PaaS元数据;统一工作流:围绕应用的生命周期平台化;以产品思维为驱动,将开发者视为平台客户。围绕:“开发人员愉悦(DevEx)”运营和数据驱动思路迭代;整合各平台资源协作,服务,促进基于上面的思路SRE平台工程组需要专注深入通道能力的建设,通道能力包含如下:工作流、作业流、数据资产、Oncall、协调等SRE熟悉平
8、台能力,推动平台数据运营,达到服务稳定性能力建设工具组件能力建设-工作流Comet是B站以业务为中心、流程为导向构建的新一代低代码工作流系统。具备传统 BPM 产品所必须的流程服务能力满足各种规模应用、业务系统的业务流程需求具备流程服务化所需要的动态伸缩、多租户等特性一个丰富全面的标准化流程服务平台。工具组件能力建设-作业流标准REST API接口Swagger文档API Gateway集成统一鉴权功能列表管控调度执行器自研执行引擎对接ansible自定义管控插件支持系统对接saltStack内置工具市场定时作业快速分发文件快速脚本执行内置应用市场图形化编排编排分类管理实时/定时编排流程状态自
9、动检查状态执行状态自定义内置常用状态应用故障自愈监控告警集成自定义事件触发Agent事件采集作业执行作业编排声明式管理事件驱动BiliOSDebianRedhatCentOS。Job是一套基于作业平台Agent/SSH双模式,提供基础操作的原子平台;具备上万台机器并发处理能力,除了支持脚本执行、文件分发、定时任务等一系列基础运维场景以外,还支持通过流程调度能力将零碎的单个任务组装成一个自动化作业流程;而每个任务都可做为一个原子节点,提供给上层或周边系统/平台使用,实现调度自动化。通道能力建设-应用画像参照业内比较成熟的用户画像技术面相业务的应用画像主要是针对单个应用进行多维度分析,输出应用画像
10、分析报告基本信息包括2个部分:应用分析雷达图 应用画像基本信息 应用属性 应用标签 活跃度:主要衡量应用是否活跃,计算依据变更/构建。得分越高,说明该应用越活跃 健康度:对接moni/事件,衡量应用当前可能存在的性能瓶颈与稳定性风险。得分越高说明越健康 复杂度:根据应用的使用场景,相关中间件的特性等维度,计算出的ADAM画像复杂度。负载:主要衡量应用的运行性能情况 成本衡量:主要衡量应用资源成本,得分越高,成本使用越高 权限衡量:主要衡量应用权限粒度是否过大,得分越高说明权限粒度控制越精确应用画像能力建设-资源拓扑围绕应用的资源统一走标准 CMDB 模型的方式接入,模型定义,模型关系定义构建应
11、用资源架构图,从流量访问入口,应用数据同步任务,离线任务等应用运维知识图谱应用资源拓扑风险巡检可观测根因分析定位应急协同能力建设-Oncall消费场景用户系统/平台企微入口监控系统流程工单事件运营风险预警业务预警WEB移动H5平台入口侧边悬浮IFrame各平台入口Json模块划分排班场景节假日排班即时反馈知识库分派/升级策略管理值班表管理人员团队管理职责管理支撑数据组织架构业务/服务架构CMDB服务树OA统一输出统一输出定位:实现人员、业务和职责的关系关联,提供便捷和精准的人员排班、响应、记录和负载管理。目标:清晰职责,合理排班,方便找人行业趋势01B站SRE平台工程理念引入02SRE平台化建
12、设探索03总结和思考04目录Content运营实践总结在推进平台工程,我们最常犯的两个错误是:一、不关注团队之间的互动;二、缺乏平台负责人的概念强化构建全新的接口,将底层的公有云服务完全抽象;简单地向所有用户公开所有的公有云服务,并简单地将身份管理和成本控制(Finops)的所有权交给“平台团队”;团队成员(包括产研、SRE)既有具备基础设施运营经验的人,也有可以代表平台用户的人,而产品经理负责确定功能优先级及平衡竞争性需求,并致力于确保你可以从平台用户那里获得可靠的反馈。平台+技术驱动,规避影子设计。运营需要做到反馈循环,重视用户体验(UX、DevEx):预期管理:需求要考虑,但并不照单全收
13、;KO+分享运营(文档/视频)+技术分享;反馈循环:问卷、核心KA例会、新人Landing;白皮书:使用场景、路线图、迁移手册;实时满足:Low Fruit 快速建立口碑;服务:API、易用、测试、部署、调试、文档SRE参与平台工程运营、设计、架构和迭代最佳的设计和最佳的实现往往诞生于生产环境运维与产品研发在相互尊重的氛围中进行的自由讨论(研发和SRE的视角决定,必须相互补位)。那么SRE必须承诺:一个专门负责可靠性(SLO),今天还覆盖成本(Finops)、效率(PaaS)的组织,拥有和产品开发团队相同的技能,以量化的方式不断改善。这个事实决定了SRE,必须全面参与到平台工程的设计和研发工作,每个人须熟练掌握研发技能、须熟悉每个PaaS产品,成为专家、推广者,甚至是设计评审,安全生产评估等工作。展望围绕开发者体验(应用)的Allinone平台1.运行时容器Caster物理佳部署Wave2.管理能力应用初始化应用画像应用下线3.变更管控高可用部署迭代部署弹性伸缩回滚金丝雀发布4.微服务治理流量控制服务统一认证鉴权限流降级服务发现负载均衡链路追踪扫码关注平台工程技术社区公众号获取峰会演讲资料