L’équipe Microsoft Xbox adopte le rôle Ingénierie de la fiabilité des sites (SRE) pour créer un streaming de jeux
Découvrez comment l’équipe des opérations et les développeurs sont devenus des partenaires de confiance pour concevoir un déploiement Kubernetes distribué à l’échelle mondiale.
Le défi : Création d’un processus pour une mise à l’échelle mondiale
À l’instar de nombreuses équipes d’exploitation, l’équipe xREO (Xbox Reliability Engineering and Operations) consacrait énormément de temps à effectuer des tâches manuelles répétitives pour gérer les centres de données, à déployer de nouveaux codes et à réagir à des problèmes d’utilisation d’une architecture monolithique rigide préexistante. Ses efforts ont permis à des millions d’abonnés mensuels actifs dans plus de 40 pays et régions de continuer à bénéficier de ce service. Cependant, lorsque l’équipe a été chargée de prendre en charge le projet XCloud, une nouvelle expérience de streaming de jeux avec des exigences de latence extrêmement faibles pour les joueurs du monde entier, il est devenu évident qu’elle devait sortir de son rôle traditionnel d’ingénierie de service, supprimer les silos d’équipe et réinventer sa façon de travailler.
Le défi : Adaptation à un modèle d’exploitation cloud
"Même les petites modifications présentaient un risque important, ce qui signifie que nous avons passé beaucoup de temps à nous lancer. Notre mode de fonctionnement était principalement réactif, et nous n’avons pas vraiment été en mesure d’y faire grand chose."
James Whitesides, chef de projets SRE , Xbox Reliability et Operations
Résolution des problèmes de mise à l’échelle via la collaboration et l’automatisation
Au début du projet, l’équipe de développement a reconnu qu’elle devait faire appel à xREO pour concevoir et construire une nouvelle architecture qui tirerait parti de la portée mondiale d’Azure. En commençant par des conteneurs pour découpler le code de service de l’infrastructure et Kubernetes comme le choix évident pour l’orchestration, les équipes ont choisi le service entièrement managé Azure Kubernetes Service (AKS) pour éliminer une grande partie de la complexité de la gestion.
Pourtant, même avec ce système rationalisé, le volume des tâches manuelles nécessaires pour créer chaque cluster Kubernetes a rapidement surchargé l’équipe xREO. Pour des raisons de répétabilité et d’automatisation, elle a décidé de construire un pipeline d’intégration continue et de livraison continue (CI/CD) avec Azure Pipelines, en utilisant des modèles Azure Resource Manager pour fournir rapidement les ressources.
Le défi : Adaptation à un modèle d’exploitation cloud
"Maintenant, dans le rôle SRE, nous créons la plateforme avec les développeurs et nous faisons partie de leur processus de déploiement. Nous nous concentrons vraiment sur la création et l’amélioration au lieu de graver les listes de vérification."
James Whitesides, chef de projets SRE , Xbox Reliability et Operations
Assumer un nouveau rôle avec une nouvelle mission
Aujourd’hui, le pipeline CI/CD déploie plus de 35 microservices basés sur AKS qui s’appuient sur plus de 100 ressources (par région) dans de nombreuses régions Azure, et d’autres sont en cours de déploiement. Pour déployer une nouvelle région, l’équipe ajoute six lignes de code et attend que les ressources s’imposent.
Le déploiement étant entièrement automatisé, l’équipe xREO est passée à un rôle d’ingénierie de la fiabilité des sites (SRE) et passe la plupart de son temps à créer des outils au lieu de résoudre des problèmes. Ils sont fréquemment consultés en tant que partenaires de confiance de l’équipe de développement, et ils se concentrent sur un travail proactif, de grande valeur et très gratifiant.