1、海外电商工程效率实践Shopee的云平台标准化目录目录工程效率是什么什么是标准化平台Shopee 标准化云平台未来的展望工程效率是什工程效率是什么么 开发效率 发布效率 运维效率 研发工具 基础设施 监控报警 测试环境 代码分发 灾难恢复 联调手段 配置分离 自动化工具 服务发现最终整个技术部门产出和时间比,我们称之为工程效率工程效率是什工程效率是什么么工程效率与标准工程效率与标准化化因此标准化降低时间开销,从而提升整个的工程效率开发流程标准化发布流程标准化生命周期管理标准化什么是标准化平什么是标准化平台台 面临的问题 业务横跨多个国家整个东南亚缺乏云化基础设施 工程师来自于全球各地 业务增长
2、太快Shopee 标准化云平台标准化云平台 技术选型 标准化云平台 标准化服务 标准化 workflow我们怎么办我们怎么办 首先摆在面前的是容器和虚拟机之争 无状态业务已经用上了 Mesos+Marathon 的容器平台 有状态的业务依然裸部署 大量基础设施依然依赖于人工部署和维护 几乎不存在虚拟机,大量物理服务器负载很低.技术选型技术选型技术选型技术选型 编排工具 弹性资源需求 多虚拟化引擎需求 NUMA 的支持技术选型技术选型 为什么不选 Kubernetes 缺乏资深的 Kubernetes 工程师 Kubernetes 从入门到放弃 Mesos 的历史包袱 Eru 是个什么鬼技术选型
3、技术选型技术选型技术选型MesosKubernetesEru资源利用率高中中资源分配DRF抢占式抢占式NUMA计划中无有运维成本高中低使用成本一般(社区一般)低(社区活跃)极低(逻辑简单)技术选型技术选型 Redis Cluster/Single Instance 单主多从 MySQL ETCD Kubernetes 开发用 VirtualDev服务标准化服务标准化服务标准化服务标准化 标准化配置 依托于 Eru 做自动物理机主从分离 只允许扩容不允许缩容 Instance 级别的扩容 节点数量扩容 容量性能套餐Redis Service 标准化架构 固定集群结构 自动主从物理隔离 SDN 保
4、证独立 IP 必须通过自行实现的 redis-proxy 访问Redis Service 标准化运维 集群自愈 旁路刷新 灾难时允许丢失部分数据换集群可用性Redis Service 旧的流程 工单系统申请 沟通,准备和等待机器 运维脚本配置部署 手动配置域名交付 任何改动和事故均需要人为介入 灾难无法恢复只能重建Redis Service Shopee Cloud 流程 工单系统申请 自动部署配置秒级交付 任何改动和事故业务无感 灾难自动恢复 用于标准化开发环境 以往业务开发联调只能使用物理机 没法做到人均一台物理机做开发 受限于网络和权限物理机使用起来限制很多 缺乏统一的申请方式Virtu
5、alDev 标准化配置 base OS 配置标准化 自动配置用户 自动加入所选网络 自动配置网络策略VirtualDev 标准化架构 CPU 弱限制内存强限制 SDN 保证 IP 所有 VD 在一个子网 磁盘限额 标准化运维 托管生命周期 自动监控报警VirtualDevVirtualDev 旧的流程 工单系统申请 沟通,准备和等待机器 运维脚本配置部署 手动配置域名交付 和对接方沟通测试 处理权限和连通性问题 Shopee Cloud 流程 在 Quota 内自行申请 自动部署配置秒级交付 拿到域名即可开始对接 标准化配置 自动配置 MySQL 依托于 Eru 做自动物理机主从分离 只允许扩
6、容不允许缩容 容量性能套餐RDS 标准化架构 固定集群结构 自动主从物理隔离 SDN 保证独立 IP 统一生命周期管理RDS 标准化运维 集群自愈,但需要 DBA 来确定是否重新 enable 旁路刷新域名列表 灾难时自动的切换主从RDSRDS 旧的流程 工单系统申请 沟通,准备和等待机器 运维脚本配置部署 手动配置域名交付 DBA 初始化处理权限等 Shopee Cloud 流程 在 Quota 内自行申请 自动部署配置秒级交付 自动初始化数据库 拿到域名即可使用 提供更多的标准化基础设施 更多组件生命周期能自动处理 更多资源维度的调度和编排 标准化开发 Workflow 从下往上统一生产流程未来的展望未来的展望 https:/ https:/book.eru.sh/一些项目一些项目谢谢聆听!