石油巨头与Kubernetes, Microservice & DevOps共舞

云原生技术和 DevOps 如何帮助 PetroChina 快速实现以下目标? - 构建应用平台; - 快速迭代智能信息系统; - 稳步规范管理体系; - 使工作流程标准化; - 可视化操作系统; - 智能化故障分析; - 自动化维护操作; 作为世界一流的综合性国际能源公司,中石油选择了Kubernetes建设技术平台,达到消除信息孤岛,实现勘探开发数据互联互通的目的。中石油项目给包含通用技术平台、DevOps、微服务、中间件、数据湖服务五大主要功能模块。值得一提的是,截止目前,这也是中国金额数目最大的容器项目。
展开查看详情

1.Big Oil on Kubernetes and DevOps Hui Chi , Kai Chen

2.今⽇话题 今日话题 1 项目背景 2 建设思路与整体方案 3 产品与技术详情

3.业务信息系统现状 应⽤ 系统应⽤ • 功能单⼀ • 数据分散,到处找 • 管理型居多 • 应⽤独⽴,难协同 • 适应性不⾜… • ⼀体化应⽤,不⽀持 应⽤ 应⽤ 应⽤ 应⽤ • 需求响应效率低… 技术平台 • 规范不⼀致 • 组件不复⽤ • 集成共享难… 技术 技术 技术 技术 系统建设 数据 • 建设周期⻓ 数据 数据 数据 数据 • 存在重复建设 • 标准不统⼀ • 投资回报低 • 重复录⼊ • 系统维护成本⾼… • 数据不⼀致…

4.总体架构 通用应用 勘探生产管理 开发生产管理 协同研究 经营管理与决策 统一技术平台 容器平台 DevOps 微服务治理 统一数据湖 上游全业务链数据 数据治理

5.今⽇话题 1 项目背景 2 建设思路与整体方案 3 产品与技术详情

6.瑞道容器云平台 以容器平台功能为支撑, 实现应用的容器化托管, 解决环境一致性,部署 架构复杂等问题 DEVOPS 微服务 通过租户体系保证租户 租户体系 安全管理 资源相互隔离,支撑多 租户场景 通过安全体系来保障 容器平台 DevOps过程中的安全问 题

7.DEVOPS体系构成 认证与改进 持续优化, 形成闭环 项⺫管理 快速迭代开发,更短的发布周期, 学习培训 并统⼀流程,规范化管理 保障平台使⽤效果,快速实践落 地 知识共享 知识共享与积累,不断完善,持 运营统计 续学习改进 全链路指标统计,为持续改进提 供数据⽀撑 DEVOPS⼯具 持续构建与测试 保障代码质量,提升开发效率 运维监控 运⾏状态可视化,数据化,降低 部署⻛险,快速反馈 持续交付 提⾼部署的效率,降低部署的⻛ 险,提⾼部署的质量,消除部⻔ 壁垒,交付过程标准化, 透明化

8.企业级DEVOPS全景图 项⺫管理 流程协作与最 持续交付 持续构建与测试 运营统计 学习培训体系 佳实践 进度 范围 ⼯具链 ⾃动部 编译打 代码质量 XXXX 配置管理 培训规划建设 管理 管理 最佳实践 署 包 管理 指标统计 质量 ⼈⼒ 环境管 数据库变 多语⾔ 安全管控 管理 管理 测试管理 理 更 构建 XXXX 指标统计 平台培训 规范 运维监 构建实 ⻛险 沟通 通知反馈 测试管理 控 践 管理 管理 流⽔线建设 XXXX 部署策 功能测 指标统计 ⼯具培训 规范 性能测试 知识共享 略 试 知识 敏捷开发 接⼝测 产出物管 XXXX ⽂档 库建 规范 试 理 指标统计 培训效果评估 协作 设 ⼯具链⽀撑体系 知识库建设培训 事务 知识 代码托 制品仓 镜像仓 测试管 流⽔线编 代码质 镜像安 运营统 跟踪 库 管 库 库 理平台 排⼯具 量管控 全扫描 计⼯具 LAB 环境建设 ⼯具 DevOps ⼯具 ⼈员⾓⾊权限 标准案例建设 配额管理 初始化 初始化 企业场景建设 应⽤⺫录 认证与改进体系 租户管理与申请 其他⼯ ⼈员初始化 ⾓⾊权限职责 配额管理 DevOps⼯具链 成熟度评审 具 K8S 基础设施 度量驱动改进 调度 ⺴络 存储

9.已选⽤⼯具 Confluen GitLab ce Docke Mave r n JIRA Nexus kubernet es Junit Sonarqub e Elastic Jenkin s Registr Slelenium RedWoodH y Clair Q

10. 总体流程设计 u 在概念阶段完成产品⽴项评审 DevOps整体流程框架 u 在迭代0阶段完成系统总体架构审 概念 迭代0 开发 生命周期 需求分析 计,总体架构设计完成之后,启 迭代启动 产品立项 评审 动迭代启动评审。 整体过程框架 评审 工程活动 需求收集和分析 系统总体架构 迭代1 u 在迭代阶段包含1.需求分析、2.应 产品Backlog 设计 工作件 (Story验收用 例) ⽤设计、3.开发、4.测试、5.发布、 系统总体架构 迭代2 子过程 产品立项报告 6.运维、7、迭代回顾7个阶段 迭代3 实践 u 每个迭代时间固定,⼀般为2-4周 迭代n 1.需求分析 2.应用设计 3.开发 4.测试 5.发布 6.运维 7.迭代回顾 单次迭代开发交付过程 迭代需求列表 系统原型 测试报告 版本发布 评审 每日站会 持续集成 可视化管理 持续部署 相关规范:《敏捷开发过程指南》

11.规范指南设计 规范与指南 GIT分⽀管理规范 版本发布规范 缺陷管理规范 ⽤户需求分解指南 测试指南 …… 4+1共5个分⽀,每个 版本发布评审流程, 缺陷的定义,缺陷报 ⽤户需求分解法,⽤ 测试的各个阶段,测 …… 分⽀具体的⽤途 ⽣产环境上线流程 告,缺陷跟踪,缺陷 户故事地图 试阶段依赖的⽂档, 分析 测试的种类,测试类 型

12. 团队⾓⾊构成 • 对整体产品进⾏规划,需求排期 • 负责开发任务的分解,任务下发 • 功能接⼝性能测试 • 对产品团队负责 • 开发团队管理 • 产品质量保证 • 测试团队管理 产品主 测试主 • 团队管理 管 管 • 为系统应⽤稳定性负责 开发主 运维主 管 管 • 产品使⽤者 ⽤户 产品经 开发⼈ 运维⼈ • 定义监控指标 理 员 员 • 修改配置⽂件 • 应⽤运⾏稳定保障 测试⼈ 员 • 产品规划,需求排期 • 推动⺫标实现 • 功能接⼝性能测试 • 测试⽤例编写 • 需求理解 • 产品质量保证 • 编码实现 • 产出交付

13.⽀撑的场景 需求管理 持续测试 开发管理 持续部署 持续集成 持续监控

14.需求管理场景 需求提出 需求规划排期 需求处理 需求完成 ü 需求管理⼯具量化跟踪 ü 需求⾯板跟踪 ü 处理状态跟踪 ü 需求处理过程全链路追 ü 需求分级处理 ü 需求分级管理 ü 知识管理⼯具对知识协 溯 ü 统⼀需求管理流程 ü 责任到⼈ 同共享 ü 及时通知

15.开发测试场景 ü 测试case管理⼯具规范管 理 ü ⾃动化测试管理⼯具对测 试case进⾏图形化编排降 低⾃动化测试编写难度 测试case编写 ⾃动化测试编排 任务拆解分配 任务完成 构建集成 ü 开发任务关联需求 编码实现 部署⾃测 ü 事务管理⼯具跟踪状态 ü 事务管理⼯具对任务进⾏ ü 跟踪团队开发进度 细粒度拆解 ü IDE 与DevOps⼯具紧密 ü 设置合理的任务⼤⼩, 跟 集成 ü 代码提交触发流⽔线 踪开发状态 ü 代码变更管理任务 ü 流⽔线⾃动进⾏单元测 ü 本地代码扫描保证质量 试 ü 推荐Git 分⽀管理模型 ü 流⽔线⾃动进⾏编译打 包 ü 流⽔线⾃动⽣成镜像 ü 流⽔线⾃动部署更新服 务

16.发版提测场景 创建发版⼯单 测试环境部署 测试 版本Signoff ü 交付内容标准化规范化 ü 平台容器化快速部署 ü 使⽤⾃动化测试⼯具快速 ü 版本发布⾯板,跟踪版 ü 交付内容版本可追踪 ü 保证测试环境和开发环境 校验交付质量,加速测试 本发布进度 ü 交付内容关联需求 ⼀致 效率 ü 交付内容关联开发任务 ü 按照编写好的测试case进 ü 交付内容管理变更范围 ⾏⼿⼯测试

17.上线运维场景 接受发版⼯单 同步镜像 部署⽣产 上线完成 ü 交付内容标准化规范化 ü ⼀键同步镜像到⽣产环境 ü 容器云平台⼀键部署 ü 版本发布⾯板,跟踪版 ü 交付内容版本可追踪 ü 丰富部署策略 本发布进度 ü 交付内容关联需求 ü 内置丰富监控指标 ü 交付内容关联开发任务 ü ⾃动化监控警报 ü 交付内容管理变更范围 ü 智能扩缩容 ü 容器云平台屏蔽部署 架构的复杂性。

18.带来的提升 过程中能⼒提升 通过瑞道平台进⾏需求到上线运维的管理,打通了需 求与开发,开发与测试,测试与运维之间的壁垒,提 供了⼤量业界经过⼤量验证的规则规范,增加了⼤量 ⾃动化⼯具协助开发⼈员,测试⼈员与运维⼈员完成 相应⼯作,极⼤提升了⼯作效率。 需求有效管理 加快开发迭代速度 增加交付频率 降低交付⻛险 识别过程资源浪费 加速需求响应时间 团队效率的整体提升

19. DEVOPS平台成果 13x5x71 14x8x5 13个成熟度领域 成熟度 14个⾓⾊ 5个可量化领域 ⾓⾊职责 8个职责 71个⼯具⾃动分 析指标 5个权限组 13x7x5 2x6x4x1 认证体系 价值 ⼯具 13个开源⼯ 具 2⼤认证体系 7个插件 6 个测试场景 5套环境 4个课件 1个实验室环境 规范指南 流程 16x15x18 16个指南 6x14x3 15个规范 6⼤主流程 18个阶段性汇报 14 ⼦流程 10操作⼿册 3个标准管道

20. 部分成果展⽰ 操作⼿册(16) 1. 08-01-Eclipse-Git-Plug-in 2. 08-02-Eclipse-Jenkins-Plug-in 参考⽂档(2) 3. 08-03-Eclipse-Jira-Plug-in 1. 01-01-DevOps-交付件_代码分⽀管理规范 4. 06-04-代码审查指南V1.0 2. 01-02-DevOps-交付件_应⽤持续部署规范 5. 08-05-Eclipse-Sonar-Plug-in 6. 08-06-JIRA集成GITLAB操作⼿册 6 | 操作⼿册 7. 06-07-技术协议指南V1.0 阶段性成果(18) 1 | 参考⽂档 8. 06-08-敏捷开发过程指南 1. 04-03-DevOps-BPMN流程图 产品主管 应⽤运维 9. 06-09-敏捷-⽤户需求分解指南-V1.0 2. 04-01-DevOps_Detail_Task_list 3. 4. 04-02-DevOps_Tools_Template_DevOps 04-04-DEVOPS详细操作过程 § 1、项⺫管理 § 2、查看报表 § § § 1、部署应⽤,管理配额 2、设置Pipeline 3、管理镜像 10. 11. 08-10-JIRA操作⼿册 06-11-项⺫定价指南V1.0 16x15x18 12. 06-12-业务设计和开发指导指南V1.0 5. 04-05-DEVOPS⼯具权限设计 团队成员 § 4、管理PVC 16个指南 13. 06-13-⽤户故事写作指南-V1.0 6. 04-06-DEVOPS成熟度标准 § 1、浏览项⺫ § 5、项⺫⽤户、⾓⾊分配 14. 06-14-⽤户体验设计指南V1.0 15个规范 7. 04-07-DevOps-⾓⾊和流程设计 § 2、任务查看 8. 04-08-DevOps研发实例 § 3、添加评论 开发主管 15. 06-15-质量标准指南-⾮功能性V1.0 18个阶段性汇报 2 | 阶段成果 § 4、任务处理 16. 06-16-微服务业务设计指南 9. 04-09-产品各⽣命周期交付物 § 5、任务跟踪 § 1、管理空间 16操作⼿册 10. 04-10-团队成员评估与测试 § 2、部署应⽤,管理配额 11. 04-11-DevOps汇报20180125 § 6、浏览空间 § 3、设置Pipeline 5 | ⼯具落地 ⼯具落地(6) § 7、部署应⽤,管理配额 § 4、管理镜像 1. 07-01-01-DEVOPS⼯具链操作⼿册 § 8、管理PVC 指南(16) § 5、管理PVC 2. 07-02-DEVOPS_tool_templateV1.0 1. 06-01-CICDpipeline指南V1.0 § 6、项⺫⽤户、⾓⾊分配 3. 07-04-Sonar检测规格整理 测试主管 § 7、任务管理 2. 06-02-部署指南V1.0 4. 07-05-环境说明 § 8、问题管理 3. 06-03-测试指南v1.0 § 1、浏览项⺫ § 9、任务跟踪 规范(15) 4. 06-04-代码审查指南V1.0 § 2、分配任务 § 10、⾓⾊分配 1. 05-01-Android开发规范V1.0 5. 06-05-功能测试指南V1.0 § 2、Bug跟踪 2. 05-02-Git分⽀管理规范v1.0 § 3、Bug统计 6. 06-06-环境指南V1.0 3. 05-03-IOS开发规范V1.0 3 | 指南 7. 06-07-技术协议指南V1.0 4. 05-04-Java开发规范V1.0 8. 06-08-敏捷开发过程指南V1.0 5. 05-05-SQL开发准则框架V1.0 9. 06-09-敏捷-⽤户需求分解指南-V1.0 4 | 规范 6. 05-06-安全开发规范 10. 06-10-系统分析设计指南V1.0 7. 05-07-版本发布规范-V1.0 11. 06-11-项⺫定价指南V1.0 8. 05-08-产品⽴项模板规范V1.0 12. 06-12-业务设计和开发指导指南V1.0 9. 05-09-服务接⼝定义框架规范V1.0 13. 06-13-⽤户故事写作指南-V1.0 10. 05-10-建造与改造流程规范V1.0 14. 06-14-⽤户体验设计指南V1.0 11. 05-11-配置管理规范V1.0 15. 06-15-质量标准指南-⾮功能性V1.0 12. 05-12-缺陷管理规范V1.0 16. 06-16-微服务模块分析指南1.0 13. 05-13-软件质量标准规范V1.0 14. 05-14-数据库设计规范V1.0 15. 05-15-微服务开发规范框架V1.0

21.今⽇话题 1 项目背景 2 建设思路与整体方案 3 产品与技术详情

22.Alauda Cloud Enterprise (ACE) A la u d a C lo u d E n te r p r ise ( A CE ) Un i f i e d A P Is M u l t i -C lus t er M a na ge me nt M u l t i -Ten ant M a nag em ent K u b e r ne t es I n t e gr at io n O t h e r t o o l s / s y s te m s I n t eg ra ti on A P I S e r v er A P I S e r v er A P I S e r v er C o r e /C u s t o m C o r e /C u s t o m C o r e /C u s t o m R e s o u r c es R e s o u r c es R e s o u r c es Other tools/systems

23.Alauda Cloud Enterprise - DevOps • 开放式 DevOps 工具链集成与编排 • 覆盖应用全生命周期管理 • DevOps 工具一键部署,集成 • 平台与工具用户打通(SSO) • 平台与工具权限打通 • 平台与工具租户联动 • 平台与工具深度集成 • 容器化持续集成与交付

24.平台⾓⾊与视⾓梳理 平台管理员 租户管理员 • 部署或导入集群 • 在 集 群 中 创 建 环 境( nam esp ac e) • 创建租户 • 设定环境资源配额 • 指定租户管理员 • 在租户下创建小组 • 将 集 群 资 源 分 配 给租 户 • 将用户添加到小组 • 将 环 境 资 源 分 配 给小 组 • 部署或集成 DevOps 工具 • 创建工具资源 • 订阅 DevOps 工具 • 将 工 具 资 源 分 配 给租 户 • 创建工具资源 • 将 工 具 资 源 分 配 到小 组

25.平台管理员 创建租户

26.租户管理员创建⼩组

27.租户管理员创建/分配环境

28.平台管理员部署/集成⼯具

29.平台管理员创建/分配资源