Microsoft Xbox 团队采纳 SRE 角色来构建游戏流媒体
了解运营团队和开发人员如何成为受信任的合作伙伴来构建全球分布式 Kubernetes 部署。
挑战:创建迈向全球的流程
和许多运营团队一样,Xbox 可靠性工程与运营 (xREO) 团队过去花了大量时间执行重复的手动任务来维护数据中心、部署新代码和应对在并非他们设计的单一刚性架构中操作而引起的问题。他们的努力保证了服务对 40 多个国家和地区的数百万月活跃订阅者持续运行。但是,如果团队的任务是支持 Project xCloud(一种面向全球游戏玩家的具有极低延迟要求的游戏流媒体体验),他们明显需要跳出自己传统的服务工程角色、打破团队壁垒并改变自身工作的方式。
挑战:适应云操作模型
“即使是很小的更改也带来了巨大的风险,这意味着我们花费了大量的时间来应对风险。我们的操作模式主要是被动的,我们并没有真正被赋能去做太多事情。”
James Whitesides,Xbox 可靠性与运营团队 SRE 项目经理
通过协作和自动化解决规模问题
在项目的早期阶段,开发团队意识到他们需要引入 xREO 来帮助设计和构建一个可利用 Azure 全球触达优势的新的体系结构。在业务流程中,明显要先用容器将服务代码与基础结构和 Kubernetes 分开,因此团队选择了完全托管的 Azure Kubernetes Service (AKS) 以大幅降低管理的复杂性。
但即使有了这一简化系统,还是需要执行大量手动任务来快速构建每个 Kubernetes 群集,而这使得 xREO 团队倍感疲惫。针对可重复性和自动化,他们决定使用 Azure Pipelines 构建一个持续集成/持续交付 (CI/CD) 管道,使用 Azure 资源管理器模板快速预配资源。
挑战:适应云操作模型
“现在,在 SRE 角色中,我们与开发人员一起构建平台,我们参与到他们的部署过程。我们真正地专注于构建和改进,而不是去完成清单任务。”
James Whitesides,Xbox 可靠性与运营团队 SRE 项目经理
担任具有新使命的新角色
目前,CI/CD 管道向众多 Azure 区域部署了超过 35 个基于 AKS 的微服务(每个区域的微服务依赖于 100 多个资源),且还有更多部署正在进行中。要部署新区域,该团队需添加 6 行代码并等待资源加载。
而凭借完全自动化部署,xREO 团队已转型为站点可靠性工程 (SRE) 角色,他们的大多数时间用来创建新的工具,而不是解决问题。人们经常向他们咨询问题,将他们看作是开发团队信任的合作伙伴,而他们的重心也放在了具有前瞻性、高价值和高回报的工作之上。