前言:
博云提供 DevOps 产品及服务的起点,是在2016年,服务对象是当时南方某家头部的互金/消金公司,然后到后来的中石油、中海油,再到现在的金融银行、证券,我们一直在做与 DevOps 相关的事情。
一开始我们也是做工具链集成,包括 Jira 、自动化测试、统一认证、资源对接等等。基础平台是基于我们的容器云产品,也没有独立的 DevOps 产品。后来随着实践的深入和市场的反馈,逐步构建了独立的 DevOps 产品,一开始是工具链、代码管理、制品管理,后来又做了项目协同、测试管理、指标度量等。
01统一用户体验
从 DevOps 的理念本身来说,工具链是非常关键的一部分,这就意味终端用户在使用体验上存在着跨系统、跨工具的情况。而很多客户在实际使用中,也并不希望大量的终端客户去做类似登录/使用组织级制品库(包括其他很多系统)的动作。
另外,企业在 DevOps 实践过程中,除了标准意义上的 DevOps 工具链,还可能与很多周边系统相关联。比如企业统一账户管理用于账户统一和统一登录、企业 PMS 项目管理系统项目 ID 统一、OA 审批系统用于集成审批、 ITSM/CMP/ 容器云平台来做资源的申请回收流程集成等等。
基于以上原因,所以希望能通过 DevOps 平台的建设将一线用户的使用体验统一起来,实现以上需求。
DevOps 涉及的内外部系统、工具链工具如此之多,其过程数据自然散落在各个系统和工具当中。当我们想做整体的指标度量、过程改进工作时,必然要依赖全量的数据,所以多平台数据归集与整合,是数据驱动研发过程改进的基础和必然选择。
而归集数据应该归集到哪里,无疑是 DevOps 平台(指标度量模块)最为合适。因为只有这里完全是站在项目/产品研发视角,会关注到整个研发流程的地方。
在软件研发工程管理的过程当中,有很多场景是需要跨工具、跨研发阶段、跨角色的。
比如需求、迭代、版本等对象关联这个场景,可能涉及到需求的提出(来源:OA/ITSM/PMS/项目协同工具等)、流转,进入 DevOps 平台/项目协同工具后需要组织版本、迭代,最后金融 DevOps 平台开始开发的过程。
再比如资源的申请与开通,如果从运维视角出发,一定是通过 OA/ITSM/CMP 完成线上及自动化的过程就可以了,但如果从项目视角,一个项目经理需不需要快速了解,以项目纬度,发起了哪些个资源申请的流程、分别在什么环境、当前审批流环节、资源是否下发等等。
不同的组织,在开发语言、技术架构在工具链的选择上并不完全相同,甚至不同行业也会有很多差异。将不同的工具链整合在一起、用好、推广好,本身也存在一定的难度并需要投入相关的人力和物力。对于对工具链很多工具还比较陌生的组织来说,选择一家已经产品化的 DevOps 厂商,可以快速获取最佳实践并应用到自身的研发管理中,花的是小钱,省下的是宝贵的时间,还规避了很多的技术风险。
而对于已经对工具链有一定使用经验的组织来说,势必会发现开源工具链中各种工具的一些不足。这时候,等待开源社区逐步去完善功能基本是不现实的,因为一般社区更新速度都比较慢。而选择产品化的 DevOps 方案来落地,则可以享受其带来的扩展功能和增值服务。
另外,在工具链的逐步应用深化过程中,就会发现很多运维上的需求。比如某些工具的日常运维、调优、升级,甚至更换工具&迁移。这些运维类的服务,对于中小型组织来说尤为头疼,很重要,不一定经常出问题,但出了问题可能还很难解决。这时候有 DevOps 厂家的服务,压力就会小很多。
在国际形势存在高度不确定性、中美关系持续紧张的背景下,国产化的呼声越来越高,在国家和行业层面,很多对于信创也提出了明确的政策要求。而对于企业来说,深度绑定一些国际企业的产品确实存在不同程度的技术风险。