El equipo de Microsoft Xbox adopta el rol de SRE para crear streaming de juegos
Descubra cómo el equipo de operaciones y los desarrolladores se han convertido en partners de confianza para diseñar una implementación de Kubernetes distribuida globalmente.
Desafío: Crear un proceso para ofrecer escala global
Como muchos equipos de operaciones, el de ingeniería y operaciones de confiabilidad de Xbox (xREO) solía dedicar mucho tiempo a realizar tareas manuales repetitivas para mantener centros de datos, implementar código nuevo y reaccionar ante los problemas que surgieron al trabajar en una arquitectura rígida y monolítica que no diseñaron. Su trabajo mantuvo en funcionamiento el servicio para millones de suscriptores mensuales activos en más de 40 países y regiones. Sin embargo, cuando al equipo se le encargó la tarea de hacerse cargo del proyecto xCloud, una experiencia de streaming de juegos con requisitos de latencia extremadamente bajos para jugadores de todo el mundo, quedó claro que necesitaban salir de su rol de ingeniería de servicio tradicional, eliminar los silos entre equipos y reinventar su forma de trabajar.
Desafío: Adaptación a un modelo operativo en la nube
"Incluso los pequeños cambios suponían un riesgo importante, por lo que pasábamos mucho tiempo luchando contra los riesgos. Nuestro modo de operar era principalmente reactivo, y no estábamos realmente capacitados para hacer mucho al respecto."
James Whitesides, director de productos de SRE, Operaciones y Confiabilidad de Xbox
Solución de escalado a través de colaboración y automatización
En la fase temprana del proyecto, el equipo de desarrollo reconoció que necesitaba incorporar xREO para ayudar a diseñar y crear una nueva arquitectura que aprovechara el alcance global de Azure. A partir de contenedores para desacoplar el código de servicio de la infraestructura y Kubernetes como la opción obvia para la orquestación, los equipos seleccionaron el servicio totalmente administrado de Azure Kubernetes Service (AKS) para eliminar una gran cantidad de complejidad de la administración.
Incluso con este sistema simplificado, el volumen de las tareas manuales necesarias para compilar cada clúster de Kubernetes ha abrumado rápidamente al equipo de xREO. En el caso de la repetibilidad y automatización, decidieron crear una canalización de integración continua o entrega continua (CI/CD) con Azure Pipelines, utilizando las plantillas de Azure Resource Manager para aprovisionar recursos con rapidez.
Desafío: Adaptación a un modelo operativo en la nube
"Ahora, en el papel de SRE, creamos la plataforma con los desarrolladores y formamos parte de su proceso de implementación. Nos dedicamos a crear y mejorar, en lugar de grabar listas de comprobación."
James Whitesides, director de productos de SRE, Operaciones y Confiabilidad de Xbox
Adopción de un nuevo rol con una nueva misión
Hoy en día, la canalización de CI/CD implementa más de 35 microservicios basados en AKS que dependen de más de 100 recursos (por región) en varias regiones de Azure, y se irán agregando más. Para implementar una nueva región, el equipo agrega seis líneas de código y espera a que los recursos se consuman.
Gracias a la implementación totalmente automatizada, el equipo de xREO ha cambiado a un rol de ingeniería de confiabilidad de sitios (SRE) y dedica la mayor parte de su tiempo a crear herramientas en lugar de a solucionar problemas. A menudo se les consulta como partner de confianza del equipo de desarrollo, y se centran en realizar un trabajo proactivo, alto y altamente satisfactorio.