Equipe do Microsoft Xbox adota a função SRE para criar streaming de jogos
Veja como a equipe de operações e os desenvolvedores se tornaram parceiros confiáveis para arquitetar uma implantação do Kubernetes distribuída globalmente.
O desafio: criar um processo para escalonamento global
Como muitas equipes de operações, a equipe de xREO (Engenharia de Confiabilidade e Operações do Xbox) costumava passar muito tempo realizando tarefas manuais repetitivas a fim de manter os data centers, implantar novos códigos e reagir a problemas que surgiam por trabalhar em uma arquitetura rígida e monolítica que eles não projetaram. Seus esforços mantinham o serviço em execução para milhões de assinantes mensais ativos em mais de 40 países e regiões. Mas quando a equipe foi incumbida de dar suporte ao projeto xCloud, uma experiência de streaming de jogos com requisitos de latência extremamente baixos para jogadores de todo o mundo, ficou claro que eles precisavam sair de seu papel tradicional de engenharia de serviço, quebrar os silos da equipe e reinventar o maneira como eles trabalharam.
O desafio: adaptação a um modelo operacional de nuvem
"Mesmo pequenas mudanças representavam um risco significativo, o que significava que passávamos muito tempo combatendo incêndios. Nosso modo de operação era principalmente reativo e não tínhamos muito poder para fazer muito a respeito."
James Whitesides, PM de SRE, equipe de Confiabilidade e Operações do Xbox
Resolução da escala por meio da colaboração e da automação
No início do projeto, a equipe de desenvolvimento reconheceu que precisava trazer o xERO para ajudar a projetar e construir uma nova arquitetura que aproveitaria as vantagens do alcance global do Azure. Começando com contêineres para desacoplar o código de serviço da infraestrutura e o Kubernetes como a escolha óbvia para orquestração, as equipes selecionaram o totalmente gerenciadoAzure Kubernetes Service (AKS) para eliminar grande parte da complexidade do gerenciamento.
Ainda assim, mesmo com esse sistema simplificado, o volume de tarefas manuais necessário para criar cada cluster Kubernetes rapidamente sobrecarregou a equipe de xREO. Para repetibilidade e automação, eles decidiram criar um pipeline de integração/entrega contínua (CI/CD) com Azure Pipelines, usando modelos Azure Resource Manager para provisionar recursos rapidamente.
O desafio: adaptação a um modelo operacional de nuvem
"Agora, na função SRE, construímos a plataforma com os desenvolvedores e fazemos parte de seu processo de implantação. Estamos realmente focados em construir e melhorar, em vez de queimar listas de verificação."
James Whitesides, PM de SRE, equipe de Confiabilidade e Operações do Xbox
Assumir uma nova função, com uma nova missão
Hoje, o pipeline de CI/CD implanta mais de 35 microsserviços baseados em AKS que contam com mais de 100 recursos (por região) para várias regiões do Azure, e mais serão disponibilizadas em breve. Para implantar uma nova região, a equipe adiciona seis linhas de código e aguarda os recursos serem ativados.
Com a implantação totalmente automatizada, a equipe de xREO mudou para uma função de SRE (engenharia de confiabilidade de site) e passa a maior parte do tempo criando ferramentas em vez de corrigir problemas. Eles são frequentemente consultados como parceiros confiáveis pela equipe de desenvolvimento e seu foco está em desenvolver trabalhos proativos, de alto valor e grande potencial de recompensa.