Microsoft Xbox 팀, 게임 스트리밍 빌드를 위해 SRE 역할 수용
전역 분산형 Kubernetes 배포를 설계하기 위해 운영 팀과 개발자가 신뢰할 수 있는 파트너가 된 방법을 확인하세요.
당면 과제: 글로벌 규모 프로세스 만들기
많은 운영 팀과 마찬가지로, xREO(Xbox 안정성 엔지니어링 및 운영) 팀은 데이터 센터를 유지 관리하고, 새 코드를 배포하고, 해당 팀에서 설계하지 않은 엄격한 모놀리식 아키텍처에서 작업하면서 발생하는 문제에 대응하기 위해 반복적인 수동 작업을 수행하는 데 많은 시간을 소비했습니다. 팀은 40개 이상의 국가 및 지역에서 수백만 명의 활성 월간 구독자를 위한 서비스를 계속 실행하기 위해 노력했습니다. 그러나 팀이 전 세계 게이머에게 매우 짧은 대기 시간을 제공해야 하는 프로젝트 xCloud, 즉 게임 스트리밍 환경을 지원해야 하는 업무를 할당받았을 때는 기존 서비스 엔지니어링 역할에서 벗어나고 팀 사일로(silo)를 없애며 작업 방식을 새롭게 바꿔야 한다는 사실이 명확해졌습니다.
당면 과제: 클라우드 운영 모델에 적응하기
"작은 변화도 상당한 위험을 초래했습니다. 때문에 많은 시간을 진화 작업에 소비했죠. 우리의 운영 방식은 대부분 사후 대응이었으며 이를 어찌할 방도나 지원 방법이 딱히 없었습니다."
James Whitesides, Xbox 안정성 및 운영 팀 SRE PM
협업 및 자동화를 통해 크기 조정 해결
개발 팀은 프로젝트 초반에 Azure의 글로벌 도달 범위를 활용할 수 있는 새로운 아키텍처를 설계하고 빌드하는 데 도움이 되도록 xREO를 도입해야 한다는 사실을 인지했습니다. 오케스트레이션을 위한 명확한 선택으로 인프라 및 Kubernetes에서 서비스 코드를 분리하기 위해 컨테이너부터 시작한 팀은 많은 관리 복잡성을 없애기 위해 완전 관리형 AKS(Azure Kubernetes Service)를 선택했습니다.
그러나 이 간소화된 시스템을 사용했음에도 각 Kubernetes 클러스터를 신속하게 빌드하는 데 필요한 수동 작업의 양은 xREO 팀에게 큰 부담을 줬습니다. 반복 가능성 및 자동화를 위해 팀은 Azure Resource Manager 템플릿을 사용하여 리소스를 신속하게 프로비전하면서 Azure Pipelines를 통해 CI/CD(연속 통합 및 지속적인 업데이트) 파이프라인을 빌드하기로 결정했습니다.
당면 과제: 클라우드 운영 모델에 적응하기
"이제 우리는 SRE 역할에서 개발자와 함께 플랫폼을 빌드하며, 배포 프로세스의 일부가 되었습니다. 이제 우리는 체크리스트 항목을 끝내기 위해 고군분투하는 대신 빌드 및 개선에 집중합니다."
James Whitesides, Xbox 안정성 및 운영 팀 SRE PM
새 목표를 가진 새 역할 수행
현재 CI/CD 파이프라인은 수많은 Azure 지역과 100개 이상의 리소스(지역당)를 사용하는 35개 이상의 AKS 기반 마이크로 서비스를 배포하며 제공 범위는 계속해서 늘어납니다. 새 지역을 배포하기 위해 팀은 6줄의 코드를 추가하고 리소스가 스핀업될 때까지 기다립니다.
배포가 완전히 자동화된 상태에서 xREO 팀은 SRE(사이트 안정성 엔지니어링) 역할로 전환한 후 문제를 해결하는 대신 새 도구를 만드는 데 대부분 시간을 소비합니다. 팀은 신뢰할 수 있는 파트너로서 개발 팀과 자주 논의하고, 가치가 높고 성과가 큰 사전 예방적 작업에 집중합니다.