Il team di Microsoft Xbox adotta il ruolo SRE per creare lo streaming di giochi

Scopri in che modo il team operativo e gli sviluppatori sono diventati partner attendibili per progettare una distribuzione Kubernetes distribuita a livello globale.

La sfida: creazione di un processo per la scalabilità globale

Analogamente a molti team operativi, il team di xREO (Xbox Reliability Engineering and Operations) dedicava molto tempo all'esecuzione di attività manuali ripetitive per la manutenzione dei data center, la distribuzione di nuovo codice e la reazione a problemi generati dal lavoro in un'architettura monolitica rigida non progettata dal team. Il loro impegno ha mantenuto in esecuzione il servizio per milioni di sottoscrittori attivi mensili in più di 40 paesi e aree geografiche. Quando è stato richiesto al team di supportare il progetto xCloud, un'esperienza di streaming di giochi con requisiti estremamente bassi per la latenza per i giocatori di tutto il mondo, è risultato evidente che era necessario abbandonare il ruolo tradizionale di progettazione di servizi, abbattere i silo tra i team e reinventare l'approccio al lavoro del team.

"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

Soluzione per la larga scala grazie alla collaborazione e all'automazione

Nelle fasi iniziali del progetto il team di sviluppo si è reso conto della necessità di coinvolgere il team di xREO per contribuire alla progettazione e alla creazione di una nuova architettura che fosse in grado di sfruttare i vantaggi della copertura globale di Azure. Partendo dai contenitori per separare il codice del servizio dall'infrastruttura e adottando Kubernetes come scelta ovvia per l'orchestrazione, i team hanno selezionato il servizio Azure Kubernetes completamente gestito per eliminare la maggior parte della complessità della gestione.

Anche con questo sistema semplificato i volumi delle attività manuali necessarie per la creazione di ogni cluster Kubernetes sono risultati quasi subito eccessivi per il team di xREO. Per assicurare la ripetibilità e l'automazione, hanno deciso di creare una pipeline di integrazione continua/recapito continuo (CI/CD) con Azure Pipelines, usando modelli di Azure Resource Manager per effettuare rapidamente il provisioning delle risorse.

"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

Adozione di un nuovo ruolo con una nuova missione

La pipeline CI/CD distribuisce attualmente più di 35 microservizi basati sul servizio Azure Kubernetes che si affidano a più di 100 risorse (per area) in diverse aree di Azure con una maggiore disponibilità prevista a breve. Per distribuire in una nuova area, il team aggiunge sei righe di codice e attende la creazione delle risorse.

Grazie all'automazione completa della distribuzione, il team di xREO è passato a un ruolo SRE (Site Reliability Engineering) e dedica la maggior parte del tempo alla creazione di nuovi strumenti invece che alla risoluzione di problemi. I membri del team vengono spesso consultati come partner attendibile per il team di sviluppo e si concentrano su lavoro proattivo, di valore elevato ed estremamente gratificante.

Esamina nel dettaglio la trasformazione del team in un ruolo SRE.

Leggi la storia completa