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 prosjektet xCloud, en spillstrømmingsopplevelse med ekstreme krav om lav forsinkelse for spillere rundt om i hele verden, var det tydelig at de måtte gå utenfor deres tradisjonelle teknikerrolle, dele opp teamsiloer og omgjøre arbeidsmetodene sine.
Utfordringen: Tilpasse seg til en skydriftsmodell
"Selv små endringer utgjorde en betydelig risiko, noe som medførte at vi brukte mye tid på brannslukking. Driftsmodusen vår var hovedsakelig reaktiv, og vi fikk egentlig ikke muligheten til å gjøre mye med denne dynamikken."
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.
Utfordringen: Tilpasse seg til en skydriftsmodell
"Nå bygger vi plattformen med utviklere i SRE-rollen, og vi er en del av distribusjonsprosessen deres. Vi er veldig fokusert på å bygge og forbedre oss fremfor å gjenta etablerte daglige rutiner."
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.