Zespół ds. konsoli Xbox w firmie Microsoft obejmuje rolę SRE w celu opracowania rozwiązania do przesyłania strumieniowego

Zobacz, w jaki sposób zespół operacyjny i deweloperzy stali się zaufanymi partnerami na potrzeby tworzenia globalnie dystrybuowanego wdrożenia na platformie Kubernetes.

Wyzwanie: Tworzenie procesu na skalę globalną

Podobnie jak w wielu zespołach operacyjnych, zespół Xbox Reliability Engineering and Operations (xREO) spędzał wiele czasu na wykonywaniu powtarzalnych, ręcznych zadań w celu obsługi centrów danych, wdrażania nowego kodu i reagowania na problemy wynikające z pracy w monolitycznej, sztywnej architekturze, która nie została zaprojektowana przez ten zespół. Ich wysiłki pozwoliły na działanie usługi dla milionów aktywnych subskrybentów miesięcznie w ponad 40 krajach i regionach. Jednak gdy przed zespołem postawiono zadanie obsługi projektu xCloud, środowiska przesyłania strumieniowego z ekstremalnie małymi opóźnieniami dla graczy na całym świecie, stało się jasne, że należy wyjść poza tradycyjną rolę w ramach inżynierii usług oraz zmienić strukturę zespołu i sposób pracy.

"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, kierownik projektu ds. roli SRE, zespół Xbox Reliability and Operations

Rozwiązania dotyczące skalowania korzystające z współpracy i automatyzacji

Na wczesnym etapie projektu zespół programistyczny uznał, że konieczna jest współpraca z zespołem xREO dotycząca projektowania i tworzenia nowej architektury, która mogłaby skorzystać z zalet globalnego zasięgu platformy Azure. Począwszy od kontenerów w celu oddzielenia kodu usługi od infrastruktury i platformy Kubernetes jako oczywistego wyboru na potrzeby orkiestracji, zespoły wybrały w pełni zarządzaną usługę Azure Kubernetes Service (AKS), aby znacznie uprościć zarządzanie.

Jednak nawet w tym ulepszonym systemie wolumin ręcznych zadań wymaganych do utworzenia poszczególnych klastrów platformy Kubernetes szybko przytłoczył zespół xREO. Aby zapewnić powtarzalność i automatyzację, podjęli oni decyzję o utworzeniu potoku ciągłej integracji/ciągłego wdrażania (CI/CD) za pomocą usługi Azure Pipelines i szablonów usługi Azure Resource Manager w celu szybkiego udostępniania zasobów.

"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, kierownik projektu ds. roli SRE, zespół Xbox Reliability and Operations

Podejmowanie nowej roli z nową misja

Obecnie za pomocą potoku ciągłej integracji/ciągłego wdrażania wdrażane jest ponad 35 mikrousług opartych na usłudze AKS zależnych od ponad 100 zasobów (na region) w wielu regionach platformy Azure, których liczba wkrótce jeszcze wzrośnie. Aby wdrożyć nowy region, zespół dodaje sześć wierszy kodu i czeka na jego uruchomienie.

Dzięki całkowicie zautomatyzowanemu wdrożeniu zespół xREO zaczął pełnić rolę SRE i poświęca większość czasu na tworzenie nowych narzędzi, a nie rozwiązywanie problemów. Zespół xREO, czyli zaufany partner zespołu programistycznego, często odbywa konsultacje i skupia się na proaktywnej, wartościowej i satysfakcjonującej pracy.

Przyjrzyjmy się bliżej transformacji zespołu do roli SRE.

Przeczytaj całą historię