Spielstreaming durch den Wechsel des Microsoft Xbox-Teams zur SRE-Rolle
Informieren Sie sich, wie das Betriebsteam und Entwickler vertrauenswürdige Partner für das Entwerfen einer global verteilten Kubernetes-Bereitstellung wurden.
Die Herausforderung: Prozess für die globale Skalierung erstellen
Wie viele andere Betriebsteams hat auch das xREO-Team (Xbox Reliability Engineering and Operations) viel Zeit damit verbracht, repetitive und manuelle Aufgaben auszuführen, um beispielsweise Rechenzentren zu verwalten, neuen Code bereitzustellen oder auf Probleme zu reagieren, die durch die Arbeit in einer monolithischen, starren Architektur aufkamen, die sie nicht entworfen haben. Durch sein hohes Engagement konnte der Dienst für Millionen von aktiven monatlichen Abonnenten in über 40 Ländern und Regionen weiter betrieben werden. Als das Team die Aufgabe bekam, den Spielstreamingdienst Project xCloud mit extrem niedrigen Latenzanforderungen für Spieler auf der ganzen Welt zu unterstützen, wurde schnell klar, dass es die traditionelle Service-Engineering-Rolle aufgeben, Silos aufbrechen und eine neue Arbeitsweise entwickeln muss.
Die Herausforderung: Wechsel zu einem Cloudbetriebsmodell
"Selbst kleine Änderungen führten zu einem erheblichen Risiko, was dazu führte, dass wir viel Zeit damit verbracht haben, zu feuern. Unser Betriebsmodus war größtenteils reaktiv, und wir waren nicht wirklich in der Lage, viel dagegen zu tun."
James Whiteside, SRE-PM, Xbox Reliability and Operations
Skalierungsmöglichkeiten durch Zusammenarbeit und Automatisierung
Das Entwicklungsteam hat schon in einer frühen Phase des Projekts erkannt, dass es beim Entwerfen und Erstellen einer neuen Architektur die Hilfe des xREO-Teams benötigt, um von Global Reach von Azure zu profitieren. Das Team hat beginnend mit Containern zum Entkoppeln des Dienstcodes von der Infrastruktur und Kubernetes als erste Wahl für die Orchestrierung die Azure Kubernetes Service-Umgebung (AKS) ausgewählt, um die Verwaltungskomplexität zu minimieren.
Doch selbst bei Verwendung dieses optimierten Systems hat die Menge der für das Erstellen der einzelnen Kubernetes-Cluster erforderlichen manuellen Aufgaben das xREO-Team schnell überlastet. Das Team hat sich im Sinne einer schnellen Bereitstellung der Ressourcen sowie der Wiederholbarkeit und Automatisierung dazu entschieden, mit Azure Pipelines und mithilfe von Azure Resource Manager-Vorlagen eine CI/CD-Pipeline (Continuous Integration/Continuous Delivery) zu erstellen.
Die Herausforderung: Wechsel zu einem Cloudbetriebsmodell
"Nun erstellen wir in der SRE-Rolle die Plattform mit den Entwicklern, und wir sind Teil ihres Bereitstellungsprozesses. Wir konzentrieren uns wirklich auf das Erstellen und Verbessern, anstatt Checklisten zu brennen."
James Whiteside, SRE-PM, Xbox Reliability and Operations
Neue Rolle für neue Aufgaben
Heute werden mit der CI/CD-Pipeline mehr als 35 AKS-basierte Microservices bereitgestellt, die auf mehr als 100 Ressourcen (pro Region) für eine steigende Anzahl von Azure-Regionen basieren. Das Team fügt für die Bereitstellung einer neuen Region sechs Codezeilen hinzu und wartet auf die Bereitstellung der Ressourcen.
Mithilfe der vollständig automatisierten Bereitstellung hat das xREO-Team zur SRE-Rolle (Site Reliability Engineering) gewechselt und kann jetzt einen Großteil der Zeit in das Erstellen neuer Tools investieren, anstatt Probleme zu beheben. Das Team wird häufig als vertrauenswürdiger Partner vom Entwicklungsteam kontaktiert. Der Fokus liegt dabei auf der proaktiven, qualitativ hochwertigen und erfolgsversprechenden Arbeit.