Trace Id is missing
Avançar para o conteúdo principal
Azure

A equipa da Microsoft Xbox utiliza a função de SRE para criar 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.

O desafio: Criar um processo que permita o dimensionamento global

À semelhança de muitas equipas de operações, a equipa de Engenharia e Operações de Fiabilidade da Xbox (xREO) desperdiçava muito tempo a realizar tarefas manuais repetitivas para manter datacenters, implementar novo código e responder a problemas que emergiam da natureza do trabalho numa arquitetura rígida e monolítica concebida por outros profissionais. O esforço investido permitiu-lhes manter o funcionamento do serviço para milhões de subscritores mensais ativos em mais de 40 países e regiões. No entanto, quando a equipa foi incumbida da tarefa de suportar o projeto xCloud, uma experiência de transmissão de jogos com elevados requisitos de baixa latência para jogadores de todo o mundo, tornou-se óbvio que teriam de se afastar das suas funções tradicionais de engenharia de serviços, derrubar as barreiras que separam as equipas e reinventar a metodologia de trabalho.

Uma pessoa a falar numa sala de reuniões

O desafio: Adaptação a um modelo de funcionamento na nuvem

"Mesmo pequenas alterações representavam um risco significativo, o que significa que passávamos muito do nosso tempo a corrigir erros. O nosso modo de operação era maioritariamente reativo e não tínhamos capacidade para fazer muito a esse respeito."

James Whitesides, PM de SRE, Engenharia e Operações de Fiabilidade da Xbox

Solucionar para obter dimensionamento através da colaboração e da automatização

No início do projeto, a equipa de desenvolvimento reconheceu a necessidade de recorrer à equipa de xREO para ajudar a conceber e a criar uma nova arquitetura que tirasse partido do alcance global do Azure. As equipas decidiram começar pelos contentores para separar o código de serviço da infraestrutura e pelo Kubernetes como a escolha óbvia para proceder à orquestração, o que levou a que escolhessem o Azure Kubernetes Service (AKS) totalmente gerido para eliminar muita da complexidade associada à gestão.

Contudo, apesar deste sistema simplificado, o volume de tarefas manuais necessário à criação de cada cluster do Kubernetes assoberbou rapidamente a equipa de xREO. Para assegurar a repetibilidade e a automatização, decidiram criar um pipeline de integração contínua/entrega contínua (CI/CD) com os Pipelines do Azure e utilizar modelos do Azure Resource Manager para aprovisionar recursos com celeridade.

O desafio: Adaptação a um modelo de funcionamento na nuvem

"Agora, na função SRE, criamos a plataforma juntamente com os programadores e fazemos parte do processo de implementação. Estamos realmente focados em criar e melhorar em vez de percorrer listas de verificação."

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.