目录:
一、上汽集团IT建设现状及项目背景
二、DevOps建设理念及总体架构
三、如何一站式为上汽集团落地DevOps
四、DevOps在上汽集团的实施效果
一、上汽集团IT建设现状及项目背景
上汽集团金桥数据中心是上汽集团在上海建设的云化数据中心,主要以私有云的形式为集团内部提供资源支持,同时也会以公有云的形式为集团外延项目和集团下属企业提供服务。
在数据中心内,有云平台、用户中心、企业 盘、开放平台等项目,不同项目组的项目管理、持续集成、持续部署和交付等,不管从管理流程上,还是自动化程度上,都各有差异。
我们从2017年8月份开始对上汽集团金桥数据中心进行咨询和实施DevOps平台,12月底第一期平台建设基本完成。在此期间我们进行了多个试点项目的试运行,逐步迁移到DevOps平台。
二、DevOps建设理念及总体架构
理念
三、如何一站式为上汽集团落地DevOps
咨询落地
基于平台建设的目标,我们开始逐步推进平台落地。平台落地的第一步首先是建立规范标准。在这个阶段,我们和客户进行了多次沟通和探讨,制定了项目管理、组件和代码库、流水线以及度量的规范。
项目的主要阶段包括:立项、启动、需求、架构设计、构建、测试、部署准备、上线,每个阶段都涉及到完成标准、交付物、质量控制方式制定。举个例子,构建阶段,完成标准可以是完成代码开发、完成单元测试、测试用例全部通过、冒烟测试通过等,交付物可以是项目源码、代码评审 告、测试用例等,质量控制方式可以是会议评审等。
同时基于敏捷的工具集贯穿了整个项目管理过程,如用户故事的编写、冲刺计划的制定、可视化的看版、每日站会、迭代演示或回顾、反思会等等。
组件和代码库规范
对于组件,我们认为可以分为程序类组件、数据类组件和配置类组件;而在上汽数据中心,基本都是程序类组件。
程序类组件是最为常见的一类组件,比如Java,Python经过构建后生成用于部署或者独立使用的介质,这类介质即是程序类组件。根据用途,程序类组件又可以分为独立部署和可以依赖使用两类。可独立部署的组件一般会有独立的启停和状态查看入口,可以对组件进行全生命周期的管理。可以依赖的组件一般存放在依赖库中,比如Nexus、Artifactory等,通过依赖定义来使用。
数据类组件是用于关系数据库、内存数据库等数据类平台的可独立执行(发布)物,以数据库为例,每次版本发布,都需要对现有数据形成备份,然后执行数据升级,若出现问题,可快速回滚或恢复。
配置类组件较少提及到,更多的是以properties、xml等配置文件等形式存在。目前也出现了一些配置管理平台或工具,如Apollo、Disconf等等。
对于代码库规范,这里实际上指的是代码库工作流程。根据上汽数据中心现有的代码库规则,我们给出了两种使用模式,分别是主干开发、分支发布模式和feature开发、dev集成、master发布模式。
主干开发、分支发布模式,即所有团队的成员都在主干上进行开发,在发布时对其打分支或tag。从目前上汽的项目规模和流程考虑,此策略适用于大部分项目。结合上汽数据中心的四套环境,规范如下:
流水线规范
上汽集团数据中心目前共有四套环境:
开发环境:隶属软件开发测试区,一般在开发期部署使用
测试环境:隶属软件开发测试区,一般在集成测试期部署使用
灰度环境:隶属生产区,主要用于业务上的灰度部署
生产环境:隶属生产区,用于项目的最终上线
结合调研情况,上汽主流的项目(比如用户中心)可以归纳为三种不同的流水线:开发流水线、集测流水线、发布流水线。
开发流水线是指在开发过程中,为保障新开发代码的可用性和实时性,而形成的一条流程。可以在代码提交或合并是触发,也可以定时触发,用于日构建等。
发布流水线,目前上汽数据中心是覆盖了两套环境:灰度环境和生产环境。这里介质同步是通过堡垒机将集成测试使用的介质,同步到生产库中。
平台建设
规范项目管理
在DevOps平台的建设过程中涉及到诸多工具,项目管理就是其中之一。目前汽数据中心使用自有的项目管理方案,并形成了相应的管理体系。我们自己结合大量的项目实施经验和最佳实践,总结和制定了一套DevOps项目模版,如果客户没有成熟的项目管理规范,我们是推荐使用的。
模版化和可编排的持续构建
持续构建的模版化和可编排解决了不同场景下的构建需求,可以根据需要自由编排构建任务。另外,构建任务的易于扩展也使持续构建能够快速满足新的构建需求,比如在上汽数据中心,我们扩展了“上传介质到S3存储”、“Docker镜像同步”等构建任务。
看板和 表
看板和 表的数据是掌握项目进度和质量,进行度量的依据。我们主要从项目构建/部署频率、成功率,代码质量,任务完成率等来进行进行相关度量指标的统计和展示。
服务化
为了满足租户用户的使用需求,DevOps将构建进行服务化,集成到上汽的云平台中。实际上构建是云平台中租户较常用的一个功能,比如构建Docker镜像用于后续容器化部署,或者构建出war包用于部署到服务器。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8816 人正在系统学习中 相关资源:汽轮机仿真软件.zip-机器学习工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!