Trace Id is missing
Gå til hovedindhold

Microsofts Xbox-team tager SRE-rollen til sig for at opbygge spilstreaming

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

Udfordringen: At skabe en proces til global skalering

Som mange andre driftsteams brugte xREO-teamet (Xbox Reliability Engineering and Operations) meget tid på at udføre gentagne, manuelle opgaver for at vedligeholde datacentre, udrulle ny kode og reagere på problemer, der er opstået som følge af arbejdet i en monolitisk arkitektur, som de ikke 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å.

En person, der taler i et mødelokale

Udfordringen: Tilpasning til en model, der drives i clouden

"Selv små ændringer udgør en betydelig risiko, hvilket betyder, at vi har brugt meget af vores tid på brandmandskab. Vores driftstilstand var hovedsageligt reaktiv, og vi kunne ikke rigtigt gøre meget ved det."

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.

Udfordringen: Tilpasning til en model, der drives i clouden

"I SRE-rollen bygger vi platformen med udviklerne, og vi er en del af deres udrulningsproces. Vi har fokus på at bygge og forbedre i stedet for at brænde tjeklister ned."

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 mikrotjenester, der er afhængige af mere end 100 ressourcer (pr. område), i flere Azure-områder, og der er flere på vej. For at implementere en ny region tilføjer teamet seks kodelinjer og venter på, at ressourcerne bliver sat til at køre.

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.