鹏华基金研运一体化平台落地实践,探索数字化转型
5 月 16 日,蓝鲸行业说直播专栏又迎来新一期的更新,第八期带来金融基金行业的研运一体化落地实践分享。
运维“监·管·控”、研发“效能工具链”如何实现一体化建设?平台能力如何实现自主扩展及数字化转型?来看看鹏华基金是如何实现的。
直达原文,获取资料:直播回顾 | 鹏华基金研运一体化平台建设实践
全文约 5800 字,预计阅读时间 20 分钟。
鹏华基金管理有限公司是一家总资产管理规模过万亿、累计服务客户过亿的公募基金管理公司,公司致力于打造业界一流的综合资产管理平台,金融科技在服务公司各业务领域数字化建设中起着至关重要的作用。
随着业务和技术的复杂度不断提升,技术团队规模也在不断发展,现有的研发和运维平台在灵活性、拓展性和效能方面存在不足,因此我们规划建设一体化平台,支持金融科技团队工作效能的提升。
一体化技术平台的思考
1、烟囱林立,人工为主
随着业务的不断发展,IT 研发和运维团队规模不断扩大,我们传统的研发和运维平台出现了一些瓶颈,无法满足实际的工作需要。主要有:
IT 服务流程方面较为分散,IT 运维工具之间没有打通,形成了一些孤岛
内部存在多套监控系统
自动化程度较低,不同的研发团队使用了不同的研发管理平台,缺少统一的研发体系规范和管控措施
研发工具分散,无法沉淀部门统一的研发过程数据,无法进行效能分析和持续改进
![](https://static001.geekbang.org/infoq/21/213293e12d43600d8bfc59c9c95fcc81.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
2、破局:践行“系统+流程+数据”三位一体
因此,我们希望建设一套平台化的架构体系,面向研发、运维、运营的 CI/CD/CO 全流程管理的一体化平台。
通过平台能力支撑我们的项目需求、编码、持续集成、测试、发布、监控等各个工作环节。公司的各业务部门,各技术团队的各角色,都能够在统一的平台上完成各自的工作,从而提高企业的研发效能和运维效率,提升技术团队的价值交付。
![](https://static001.geekbang.org/infoq/a8/a8fac807a529e6cfb782ea54710af46b.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
3、破局:建立体系化的研运支撑能力
基于这样体系化的一体化平台,我们主要希望能够达到以下三个目标。
第一,业务全流程贯通
流程化和自动化,平台能够快速构建 IT 服务流程,能够支持研发流水线和运维工作的自动化处理。
第二,数据资产沉淀
通过一体化管理平台,管理我们技术团队的工作过程。基于数据治理的视角,沉淀高质量的过程数据,用于后续分析和发现问题,形成运营的驾驶舱。
第三,能力持续改进
各职能团队能够对平台工具流程进行持续改进,持续推进 IT 数字化和业务数字化的工作。
![](https://static001.geekbang.org/infoq/a6/a677ac4502bb3057adf1f5e6bf71506d.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4、一体化平台建设需要考虑的问题
在规划一体化平台建设时,我们主要面临和考虑了以下几个问题。
第一,引入平台及现成工具,不重复造轮子
通过引入相对成熟的、具备可持续优化能力的一体化平台,避免内部重复的造轮子,减少推倒重来的情况,从而提升效率。
第二,平衡内外部成本,定制开发和自主开发并行
在开发模式上面,对于一些标准化、通用的能力,我们通过模块采购,选择与嘉为蓝鲸合作。
对于个性化的一些场景需求,基于蓝鲸的 PaaS 能力,我们进行自主研发,有效的控制项目成本。
第三,关注技术人员能力提升
在项目的整个实施过程当中,我们要求内部人员深度参与,提升运维开发能力和研发管理能力。
第四,人员与组织的价值提升
提升整个团队的技术能力,最终达成技术团队的数字化转型,提升组织的价值交付能力。
![](https://static001.geekbang.org/infoq/41/412a5983ec5dfcfcdc68542d75eced64.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
5、运维平台发展阶段
我们一般认为在平台工程方面,组织会经历以下几个阶段:人工、自动化、平台化、数字化和智能化的发展。
我们在这个项目建设前是处于人工和部分自动化工具运维的状态,项目完成后,通过一体化平台支持运维研发管理工作,不仅形成了一体化的平台,同时也沉淀了整个技术的过程数据,为后续我们在智能化的发展奠定了平台和数据的基础。
![](https://static001.geekbang.org/infoq/38/389a60d34d9ad3ae1d4ac26a6eff07e2.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
运维“监·管·控”一体化建设
1、监、管、控 联动一体
接下来我分享一下我们在基于运维视角的“监·管·控”一体化建设内容,这个是我们的整体的架构图。
通过一体化平台的建设,实现了运维的“监·管·控”、联动一体化的目标。公司目前所有的 IT 资产,通过配置录入和自动发现,统一进入 CMDB 数据库。
![](https://static001.geekbang.org/infoq/0e/0eabba1fc775fb177f75572beb656e41.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
架构图左边,是基于蓝鲸的 PaaS 平台构建了公司内部的 ITSM 流程管理模块,统一沉淀和管理公司的 IT 服务流程。
同时,为了提升流程的使用体验和效率,我们将这个流程跟内部的 AD 域、OA 系统、代办流程进行了打通,并提供移动端的办公能力,提升了整体的流程处理效率。
架构图右边,是自动化运维和监控告警一体化的建设。目前各个团队的一些工具脚本,基本上都沉淀到了一体化运维的模块当中进行统一的管理。
监控中心会统一收集对接各个系统的实际数据,通过告警中心进行告警的丰富和收敛。打通短信、邮件和流程的通知,支持了我们整体可观测的能力。所有的 IT 资产、ITSM 的流程数据,还有监控告警的过程数据,都会通过我们的运维大屏进行可视化数据的展示,形成运营大屏和驾驶舱。
2、所有 IT 内部服务在线自助化
在 IT 服务建设方面,我们实现了 IT 服务的流程化、规范化和自动化。根据我们内部的 IT 管理规范,驱动了流程在蓝鲸平台的落地,支持了 IT 服务的在线化处理。
我们总结了 IT 服务的以下几个特点:
服务构建
首先,它能够根据平台的能力,快速的编排和构建我们的 IT 服务流程。在服务过程的落地中,均通过一些配置化的方法降低开发成本,效率非常高。
服务供给
在形成了一整套的 IT 服务体系之后,用户可以通过流程进行申请或者直接使用服务流程。同时,在整个流程的运营过程当中,用户和相关的干系人也会针对流程提出一些问题和优化建议。这个平台能够敏捷地支持流程的调整和改进。
服务运营
我们也统计了一下,在上线后,目前在需求方面沉淀的工单有 1000 多个,事件 300 多个,变更 2000 多个。基本上部门内部的流程均进行了高效的流转和运营。
![](https://static001.geekbang.org/infoq/d3/d3072c15a3fdca5307100552add0bbe0.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
3、配置驱动自动化,打通流程形成工作闭环
通过 ITSM 流程协同 CMDB 数据库进行数据录入、审批执行。CMDB 的建设过程中,我们有两点做得不错的地方:
第一,标准结构化
我们在做 CMDB 的时候,与内部的数据治理团队协同定义了 CMDB 的模型和元数据标准。同时,对 ITSM 驱动 CMDB 落地当中涉及的节点相关数据进行了定标,保障整个流程驱动的 CMDB 沉淀的最终数据是高质量的。
第二,不再等待信息
通过流程的驱动,整个自动化流程承载的配置信息、监控告警信息、上下文信息等,都能够在流程当中进行流转,无需再次进行数据信息的沟通,提升了 ITSM 的处理效率。
![](https://static001.geekbang.org/infoq/0b/0b9b0e2f2e11b17783645af85ce175a5.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4、建设统一告警体系,提升运维保障效能
下图是我们监控告警的流程架构图。我们把监控和告警整合为一体化的平台能力,提升了运维的保障效能,我们把内部的主机、日志、网络、数据库等重要的资产信息通过监控系统采集为统一的时序数据,然后通过标准化接口对接告警中心。
告警中心具备告警的收敛能力,同时也可以关联 CMDB 做信息的丰富,最终形成告警信息通知到相应的干系人。对于一些关键业务的告警,会形成工单进行沉淀和驱动跟进,对于相对来说风险较低的、可控的告警,会调用自动化运维能力去进行自动恢复。
![](https://static001.geekbang.org/infoq/a3/a30ba272f5d2cebb2c590050e0a0d93e.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
所有的异构环境接入,均是通过蓝鲸插件的平台开发能力进行的自研和拓展(如图所示),可以拓展到我们内部的异构的基础设施和一些环境。
我们自主开发拓展了一些云平台、NAS、大数据平台、数据库、日志等等,都接入到了我们的监控中心。
自主扩展告警源插件,接入蓝鲸监控平台、SCP 云平台、NAS 存储、大数据 TBDS 平台、OCP 平台、ELK 日志等告警事件源
![](https://static001.geekbang.org/infoq/3d/3d003a791d5c78ab0770882698b55688.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
研发“效能工具链”一体化建设
1、构建端到端研发效能平台
接下来我再继续分享一下,基于研发平台的效能工具链的一体化建设。
公司的研发团队经历了从小到大的过程,从局部开发业务系统,发展为整体业务系统全面自研的过程。
在这个过程当中,我们存在一些问题。
各个研发产品组所使用的需求管理工具没有进行统一的管理。有的使用一些在线的文档,有的使用 Confluence、Excel、禅道等等。这就存在需求管理环节的系统割裂问题,没有进行统一的管控,没有沉淀统一的研发需求相关数据。
同时,在项目建设之前,也没有一个企业级的制品管理工具,无法保障依赖包的安全和可信。在 CI、CD 方面也存在不统一的情况,内部的一些第三方工具,例如测试、代码安全扫描的工具等,跟我们的流水线没有打通,在协同方面存在一些效率问题。
基于以上等等问题,我们在完成运维平台的平台化能力建设后,继续推进了研发一体化平台的建设。
![](https://static001.geekbang.org/infoq/5e/5ef861b11a6bf0011f8bd1a434300ecd.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
在这里,我们的项目引入了蓝鲸的 DevOps 平台、测试管理、制品管理、CI、CD 度量等等过程管理工具来进行一体化的建设,与我们公司内部研发过程需要用到的第三方的工具进行了打通。
2、研发效能工具链统一
下图展示了我们的内部工具、流水线和插件开发能力打通的情况。
关于流水线与数据库,我们有一个数据库的工具,与测试工具对接后能够进行数据的交互和打通,包括安全代码、扫描工具的互通。
在发布环节涉及到容器平台流水线的打通,整个过程当中,信息的通知也跟内部的移动端消息通知进行了互联互通。
整体实现了流水线与内部三方工具的互联互通、效率提升、自动化执行。
![](https://static001.geekbang.org/infoq/28/28997a4bb1c7cd918977c1d043f98d37.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
在此之前公司的运维流程平台和工程平台的建设是相对比较孤立和割裂的。我们基于蓝鲸一体化的平台能力,实现了 ITSM 的管理流程和 DevOps 工程域的互联互通。这一点是我们本次项目比较有特色的实践内容。
在需求管理方面,通过 ITSM 审批后的业务需求会自动推送到 DevOps 平台,形成史诗级业务需求。产品经理使用 DevOps 平台就可以看到需求池中的待办需求,通过用户故事进行需求拆分,开发团队就会根据用户故事去进行开发任务的维护。这是业务需求在管理域和工程域的实施情况。
![](https://static001.geekbang.org/infoq/08/08d8bbb28058255c435d99fb4c398665.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
通过 CD 平台的流水线能够自动化管理开发过程。在工程域当中形成的用户故事的开发状态、开发效能指标等数据,会自动同步到我们上层 ITSM 需求流程的管理域中,这样业务的干系人就能够通过管理域数据视角看到工程域的进展状态,了解工程域的关键指标数据。
相应的需求经过开发和测试完成后进行发布,也同时将 CI、CD 的流水线跟上层的变更流程进行互联。在变更流程审批通过后,就会自动触发流水线的执行发布。
以上这些需求变更在工程域和管理域上的数据互联互通,使业务的需求人员和相关的业务干系人能够了解到工程域的信息,同时也提升了工程域的状态和效率。
3、开源治理:唯一可信源,控制风险
分享一下开源治理的实践,通过平台我们实现了开源治理的目标。开发团队引入开源组件进行流程的管控,建立公司层面的唯一可信的制品库,控制开发风险。如果需要引入不在我们统一制品库的开源组件,需通过标准化的流程进行申请和审批。审批通过后由安全人员对相应的开源组件进行安全扫描和处理,建立白名单机制,引入到统一的制品库当中。
![](https://static001.geekbang.org/infoq/65/659e1403273c846bbe365828d6e26ec4.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4、实现多维度的研发效能数据度量
下图是沉淀在各个开发环节的过程数据,覆盖需求管理、测试管理、缺陷管理、代码管理、发布管理等整个端到端的各模块。
利用蓝鲸的 CI 模块可以很方便的为不同的团队提供关键数据的度量指标,发现和分析团队中的一些问题,从而进行持续的改进。
目前公司所有的产品组和开发组都已经使用了统一的蓝鲸 CD 平台,因此所有的数据都能方便地展示给各个项目组。
![](https://static001.geekbang.org/infoq/81/81987e8ca1a953d3b33899dcb35a9620.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
平台能力自主扩展,数字化转型
1、从脚本到运维开发
运维团队整体通过平台化的建设,在运维开发方面进行了一些探索和转型,实现了团队的能力进阶。
基于蓝鲸的作业平台,我们实现了对所有脚本的统一管理。
基于蓝鲸的标准运维,我们实现了对软件的安装、配置、发布、自动化运维场景的推进和落地。
基于蓝鲸强大的 PaaS 的开发框架,运维团队可以比较低成本的去开发运维相关的系统,去探索 SRE 的转型。
![](https://static001.geekbang.org/infoq/d7/d70b042c6d5ee3352ebf3b79055db093.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
2、支撑部门日常巡检统一管理
在运维场景自主拓展方面,运维团队利用了蓝鲸的 PaaS 开发框架,开发了一套部门的日常巡检管理的应用系统,能够对各个团队的日常关键任务进行管理。同时,在每一项的巡检项目背后对接了蓝鲸的作业平台,能够实现部分运维项的自动化巡检。
![](https://static001.geekbang.org/infoq/1a/1a5660c3c829b1ca91a3e2208eb469e9.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
3、自主探索运维转型
基于蓝鲸平台沉淀的各个研发和流程的过程数据,我们对部门的团队和个人绩效考核指标进行了一些效能平台的开发和落地。
下图右边的内容展示了运维流程的各个待办通知与整体的消息中心打通,提供提醒和通知功能。
![](https://static001.geekbang.org/infoq/85/85fe5a44daacf521c8097574889d99aa.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
4、流水线插件集成
在研发场景自主拓展方面,蓝鲸 DevOps 平台具有非常强大的插件开发能力。基于流水线插件的开发方式,能够很方便的实现我们整个平台工具的互联互通,进一步提升研发效能。
![](https://static001.geekbang.org/infoq/52/5276b62fee80613c6d29af1c28cd36f0.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
5、展望:让 CMDB 从后台走向前台
如图是我们构建的一个比较完整的 CMDB 数据库。基于 CMDB 可以去探索更深一步的应用,例如数据消费的一些场景、识别各团队 IT 资产的使用情况等,从而去优化各团队的用量管理、资源使用,以及摸清各团队的使用情况和优化建议,给各团队提供全场景的运维数据。
![](https://static001.geekbang.org/infoq/ef/ef5cfecb54e5cd87efedc15874e1393d.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
问答环节
CMDB 是怎么保证数据准确性的?
答:一是通过自动化手段,通过采集插件以及外部数据对接等方式,将能用自动化插件获取的数据进行采集;二是对 CMDB 进行数据定标,通过各运维服务流程进行 CMDB 数据的录入,支持流程中可直接引用 CMDB 数据,流程审批后可直接写入 CMDB 中;三是在一体化运维平台的各个场景中,都对 CMDB 数据进行了消费,如监控下发、告警通知、资源交付等等,把数据用起来,活起来,让数据有价值。
目前运维工具大概六七个,都是单独的入口,建议怎么实现一体化呢?
答:可以先实现入口的统一,蓝鲸平台可以接入外链应用,也可以支持外部登录的集成,可以先将各个运维工具“放到”蓝鲸桌面上,实现运维统一的工作台。后续进行替代与能力整合,能力相同的,可以考虑替代,将场景迁移到蓝鲸上,如自动运维的脚本等,一些专业运维工具,可考虑能力融合,把运维工具能力集成到 API 网关、标准运维原子中。实现能力与数据的互通互联。
请问这个告警中心是单独开发实现的吗?跟蓝鲸监控平台本身的告警通知有什么关系?
答:告警中心是独立的 SaaS 应用,将蓝鲸监控平台的告警接入到了告警中心,现在存量有不少各种用途监控系统,如蓝鲸监控用于操作系统与基础软件监控,zabbix 主要是网络与硬件监控,OEM 监控数据库等等,需要将不同监控系统产生的告警集中进行管理,统一对这些告警事件进行治理与转 ITSM 事件单据。
目前监控、告警、ITSM 都有,可以集成进蓝鲸吗?
答:可以的,蓝鲸平台的开放性与扩展性非常好,可以将已有的运维系统能力进行整合,比如已有的监控,告警、ITSM 可以调用蓝鲸 CMDB 的 API 接口消费配置数据,告警也可以调用自动化能力的 API 实现自愈场景。蓝鲸平台 API 网关,标准运维原子,监控采集插件等等都具备较好的扩展性。
直达原文,获取资料:直播回顾 | 鹏华基金研运一体化平台建设实践
评论