Microsoft Xbox-teamet favner SRE-rollen i forbindelse med bygningen af spilstreaming

Se, hvordan driftsteamet og udviklere er blevet partnere, der er tillid til i forbindelse med udvikling af en globalt distribueret Kubernetes-udrulning.

Udfordringen: Skabe en proces til global skalering

xREO-teamet (Xbox Reliability Engineering and Operations) har på samme måde som mange andre driftsteams været vant tilat bruge meget tid på at udføre gentagne, manuelle opgaver i forbindelse med vedligeholdelse af datacentre, udrulning af ny kode og reaktion på problemer, der er opstået under arbejdet i en monolitisk, stiv arkitektur, de ikke selv har designet. Deres indsats har holdt tjenesten kørende for millioner af aktive månedlige abonnenter i mere end 40 lande og områder. Men da teamet fik til opgave at understøtte projekt xCloud, der er en spilstreamingoplevelse, med krav til ekstremt lav ventetid fra spillere over hele verden, stod det klart, at de var nødt til at træde ud af den traditionelle teknikerrolle, nedbryde teamsiloer og genopfinde den måde, de arbejdede på.

"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, SRE PM, Xbox Reliability and Operations

Løsninger i stor skala via samarbejde og automatisering

På et tidligt tidspunkt i projektet indså udviklingsteamet, at de havde brug for xREO som hjælp i forbindelse med design og opbygning af en ny arkitektur, der kan udnytte Azures globale rækkevidde. Teamet startede med objektbeholdere til at fjerne tilknytningen af tjenestekoden fra infrastrukturen og Kubernetes som det indlysende valg til orkestrering. Derefter valgte de den fuldt administrerede AKS (Azure Kubernetes Service) for at fjerne en stor del af den kompleksitet, der er forbundet med administrationen.

Men selv med dette strømlinede system blev xREO-teamet hurtigt overvældet over omfanget af de manuelle opgaver, der er påkrævet til bygning af hver enkelt Kubernetes-klynge. Af hensyn til muligheden for gentagelser og automatisering besluttede de at opbygge en pipeline med løbende integration/kontinuerlig levering med Azure Pipelines ved hjælp af Azure Resource Manager-skabeloner til hurtig klargøring af ressourcer.

"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, SRE PM, Xbox Reliability and Operations

En ny rolle med en ny mission

I dag udruller CI/CD-pipelinen mere end 35 AKS-baserede microservices, der er afhængige af mere end 100 ressourcer (pr. område), i flere Azure-områder, og der er flere på vej. Hvis du vil udrulle et nyt område, tilføjer teamet seks linjers kode og venter på, at ressourcerne opskaleres.

Når udrulningen er fuldautomatisk, er xREO-teamet flyttet til en SRE-rolle (Site Reliability Engineering), og de bruger det meste af tiden på at oprette nye værktøjer i stedet for at løse problemer. Som en del af udviklingsteamet konsulteres de ofte som en partner, der er tillid til, og deres fokus er på proaktivt og givende arbejde med en høj værdi.

Se nærmere på teamets transformation til en SRE-rolle.

Læs hele historien