Microsoft Xbox 팀, 게임 스트리밍 빌드를 위해 SRE 역할 수용

전역 분산형 Kubernetes 배포를 설계하기 위해 운영 팀과 개발자가 신뢰할 수 있는 파트너가 된 방법을 확인하세요.

당면 과제: 글로벌 규모 프로세스 만들기

많은 운영 팀과 마찬가지로, xREO(Xbox 안정성 엔지니어링 및 운영) 팀은 데이터 센터를 유지 관리하고, 새 코드를 배포하고, 해당 팀에서 설계하지 않은 엄격한 모놀리식 아키텍처에서 작업하면서 발생하는 문제에 대응하기 위해 반복적인 수동 작업을 수행하는 데 많은 시간을 소비했습니다. 팀은 40개 이상의 국가 및 지역에서 수백만 명의 활성 월간 구독자를 위해 서비스를 계속 실행하기 위해 노력했습니다. 그러나 팀이 전 세계 게이머에게 매우 짧은 대기 시간을 제공해야 하는 프로젝트 xCloud, 즉 게임 스트리밍 환경을 지원해야 하는 업무를 할당받았을 때는 기존 서비스 엔지니어링 역할에서 벗어나고 팀 사일로(silo)를 없애며 작업 방식을 새롭게 바꿔야 한다는 사실이 명확해졌습니다.

"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."

Xbox 안정성 및 운영 SRE PM James Whitesides

협업 및 자동화를 통해 크기 조정 해결

개발 팀은 프로젝트 초반에 Azure의 글로벌 도달 범위를 이용하는 새로운 아키텍처를 설계하고 빌드하는 데 도움이 되도록 xREO를 도입해야 한다는 사실을 인식했습니다. 오케스트레이션을 위한 명확한 선택으로 인프라 및 Kubernetes에서 서비스 코드를 분리하기 위해 컨테이너부터 시작한 팀은 많은 관리 복잡성을 없애기 위해 완전 관리형 AKS(Azure Kubernetes Service)를 선택했습니다.

그러나 이 간소화된 시스템을 사용했는데도 각 Kubernetes 클러스터를 신속하게 빌드하는 데 필요한 수동 작업의 양은 xREO 팀을 압도했습니다. 반복 가능성 및 자동화를 위해 팀은 Azure Resource Manager 템플릿을 사용하여 리소스를 신속하게 프로비저닝하면서 Azure Pipelines를 통해 CI/CD(지속적인 통합/지속적인 업데이트) 파이프라인을 빌드하기로 결정했습니다.

"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."

Xbox 안정성 및 운영 SRE PM James Whitesides

새 업무로 새 역할 수행

현재 CI/CD 파이프라인은 여러 Azure 지역에 100개 이상의 리소스(지역당)를 사용하는 35개 이상의 AKS 기반 마이크로 서비스를 배포하며 계속 더 늘어납니다. 새 지역을 배포하기 위해 팀은 6줄의 코드를 추가하고 리소스가 스핀업될 때까지 기다립니다.

배포가 완전히 자동화된 상태에서 xREO 팀은 SRE(사이트 안정성 엔지니어링) 역할로 전환한 후 문제를 해결하는 대신 새 도구를 만드는 데 대부분 시간을 소비합니다. 이 팀은 신뢰할 수 있는 파트너로서 개발 팀과 자주 컨설팅하고, 가치가 높고 성과가 큰 사전 대응형 작업에 집중합니다.

팀의 SRE 역할에 대한 혁신을 좀 더 자세히 살펴보겠습니다.

사례 전문 읽기