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 recebeu a tarefa de oferecer suporte ao projeto xCloud, uma experiência de streaming de jogos com requisitos de latência extremamente baixa para jogadores de todo o mundo, ficou claro que eles precisavam sair de sua função de engenharia de serviço tradicional, romper os silos de equipe e reinventar sua maneira de trabalhar.

"Even small changes posed a significant risk, which meant we spent a lot of our time firefighting. Our mode of operation was mostly reactive, and we weren't really empowered to do much about it."

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 a equipe de xREO para ajudar a projetar e criar uma arquitetura que fosse capaz de aproveitar o alcance global do Azure. Começando com contêineres para desacoplar o código de serviço da infraestrutura e do Kubernetes como a opção óbvia para orquestração, as equipes selecionaram o AKS (Serviço de Kubernetes do Azure) totalmente gerenciado para eliminar grande parte da complexidade de 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 fins de capacidade de repetição e automação, eles decidiram criar um pipeline de CI/CD (integração contínua/entrega contínua) com o Azure Pipelines, usando modelos do Azure Resource Manager para provisionar os recursos rapidamente.

"Now, in the SRE role, we build the platform with the devs, and we are part of their deployment process. We're really focused on building and improving rather than burning down checklists."

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.

Examine mais de perto a transformação da equipe para uma função SRE.

Leia a história completa