2020 gops-旷视城市大脑私有云平台实践-刘天伟
- 13. HA、内嵌基础设施、⼯具链
500+ 现场
230+ 公司内部集群
10+ 条业务线
迭代27个版本
平台型⼯具
历程
单机、不可⾔传的“绝技”
⼟脚本
简朴的Web界⾯,
service.yaml能实现集群化部
署,项⽬从1个节点起步。
容器化部署
START 2017.9前 2017.11 2018.4 2018.10 2020.8
托管加密授权、内核参数、
NTP、服务发现
编排⼯具概念
⾃动化运维
HTTPS、防⽕墙
监控告警体系
200+ 现场
70+ 公司内部集群
安全加固
13
GOPS 全球运维⼤会2020-深圳站
- 15. 名词解释
15
Megvii Delivery Cloud Platform Toolbox = MDT
DevOps: ⾯向ToB场景,⾃研的容器托管和⾃动化运维平台
名字由来:跟DevOps实际含义关系不⼤,最初也没有涉及CICD。主要是名字简单,⽅便在公司内部推⼴
BootOS:基于Ubuntu 16.04定制的OS,在机器质检、安全、容器、显卡、稳定性和新硬件兼容性等⽅⾯增强
ATP: 基于DevOps和DevOps-Swarm的⾃动化测试平台,提供复杂场景的⾃动部署、测试驱动和混沌⼯程
SDC:基于阿⾥云OSS的有完善安全审计的软件包制作、分发平台
SRP: 加密与授权服务
DevOps-Orch: DevOps 编排⼯具Python Framework、Web托管平台和CICD⼯具链
DevOps-Swarm:DevOps管理若⼲个节点,DevOps-Swarm管理若⼲个DevOps。定位是集中式的运维Dashboard、告警汇总和
机器拓扑管理
DevOps-Import:运维巡检平台,能对DevOps ⼀键OnCall产⽣的⽇志进⾏内部回放,做⻓期的监控跟踪(计划中)
GOPS 全球运维⼤会2020-深圳站
- 24. 部署:交付的是什么?
24
交付 = *.devops_release_pkg + *.devops_orch + *.devops_key
Docker Image和模型包
⼏G到⼏⼗G
产品版本相关
Dev/QA, CI⾃动产⽣
编排及配置⽂件
⼏⼗KB
现场资源相关
技术⽀持,DevOps编排⼯具⽣成
授权⽂件
⼏KB
加密狗硬件和授权能⼒相关
项⽬经理, DevOps License Center⽣成
实践:发布包的分层和格式私有化,能屏蔽很多细
节,并保持良好的扩展能⼒
GOPS 全球运维⼤会2020-深圳站
- 30. 易⽤性
1. 交付物:⼀个100M左右的 .run 安
装包,包含集群所需要的所有东⻄
2. BootStrap:Web的安装器,能简
单的构建⼤集群和HA模式
3. 可视化:降低使⽤者的⼈⼒成本和
学习成本
30
GOPS 全球运维⼤会2020-深圳站
- 36. 监控告警:实践
36
1. ToB 场景 Exporter + Prometheus + Alertmanager 组合已经⾜够好⽤
2. ��个应⽤程序都应该被监控,以Web⽅式暴露⼀些接⼝是很容易实施
的,另外要⽀持Unix Domain Socket⽅式
/metrics : Exporter 指标
/health_check : 健康检查
/version : 版本信息
3. ⽆⼈值守、离线场景有能导出的“事件追溯” 功能会⾮常受益
GOPS 全球运维⼤会2020-深圳站
- 39. 39
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
导航
GOPS 全球运维⼤会2020-深圳站
- 42. 42
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
5. 稳定性:HA与混沌⼯程
导航
GOPS 全球运维⼤会2020-深圳站
- 46. 46
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
5. 稳定性:HA与混沌⼯程
6. 安全性:防⽕墙、WebTerminal、事件追溯、加密授权
导航
GOPS 全球运维⼤会2020-深圳站
- 48. 48
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
5. 稳定性:HA与混沌⼯程
6. 安全性:防⽕墙、WebTerminal、事件追溯、加密授权
7. 灾备:⾃动与⼿动备份相结合
导航
GOPS 全球运维⼤会2020-深圳站
- 51. 51
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
5. 稳定性:HA与混沌⼯程
6. 安全性:防⽕墙、WebTerminal、事件追溯、加密授权
7. 灾备:⾃动与⼿动备份相结合
8. 基础设施:⼀键搭建、声明式使⽤
导航
GOPS 全球运维⼤会2020-深圳站
- 52. ⽂档化
52
1. 使⽤⽂档:DevOps RUN 发布包中⾃带使⽤⽂档
和API⽂档,可以在DevOps Web中进⼊
2. 代码提交MR时,带上相应⽂档,⽂档也需要
Code Review
3. 设计⽂档:采⽤DEP⽅式编写(DevOps
Enhancement Proposal)
实践:内建⽂档可以解决版本依赖问题
GOPS 全球运维⼤会2020-深圳站
- 53. 53
旷视城市⼤脑的私有化交付挑战
交付型⼯具链
私有云DEVOPS平台 部署 易⽤性 监控告警
异构
稳定性
安全性
基础设施
灾备 ⽂档化
私有云DevOps平台解决⽅案
1. 部署:软件包 + 编排⽂件 + 授权⽂件
2. 易⽤性:all in one、界⾯化、⾃升级
3. 监控告警:⼤量内建项、⽀持服务⾃定义、多种通知机制
4. 异构:多种体系结构、显卡、OS的⽀持
5. 稳定性:HA与混沌⼯程
6. 安全性:防⽕墙、WebTerminal、事件追溯、加密授权
7. 灾备:⾃动与⼿动备份相结合
8. 基础设施:⼀键搭建、声明式使⽤
9. ⽂档化:内建⽂档与DEP
导航
GOPS 全球运维⼤会2020-深圳站