Trace Id is missing
Passa al contenuto principale

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.

Una persona che parla in una sala riunioni

La sfida: adattarsi a un modello operativo cloud

"Anche le modifiche di piccole dimensioni hanno rappresentato un rischio significativo, il che significa che abbiamo dedicato molto tempo alla sicurezza. La modalità operativa è stata per lo più reattiva e non è stato possibile eseguire molte operazioni al riguardo."

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 (AKS) 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 amente il provisioning delle risorse.

La sfida: adattarsi a un modello operativo cloud

"Ora, nel ruolo SRE, la piattaforma viene compilata con gli sviluppatori e fa parte del processo di distribuzione. L'obiettivo è quello di creare e migliorare anziché masterizzare elenchi di controllo."

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.