Ignorar Navegação

A equipa da Microsoft Xbox adota a função de SRE para criar uma transmissão de jogos

Veja como a equipa de operações e os programadores se tornaram parceiros de confiança para arquitetar uma implementação do Kubernetes distribuída globalmente.

Ler a história completa

O desafio: Criar um processo que permita o dimensionamento global

Tal como muitas equipas de operações, a equipa de Engenharia e Operações de Fiabilidade da Xbox (xREO) costumava passar muito tempo a realizar tarefas manuais repetitivas para manter data centers, implementar código novo e reagir a problemas que surgiam devido a trabalharem numa arquitetura monolítica e rígida que não criaram. Os seus esforços mantiveram o serviço em execução para milhões de subscritores mensais ativos em mais de 40 países e regiões. Mas quando a equipa foi encarregada de suportar o projeto xCloud, uma experiência de transmissão em fluxo de jogos com requisitos de latência extremamente baixa para jogadores em todo o mundo, tornou-se claro que tinham de sair da sua função de engenharia de serviço tradicional, dividir os silos de equipas e reinventar a forma como trabalhavam.

"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, Engenharia e Operações de Fiabilidade da Xbox

Solucionar o problema do dimensionamento através da colaboração e da automatização

No início do projeto, a equipa de desenvolvimento reconheceu que precisava de trazer a xREO para ajudar a estruturar e criar uma nova arquitetura que tiraria partido do alcance global do Azure. Começando com os contentores para separar o código de serviço da infraestrutura e com o Kubernetes como a escolha óbvia para orquestração, as equipas selecionaram o Azure Kubernetes Service (AKS) totalmente gerido para eliminar grande parte da complexidade de gestão.

Ainda assim, mesmo com este sistema simplificado, o volume de tarefas manuais necessárias para criar cada cluster do Kubernetes sobrecarregou rapidamente a equipa xREO. Para efeitos de repetibilidade e automatização, decidiram criar um pipeline de integração contínua e entrega contínua (CI/CD) com o Azure Pipelines, utilizando os modelos do Azure Resource Manager para aprovisionar 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, Engenharia e Operações de Fiabilidade da Xbox

Assumir uma nova função com uma nova missão

Atualmente, o pipeline de CI/CD implementa mais de 35 microsserviços baseados no AKS que dependem de mais de 100 recursos (por região) em diversas regiões do Azure e com mais a caminho. Para implementar uma nova região, a equipa adiciona seis linhas de código e espera que os recursos acelerem.

Com a implementação completamente automatizada, a equipa de xREO passou a exercer a função de engenharia de fiabilidade de sites (SRE), pelo que passa a maior parte do tempo a criar novas ferramentas em vez de a resolver problemas. A equipa de xREO é consultada com frequência como parceiro de confiança da equipa de desenvolvimento e a sua missão é a garantia de um trabalho proativo, altamente gratificante e de elevado valor.

Veja mais de perto a transformação da equipa na sua adoção de uma função de SRE.

Ler a história completa
Como podemos ajudá-lo?