Trace Id is missing
Przejdź do głównej zawartości

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.

Osoba mówiąca w sali konferencyjnej

Wyzwanie: Zaadaptowanie do nowego modelu działania w chmurze

"Nawet niewielkie zmiany stwarzają znaczne ryzyko, co oznaczało, że poświęcaliśmy dużo czasu na gaszenie pożarów. Nasz tryb działania był w większości reaktywny i tak naprawdę nie mogliśmy wiele z tym zrobić."

James Whitesides, kierownik projektu ds. roli SRE, zespół Xbox Reliability and Operations

Rozwiązania dotyczące skalowania korzystające ze 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.

Wyzwanie: Zaadaptowanie do nowego modelu działania w chmurze

"Teraz w roli SRE tworzymy platformę razem z deweloperami i jesteśmy częścią ich procesu wdrażania. Skupiamy się na tworzeniu i ulepszaniu, a nie na wyczerpywaniu list kontrolnych."

James Whitesides, kierownik projektu ds. roli SRE, zespół Xbox Reliability and Operations

Podejmowanie nowej roli z nową misją

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 świadczenia 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.