「视觉中国」持续交付 降本提效

「视觉中国」是一家国际知名的以“视觉内容”生产、传播和版权交易为核心的互联网科技文创公司,2014年成功在深圳A股上市(股票代码:000681)。视觉中国整合全球优质版权内容资源,基于大数据、人工智能技术,通过互联网版权交易平台提供亿级的高质量、专业性的图片、视频及音乐素材,为内容生态中的生产者与使用者提供全方位的版权交易和增值服务。

logo

客户期望

公司上市后业务快速的增长,公司原来自建的 jira + gitlab + jenkins 平台,存在多账号维护难,数据信息呈献孤岛;造成需求交付慢,过程不透明,人员工作情况不清晰;从年初的30人左右扩张到百十号人时,代码能力参差不齐,在代码规范不健全的情况下,线上质量比较堪忧;主要的诉求有:

1)一站式云原生DevOps平台:解决多账号管理难、数据信息孤岛,无法统计工作、人员情况的问题。

2)内建质量能力:代码规约、安全、敏感信息、代码评审、以及测试人员通过测试自动化保证线上质量;

3)降本提效:释放运维同学瓶颈、降低机器成本;提升需求交付效率;

解决方案及价值

一站式云原生DevOps平台,需求交付速度提升1

阿里云RAM子账号使用云效平台,解决了多套平台账号管理的问题;通过需求看板做到了前后职能拉通、左右模块对齐,需求交付速度直接提升了1倍。

通过在每个需求上自定义字段表示产品经理、研发、测试、运维等角色,实现人员工作量的统计,实现合理的排兵布阵;缺陷、代码量的统计辅助发现存在的问题;

质量内建线上故障降低30%

研发人员接收到开发任务后,首先到Codeup创建一个开发分支,代码提交后自动触发代码规约、安全漏洞、敏感信息等检查,很好的落实了团队的流程与规则;代码检查通过后,提交代码评审并合并到集成分支上;

自动触发持续集成流水线,构建部署测试环境后,流水线调度jmeter接口测试,Katalon Studio web 自动化测试;通过代码质量的提升,测试自动化的实现不但提高了效率,线上故障同时降低了30%;

机器成本、人员成本降低20%

运维同学先前通过jenkins+脚本发布,扩容时需要先写脚本弹性伸缩出来机器,再通过Jenkins部署。无论是发布还是弹性伸缩运维同学都成为了瓶颈,通过云效流水线模板定义企业研发模式,日常发布交由研发同学,高效解决了运维瓶颈和发布过程中快速定位解决问题;

基于云效落地最佳实践

通过云效一站式工具平台提供的能力,结合公司实际情况和交付流程,我们的实践过程如下方案如下:

结构图

第一步:项目在线化管理

1、企业的项目通过云效在线化管理,包含企业内信息化项目、网站交付,内容管理和供应商管理类5大类项目

12、需求完成了从销售运营、产品、设计、开发、测试、运维等前后职能拉通、左右模块对齐,需求交付速度直接提升了1倍。

需求工作流:待处理-->已立项-->需求调研-->产品设计-->评审中-->已排期-->开发中-->内部测试中-->预发中-->UAT测试-->已上线;

33、测试人员在具体项目内与迭代对应「测试计划」做测试工作的执行过程管理,帮助测试人员对测试过程进行记录和协同,可以全面提升测试效率和软件交付质量。

测试人员用「测试用例」管理沉淀用例内容,用例可以被重复使用,减少测试人员重复工作量,提高企业测试用例编写规范;

454、在每个需求上自定义字段表示产品经理、研发、测试、运维等角色,实现人员工作量的统计,实现合理的排兵布阵;

56第二步:内建质量体系

1、通过云效的实践,我们引入了「内建质量」的概念。所谓「内建质量」是指在价值流的每个环节都关注质量建设,不让缺陷流转到下一个环节。

我们在研发流程中规范了需求、设计、测试用例等一系列评审规范;并在编码阶段代码提交后自动触发代码规约、安全漏洞、敏感信息等检查,很好的落实了团队的流程与规则;代码检查通过后,提交代码评审并合并到集成分支上;

7

2、持续集成流水线构建部署后,自动触发测试自动化。通过这些措施的综合运用,研发质量有了明显提升,缺陷密度显著降低。

8

第三步:构建持续部署完成自动化发布

1、我们有500条流水线,手工创建成本比较高,通过企业级流水线模板管理一键初始化,规范化流程步骤,降低流水线人力维护成本。

9

2、流水线变量很好解决了一套代码部署多套环境的问题,并通过人工卡点做生产前的质量的收口,最后采用镜像升级方式实现Kubernetes发布。

9

客户心声

「视觉(中国)文化发展股份有限公司」CTO

随着云计算和容器技术的快速普及,DevOps越来越被重视,甚至成为保证公司生产力的最佳之选。视觉中国通过引入阿里云云效和ACK解决方案,替代了最初的SpringCloud+ECS+Gitlab+Jenkins的组合,从协作、编码、测试、交付、应用运维,全面使用云效一站式完成,打造完整⾼效的CI/CD系统,完成从传统架构往云原⽣DevOps转型。

作者(合作者)介绍

王经理,现任运维经理岗位,负责视觉中国运维团队管理、架构设计工作,主导VCG网站、微服务容器化以及自动化运维平台建设,致力于DevOps转型和容器技术落地。

赵经理,2018年加入视觉中国,从业务运维到运维开发,先后承担多次技术攻坚及推动技术演进:Jenkins CICD落地、Swarm迁移Kubernetes、自研自动化运维平台、微服务容器化部署等。