「视觉中国」是一家国际知名的以“视觉内容”生产、传播和版权交易为核心的互联网科技文创公司,2014年成功在深圳A股上市(股票代码:000681)。视觉中国整合全球优质版权内容资源,基于大数据、人工智能技术,通过互联网版权交易平台提供亿级的高质量、专业性的图片、视频及音乐素材,为内容生态中的生产者与使用者提供全方位的版权交易和增值服务。
客户期望
公司上市后业务快速的增长,公司原来自建的 jira + gitlab + jenkins 平台,存在多账号维护难,数据信息呈献孤岛;造成需求交付慢,过程不透明,人员工作情况不清晰;从年初的30人左右扩张到百十号人时,代码能力参差不齐,在代码规范不健全的情况下,线上质量比较堪忧;主要的诉求有:
1)一站式云原生DevOps平台:解决多账号管理难、数据信息孤岛,无法统计工作、人员情况的问题。
2)内建质量能力:代码规约、安全、敏感信息、代码评审、以及测试人员通过测试自动化保证线上质量;
3)降本提效:释放运维同学瓶颈、降低机器成本;提升需求交付效率;
解决方案及价值
•一站式云原生DevOps平台,需求交付速度提升1倍
阿里云RAM子账号使用云效平台,解决了多套平台账号管理的问题;通过需求看板做到了前后职能拉通、左右模块对齐,需求交付速度直接提升了1倍。
通过在每个需求上自定义字段表示产品经理、研发、测试、运维等角色,实现人员工作量的统计,实现合理的排兵布阵;缺陷、代码量的统计辅助发现存在的问题;
•质量内建线上故障降低30%
研发人员接收到开发任务后,首先到Codeup创建一个开发分支,代码提交后自动触发代码规约、安全漏洞、敏感信息等检查,很好的落实了团队的流程与规则;代码检查通过后,提交代码评审并合并到集成分支上;
自动触发持续集成流水线,构建部署测试环境后,流水线调度jmeter接口测试,Katalon Studio web 自动化测试;通过代码质量的提升,测试自动化的实现不但提高了效率,线上故障同时降低了30%;
•机器成本、人员成本降低20%
运维同学先前通过jenkins+脚本发布,扩容时需要先写脚本弹性伸缩出来机器,再通过Jenkins部署。无论是发布还是弹性伸缩运维同学都成为了瓶颈,通过云效流水线模板定义企业研发模式,日常发布交由研发同学,高效解决了运维瓶颈和发布过程中快速定位解决问题;
基于云效落地最佳实践
通过云效一站式工具平台提供的能力,结合公司实际情况和交付流程,我们的实践过程如下方案如下:
第一步:项目在线化管理
1、企业的项目通过云效在线化管理,包含企业内信息化项目、网站交付,内容管理和供应商管理类5大类项目
2、需求完成了从销售运营、产品、设计、开发、测试、运维等前后职能拉通、左右模块对齐,需求交付速度直接提升了1倍。
需求工作流:待处理-->已立项-->需求调研-->产品设计-->评审中-->已排期-->开发中-->内部测试中-->预发中-->UAT测试-->已上线;
3、测试人员在具体项目内与迭代对应「测试计划」做测试工作的执行过程管理,帮助测试人员对测试过程进行记录和协同,可以全面提升测试效率和软件交付质量。
测试人员用「测试用例」管理沉淀用例内容,用例可以被重复使用,减少测试人员重复工作量,提高企业测试用例编写规范;
4、在每个需求上自定义字段表示产品经理、研发、测试、运维等角色,实现人员工作量的统计,实现合理的排兵布阵;
第二步:内建质量体系
1、通过云效的实践,我们引入了「内建质量」的概念。所谓「内建质量」是指在价值流的每个环节都关注质量建设,不让缺陷流转到下一个环节。
我们在研发流程中规范了需求、设计、测试用例等一系列评审规范;并在编码阶段代码提交后自动触发代码规约、安全漏洞、敏感信息等检查,很好的落实了团队的流程与规则;代码检查通过后,提交代码评审并合并到集成分支上;
2、持续集成流水线构建部署后,自动触发测试自动化。通过这些措施的综合运用,研发质量有了明显提升,缺陷密度显著降低。
第三步:构建持续部署完成自动化发布
1、我们有500条流水线,手工创建成本比较高,通过企业级流水线模板管理一键初始化,规范化流程步骤,降低流水线人力维护成本。
2、流水线变量很好解决了一套代码部署多套环境的问题,并通过人工卡点做生产前的质量的收口,最后采用镜像升级方式实现Kubernetes发布。
客户心声
「视觉(中国)文化发展股份有限公司」CTO
随着云计算和容器技术的快速普及,DevOps越来越被重视,甚至成为保证公司生产力的最佳之选。视觉中国通过引入阿里云云效和ACK解决方案,替代了最初的SpringCloud+ECS+Gitlab+Jenkins的组合,从协作、编码、测试、交付、应用运维,全面使用云效一站式完成,打造完整⾼效的CI/CD系统,完成从传统架构往云原⽣DevOps转型。
作者(合作者)介绍
王经理,现任运维经理岗位,负责视觉中国运维团队管理、架构设计工作,主导VCG网站、微服务容器化以及自动化运维平台建设,致力于DevOps转型和容器技术落地。
赵经理,2018年加入视觉中国,从业务运维到运维开发,先后承担多次技术攻坚及推动技术演进:Jenkins CICD落地、Swarm迁移Kubernetes、自研自动化运维平台、微服务容器化部署等。