OPPO 服务全球化与混合云平台建设实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. OPPO服务全球化与混合云平台建设实践
向俊峰 | OPPO云计算中心弹性计算架构师
2.
3. 目录
• OPPO服务全球化现状
• 为什么要建设混合云平台
• 如何建设混合云平台
• 混合云平台未来展望
4. OPPO服务全球化现状
5. 业务生态现状
云
IoT服务
主题商店
语音助手
游戏中心
• 终端
快应用
小游戏
软件商店
• 应用
• 硬件:手机/电视/手表/手环以及其他IoT设备; • 应用分发:软件商店,小游戏;
• 系统:手机/电视/手表/手环以及其他IoT相关系统, • 应用服务:主题商店,游戏中心,快应用(小程
协议,组件等;
• 底层开放引擎:性能,网络,影像,多媒体,AR;
• 平台
• 云平台(含运营),云相册,云⻔户,云游戏,云
视频,云桌面,营销平台,广告平台,AI平台,
IoT 平台, 金融平台;
• To B:技术平台和数据平台输出;
序),浏览器,全文搜素,AI 服务(语音,视频
等),推送;
• 内容
• 内容库:带数字版权的音频和视频,UGC相关内容
(文字,图片,小视频,短视频等);
• 内容运营:云游戏,云视频,音乐商店,电视多媒体
等;
6. 用户全球化现状
ColorOS 全球月活用户突破
5 亿
*数据来源于OPPO数据中心,统计截止至2022-1-31
7. 服务全球化部署现状
欧洲区域
华北区域
南亚区域
北美区域
日本区域
华南区域
东南亚区域
南美区域
非洲区域
自有IDC
自有IDC+公有云
浏览器、锁屏杂志、应用商店、主题商店、金融、游戏、会员、 OS 等
公有云
8. 为什么要建设混合云平台
9. 服务全球化面临的挑战
服务质量
全
球
化
资源成本
交付效率
隐私安全
10. 基础设施建设要求
晚于战略出发
先于业务到达
自有IDC
公有云
混合云
11. 如何建设混合云平台
12. 混合云平台建设理念
商店/游戏
软
件
商
店
广应用
主
题
商
店
游 小
戏 游
中 戏
心
内容分发
互联网服务
内容产品 智能服务
浏 锁 视 阅
读
览 屏 频
音 书
器
乐 城 全 快 智
语 局 应 能 健
音 搜 用 家 康
索
居
搜索推荐
视频云
云游戏
金融服务
金
融
快应用
钱
包
用户服务
会
云
账 服 商 员
号 务 城 服
务
支
付
OCloud
账户管理
移动服务
账
号
服
务
推
送
服
务
广
告
服
务
IoT服务
游
戏
服
务
企业协作
通
讯
工
具
金融服务
办
公
套
件
云
电
脑
AI大数据
企业办公
企
业
云
盘
研
发
桌
面
端云协同
企业数字化
软工
人
理 财
物
管
手
软
编
译
⻢里亚纳
手
生 芯
软 发 产 片
构
包 设
建
分 计
芯片设计
企业IT
芯
片
验
证
手软构建
混合云管理
可观测
厚平台
计算 存储 网络 数据库 中间件 研发效能 移动平台 企业IT
云服务器 对象存储 虚拟私有云 关系数据库 消息队列服务 项目管理 UI组件 办公套件
GPU云服务器 块存储 弹性负载均衡 KV数据库 数据访问服务 代码托管 网络组件 云桌面
Serverless 文件存储 弹性公网IP 文档数据库 API网关 流水线 动态化组件 文件分发
虚拟化 存储网关 NAT网关 时序数据库 微服务框架 CICD 存储组件 企业网盘
异构计算 日志服务 云解析 分布式数据库 服务网格 制品仓库 应用发布 内部IT服务
测试管理 移动分析
云容器服务
宽底座
边缘计算
智能运维
HTAP数据库
IDC/基础网络
边缘节点
公有云
数
据
存
储
13. 混合云平台建设核心目标
提质、降本、增效、自主、合规
14. 传统基础设施服务架构的弊端
机型碎片化
• 以服务器为单位交付业务,不同业务
场景需要提供不同机型
• 业务倾向于针对业务场景定制机型和
运行时环境
• 业务场景多造成机型更加碎片化
•
资源小池化
•
•
•
管理分散化
机器资源需求可能无法快速满足,业
务倾向于多采买服务器,建立专用资
源池
多个业务线,多个资源池
1个灵活调配的IDC级别资源池
各业务机器各自管理,或者由对应的
业务运维管理
•
交付效率低,弹性能力差
•
• 资源池闲置机器多,拉低整体资源利用率水
位,公司整体服务器成本虚高。
• 系统版本、分区、账号、依赖组件、业务日
志与数据相关路径、监控等规范不统一,容
易造成运维标准、规范的不统一,线上环境
乱,阻碍自动化实施,造成运维管理效率
低,需要不断堆人来支撑业务扩张
资源冗余多,业务成本高
标准不统一,运维效率低
不同机型,操作系统、运行时环境要求不一
致,很难用标准化的流程交付
机型通用性差,若机型采购配比不合理,特
定场景无法提供足够数量的机型部署业务
自有 IDC+ 公有云使用传统基础设施架构,在降本增效方面作用有限
15. 混合云平台架构三阶段两转变
•
•
•
•
业
务
应
用
进
程
以服务器为单位向上层业务供给资源
基础设施服务架构不统一,管理界面不统一
业务应用能感知基础设施差异
应用使用二进制包部署
在线
业务
大数
据
基 接入 日志
础 服务 服务
服
务 注册 CI/
进 中心 CD
程
存储 中间
服务
件
机器
学习
企业
IT
监控
服务 运维
管理
CM
DB 域名
解析
数据
库 配置
中心
计
算 物理机
专
网 自有IDC
在线
业务
阶段三
阶段二
阶段一
企业
IT
•
•
•
•
公有云大
数据服务
基础服务进程 公有云基础服务
接入
服务
注
配
域名
册
置
运
解析
中
中
中间
维
心
心
件
管
数据
理
库
存储
云主机
服务
公有云
业
务
应
用
进
程
基
础
服
务
进
程
以服务器为单位向上层业务供给资源
基础设施服务架构统一,管理界面统一
对业务应用屏蔽底层基础设施差异
应用使用二进制包部署 •
•
•
•
大数据 业
务
应
用
容
器
在线业务
接入服务
注册中心
存储服务
机器学习
日志服务 监控服务
CI/CD CMDB
中间件
数据库
企业IT
运维管理
域名解析
基
础
服
务
容
器
配置中心
计算、网络、存储资源云化,实现云化资源交付
基础设施服务架构统一,管理界面统一
对业务应用屏蔽底层基础设施差异
互联网应用基本实现云上容器化部署
在线业务
大数据
机器学习
接入服务 域名解析 配置中心
注册中心 CI/CD CMDB
存储服务 中间件 数据库
定制Kubernetes容器平台(CSP)
企业IT
运维服务
监控服务
日志服务
告警服务
计
算 物理机 云主机 计
算 物理机 云主机
专
网 自有IDC 公有云 专
网 自有IDC 公有云
转变一:基础设施服务架构统一,向上屏蔽底层基础设施差异
转变二:基础设施云化,应用实现上云容器化部署
16. 混合云平台架构现状
CI/CD
中间件/数据库
混
合
云
平
台
安全 机器学习
运维
大数据
代码管理 发布单 Redis MongoDB 安全密钥 云训练 Flink Yarn 资源账单
持续集成 持续部署 RocketMQ MySQL 安全网关 模型管理 ClickHouse Hbase 资源大盘
服务管理 配置中心 Kafka Zookeeper 动态防火墙 模型部署 数据湖 Hive 日志服务
平台运维
平台基础
镜像中心
注册中心
云调度
CMDB
容器网络(NetHouse)
Kubernetes(CSP、OKE)
接入层管理
云监控
灾难管理
对象存储(OCS)
质量管理
基
础
设
施
公有云
自有IDC
裸金属
DNS
机房网络
DPVS
虚拟机
DNS
告警系统
VPC
负载均衡
时序数据库
17. 混合云高可用管理
混合云
公有云
区域
可用区
逻辑可用区
集群
自有IDC
新加坡A区
新加坡互服A区
新加坡-A-集群1
北京
印度
新加坡
新加坡B区
机房A
机房B
机房C
新加坡互服B区 互服区 互服区 金融区 互服
区
新加坡-B-集群1 孟买-机房A-集
群1 孟买-机房B-集
群1 孟买-机房B-集
群2 集群1
四级管理概念,高可用、隔离性、规模三方面考量,公有云高可用主要依赖公有云多可用区
18. 统一管理平台,一致体验
应用部署
中间件申请
数据库申请
网关申请
监控/日志查看
OPPO 云服务控制台
国内自建IDC
X市-机房A-集群1
海外公有云某区域
可用区-A-1
海外自有IDC
Y市-机房A-集群1
应用容器 网关容器 应用容器 网关容器 应用容器 网关容器
中间件容器 数据库容器 中间件容器 数据库容器 中间件容器 数据库容器
日志容器 监控容器 日志容器 监控容器 日志容器 监控容器
19. 统一管理平台,一致体验
20. 统一管理平台,一致体验
21. 云化资源高效交付
弹性伸缩
1分钟
云主机平台
(terraform)
10分钟
公有云云主机
15分钟
30分钟
基础运维
5分钟
裸金属平台
(PXE)
20分钟
物理机
在线业务
定制Kubernetes集群
(CSP)
5分钟
5分钟
弹性伸缩
1分钟
虚拟机管理
5分钟
虚拟机
5分钟
原生Kubernetes集群
(OKE)
云
化
资
源
供
给
大数据
机器学习
胖容器、原生容器 (7:3)
原生容器
22. 镜像全球分发
镜像分发网络
镜像分发网络
编译构建
镜像缓存代理 pull
镜像缓存代理 pull
镜像缓存代理 pull
K8s集群
push
统一镜像中心
(Harbor)
pull
K8s集群
K8s集群
一处构建,全球分发;本地缓存,增量拉取
23. 就近调度 (非单元调度)
归
属
欧盟地区
(法国、德国、英国…)
• 主要是依靠传统DNS,如DNS Pod
• 根据用户IP本身信息如归属地区、归属运营商来解析
最优IP
• 用户的地理位置改变,接入IDC可能改变
IP
欧盟地区IDC
• 主要是依靠HTTP DNS,客户端集成SDK
• 按地域、按设备、按用户划分单元,单元和机房对
应,根据单元归属机房来解析最优IP
• 划分单元后,用户地理位置改变,接入IDC不变
欧盟地区
(法国、德国、英国…)
用户位置改变,
用户单元不变
用户位置改变
东南亚地区
(新加坡、泰国、越南…)
单元调度
IP
新加坡地区IDC
东南亚地区
(新加坡、泰国、越南…)
严格遵守各地隐私安全政策,合规接入 IDC
就近接入与合规接入
欧盟地区IDC
24. 欧盟地区运营&运维
基本原则
禁止
• 禁止用户数据从欧盟出境,包括但不限于用户基本
信息、用户身份信息、用户位置信息、用户生理健
康信息、用户设备、个人财产、联系人信息等
• 禁止跨境查看未经脱敏的用户数据,包括查看业务
日志、操作数据库及表结构,因为可能有IMEI等个
人信息
管控方式
服务器访问
管理后台访问
允许
• 操作系统调试,如安装软件、修改配置、查看系统
日志
• 网络设备调试,如网络设备安装、调试
• 机器维度及应用维度基础监控数据查看
• 应用生命周期管理,如部署、启停、状态收集等
服务端调用
• 所有欧盟服务器必须通过欧盟堡垒机登录
• 所有欧盟服务器只放行欧盟堡垒机登录
• 登录限按需申请
• 业务运营人员尽量本地化,禁止非欧盟地区办公网直接访问
• 非欧盟地区办公网通过欧盟亚⻢逊云Windows机器中转访问,特
殊情况按需申请
• 业务后台显示数据不能涉及用户个人数据,需进行脱敏处理
• 欧盟与非欧盟区域网络默认隔离,按需打通,如果涉及用户数据
需要经过隐私合规评审
• 用户个人数据禁止跨境传输
25. 欧盟地区运营&运维
26. 混合云时区管理
历史
现状
国内:使用CST时区 国内:统一CST时区
海外:存在UTC、CST、EST、IST时区,甚至一个机房存在多个时区设
置 海外:统一UTC时区
标准化方案
存量:
1、国内保持CST现状,不用改造
2、海外物理机和容器改造为UTC,特殊场景保持现状
增量:
1、初始化时,国内机器使用CST,海外机器使用UTC
2、容器和宿主机时区保持一致,基础镜像删除/etc/localtime,容器启动
时挂载宿主机/etc/locatime文件
3、如果特殊场景容器需要自定义时区,则部署时设置环境变量,启动时
基础镜像中的Prestart脚本根据环境变量设置容器时区
多时区应对方案
1、程序改造使用时间戳,不依赖时区,如监控数据上报metrics使用时间
戳
2、平台或应用支持时区自动转换,也支持时区配置,如查看监控报表、
告警默认按照UTC时间查看 。
3、业务层面的一些策略可以设置分时区、不分时区,如希望按照中国时
间晚上8点下发一个配置,则选择不分时区,如果希望按照各地的晚上8
点下发一个配置,则选择分时区,就会按照各个国家和地区当地时间晚
上8点下发。
27. 混合云平台未来展望
28. 基础设施云原生化
自动化集成 敏捷化运维
声明式
自动打通周边系统 自动化生命周期管理,故障自愈
松耦合
旁路系统
状态最终一致
云调度
(域名管理平台) 配额管理平台
(cloud-quota)
域名管理
(dns-operator) 配额管理
(quota-operator)
注册中心
CMDB
自动注册管理
(register)
Kubernetes
云化基础设施
升级
云原生基础设施
支撑
有状态服务管理
(cronus) 固定ip管理
(location) Redis-operator Mysql-operator
持续部署 容器网络
NetHouse Redis平台 数据库管理平台
应用从上云,转变为生于云,⻓于云的云原生架构
29. 在线与离线混合部署
1.创建yarn nodemanager crd实例
大数据平台
物理机Node
kube-apiserver
5.调度 spark/flink/hive/mr作业
Spark task Flink task MR task
Hive task Hive task MR task
物理机Node
yarn-operator
3. 创建YARN-NM Pod
物理机Node
物理机Node
YARN-NM Pod
虚拟机Node
YARN-NM Pod
云原生Kubernetes集群(OKE)
MR task
YARN-NM
2. watch yarn nm crd
实例
YARN-NM
YARN-NM
弹
性
伸
缩
4.注册yarn nodemanager到yarn集群
YARN-RM
大数据Yarn集群
在线业务Pod
物理机Node
物理机Node
虚拟机Pod
1.CSP集群离线计算虚拟机Pod和在线业务Pod混合部署
2.夜间离线计算高峰期,从CSP集群申请虚拟机为OKE集群提供额外算
虚拟机
YARN-NM Pod
力,低峰期销毁
3.通过云原生的yarn operator将OKE集群上的YARN-NM Pod注册为为大
数据集群YARN NM来弹性提供算力
物理机Node
混合部署、算力借调
定制化Kubernetes集群(CSP)
30. 分享总结
31. • 通过自有IDC+公有云多可用区基本实现了各大洲的用户就
近接入,降低访问时延,保障服务可用性
• 结合CDN技术,加速图片、视频、应用等大文件下载
提质
•
降本
自主
实现基础设施服务如中间件、数据库、存储、接入服
•
务、域名解析、大数据等基础服务相关能力自主
实现了大数据与算法能力自主
•
取缔资源小池,构建资源大池,并通过资源云化供给,提升了资源用率,2020
年、2021年盘活存量资源,减少服务器采买,每年节省亿级服务器成本;
•
基础设施服务架构统一,降低基础设施相关服务管理和使用成本,如云相册数据
迁移自研存储,每年节省千万级存储成本
•
大数据与在线业务混部,并弹性借调在线业务算力,实现2022年大数据服务器基
本零采购。
增效
• 通过使用公有云,开服周期到从数月降低到数周;
• 通过构建混合云平台,资源交付周期从数天降低到数小
时;
•
通过使用CI/CD和相关云产品,业务部署周期从数小时
降低到数分钟;
•
通过基础设施管理标准化、自动化、原生化,大幅提升
运维效率。
合规
•
通过单元化合规接入,并通过网络、应用层面的管控,
实现用户数据合规存储和使用
32.
33.