Microsoft Xbox-teamet tar på seg SRE-rollen for å bygge en strømmingstjeneste for spill

Se hvordan driftsteamet og utviklere ble pålitelige partnere for utvikling av en globalt distribuert Kubernetes-distribusjon.

Utfordringen: Opprette en prosess for global skalering

I likhet med mange driftsteam, brukte Xbox Reliability Engineering and Operations (xREO)-teamet mye tid på å utføre gjentakende, manuelle oppgaver for å vedlikeholde datasentre, distribuere ny kode og svare på problemer som oppstod fra å arbeide i en monolittisk, rigid arkitektur som de ikke hadde utformet. Deres arbeid holdt tjenesten i drift for mange millioner aktive månedlige abonnenter i mer enn 40 land og områder. Men da teamet fikk i oppgave å støtte en ny, behovsbetinget prosjektet xCloud med krav om veldig lav forsinkelse for spillere rundt om i hele verden, var det tydelig at de måtte gå utenfor deres tradisjonelle teknikerrolle, dele opp teamet i siloer og omgjøre arbeidsmetodene sine.

"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-pålitelighet og -drift

Opprette en skalerbar løsning ved hjelp av samarbeid og automatisering

Tidlig i prosjektet innså utviklingsteamet til at de måtte benytte xREO for å utforme og opprette en ny arkitektur som kunne dra nytte av den globale rekkevidden til Azure. Fra og med beholdere til frakobling av tjenestekode fra infrastrukturen og Kubernetes som det åpenbare valget for organisering, valgte teamene den totaladministrerte Azure Kubernetes Service (AKS) for å eliminere mye av behandlingskompleksiteten.

Men selv med dette strømlinjeformede systemet oversvømmet volumet av manuelle oppgaver som kreves for å opprette hver Kubernetes-klynge raskt xREO-teamet. For å oppnå gjentakelse og automatisering, besluttet de å opprette et datasamlebånd for kontinuerlig integrering/kontinuerlig levering (CI/CD) med Azure Pipelines ved hjelp av Azure Resource Manager-maler for rask klargjøring av ressurser.

"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-pålitelighet og -drift

En ny rolle med et nytt oppdrag

I dag kan CI/CD-datasamlebåndet distribuere mer enn 35 AKS-baserte mikrotjenester som er avhengige av mer enn 100 ressurser (per område) til flere Azure-områder, med mer på vei. For å distribuere et nytt område, legger teamet til seks kodelinjer og venter på at ressursene skal starte opp.

Med distribusjonen fullstendig automatisert, har xREO-teamet gått over til en rolle for utvikling av tjenestepålitelighet (SRE), og de bruker mesteparten av tiden til å opprette nye verktøy i stedet for å løse problemer. De blir ofte konsultert som en pålitelig partner av utviklingsteamet og deres fokus er på proaktivt, verdiskapende og veldig belønnende arbeid.

Ta en nærmere titt på teamets transformasjon til en SRE-rolle.

Les hele historien