전례 없는 성과를 이끌어낸 체험 제공을 가능하게 한 인프라

Roblox에서는 매 주말마다 새로운 경지에 도달합니다

Roblox에서 수천만 명의 사용자가 수천만 개의 체험을 함께 즐길 수 있도록 확장하고 지원할 수 있게 된 것은 하루 아침에 일어난 일이 아닙니다. 이는 더욱 폭넓은 혁신의 문화와 더불어 전사 차원에서 성공적으로 이뤄낸 수많은 작은 노력의 총합입니다. 그리고 이를 통해 Roblox의 여러 체험에서 기록적인 트래픽을 지원하는 인프라를 구축할 수 있게 되었습니다. 성공적인 체험 중 하나인 그로우 어 가든(Grow a Garden)은 최근 2160만 명의 사용자가 동시에 플레이하며 기네스 세계 기록®을 경신하는 성과를 올렸습니다. 지금까지 Roblox 플랫폼은 거의 20년 동안 새로운 최고 동시 접속자 수 기록을 계속해서 경신해 왔으며, 최근에는 동시 접속자 수 3000만 명을 돌파하기에 이르렀습니다.

Roblox는 패션 리더 도전하기, 입양하세요!, 데드 레일 등 수백만의 크리에이터가 제작한 체험의 인프라 구축 및 유지와 관련하여 고유한 과제에 직면하고 있으며, 혁신적인 엔지니어링 방법론이 필요했습니다. 예상치 못한 트래픽 급증 시에도 확장 가능한 인프라를 통해 수십 건의 시간당 업데이트와 3000만 명 이상의 동시 사용자를 지원해야 하기 때문입니다. Roblox의 인프라는 2100만 명 이상의 사용자가 하나의 체험에 동시에 참여하는 (그리고 업데이트 코드는 개별 크리에이터의 것인) 엄청난 규모의 사용자 집중 상황을 지원해야 합니다. 이에 Roblox 엔지니어들은 회사의 네 가지 핵심 가치를 반영해 기존의 통념에 도전하는 혁신적인 솔루션을 제시했습니다.

Roblox 인프라

Roblox 엔지니어는 게임 서버를 운영하는 전 세계 24개의 엣지 데이터 센터를 관리합니다. 사용자가 체험에 참가하면, 가장 가까운 데이터 센터와 센터 내 가장 적합한 인스턴스에 연결해 지연 시간을 최소화합니다. 또한 두 곳의 대규모 핵심 데이터 센터를 통해 엣지 데이터 센터의 기능에 필수적인 웹사이트, 추천 알고리즘, 안전성 필터, 가상 경제, 퍼블리싱 플랫폼과 같은 중앙 집중식 서비스를 운영합니다. 글로벌 프라이빗 네트워크는 모든 엣지 데이터 센터를 핵심 데이터 센터와 연결하며, 엣지 데이터 센터는 핵심 데이터 센터에서 실행되는 서비스를 보호하는 방화벽 역할을 합니다.

멀리 보기: 선제적인 사용자 수용 예측

이상적인 환경에서는 크리에이터들이 용량에 대해 전혀 고민할 필요가 없어야 합니다. 인프라는 크리에이터의 눈에 보이지 않는 배후에서 작동해야 합니다. 크리에이터가 Roblox에 체험을 게시하면, Roblox는 이용하는 플레이어 수에 관계없이 필요한 모든 용량을 지원하는 역할을 합니다. 운영 초기에는 향후 1~2년 동안의 용량을 1년에 한 번씩 계획했으나, 최근 패션 리더 도전하기, 피쉬, 데드 레일, 그로우 어 가든과 같은 체험의 성공과 더불어 용량 계획 프레임워크를 재고하게 되었습니다.

장기적인 관점을 견지하는 회사의 가치에 따라, Roblox는 이제 최대 2년 전부터 용량 수요를 예측하여 용량와 효율적인 서버 활용을 균형 있게 조정하고 있습니다. 본 계획 주기에는 데이터 센터 확보, 서버 하드웨어 교체, 물리적 네트워크 구축이 포함되며, 브라질에 위치한 새로운 데이터 센터와 같은 시설은 수년 전부터 계획되어 왔습니다. 네트워크 팀은 또한 네트워크 케이블 단선과 같은 문제가 발생하더라도 지속적인 운영을 보장하기 위해 '다크' 용량을 유지합니다.

Roblox의 현재 용량은 2년 전 예측에 기반을 두고 있습니다. 당시에는 사람이 잘 찾지 않던 체험이 몇 주 만에 엄청난 인기를 끌게 될 것이라고는 예측할 수 없었습니다. '패션 리더 도전하기나 '그로우 어 가든'과 같은 인기 게임들은 Roblox의 최대 동시 접속자 수를 2025년 4월 1390만 명에서 6월 3060만 명으로 두 배로 늘리는 결과를 낳았지만, 이러한 체험들은 용량 예측을 수행한 당시에는 존재하지 않았습니다. 한 예로 2025년 3월, 데드 레일은 사용자가 급증해 최대 CPU 용량인 동시 접속자 수 100만 명을 기록했습니다.

이러한 인기 급상승 사례를 접하며 Roblox는 더욱 민첩한 계획 사이클을 도입했습니다. 기록을 경신하는 플레이어 수를 지속적으로 지원하기 위해 엔지니어링 팀은 계획, 테스트 및 용량 조정으로 구성된 엄격한 주간 사이클을 운영하고 있습니다. 월요일은 인시던트 검토에 전념하고, 화요일에는 용량 계획을 진행합니다. 주간 내내 지속적인 카오스 테스트가 진행됩니다. 목요일에는 크리에이터들이 예상한 대규모 업데이트에 대비해 용량 검토에 집중합니다. 금요일에는 주말 피크 사용량에 대비해 추가 클라우드 리소스를 할당합니다. 이렇게 Roblox는 일주일 내내 완전히 새로운 기능을 계속 출시하며, 모든 엔지니어의 지속적인 배포를 차단하지 않습니다.

커뮤니티 존중하기: 크리에이터가 더욱 손쉽게 작품을 제작할 수 있도록 지원

스로틀링은 컴퓨터 과학에서 매우 널리 받아들여지는 개념입니다. 하지만 컴퓨터 과학에서 가장 오용되고 오해받는 요소이기도 합니다. Roblox에 새로 합류한 엔지니어들이 가장 먼저 떠올리는 해결책은 '크리에이터에게 이 구성을 조정하거나 이벤트 속도를 늦추라고만 말해 주면 좋을 텐데...'입니다. 그러면 Roblox의 베테랑 엔지니어들은 커뮤니티를 존중하는 것이 우리의 가치이며, 크리에이터에게 무엇을 해야 하는지 지시하지 않는다고 친절하게 설명해 줍니다.

예를 들어, 대부분의 게임 시스템은 수백만 명의 플레이어가 동시에 플레이를 클릭할 때 매칭 문제를 해결하기 위해 간단한 솔루션을 제공합니다. 참가를 제한하거나, 플레이어를 대기시키거나, 매치메이킹 알고리즘을 건너뛰어 무작위 서버로 보내는 방식입니다. 그러나 Roblox의 방식은 이와 정반대로, 엄청난 규모의 플레이어가 몰려드는 상황을 위해 매치메이킹 시스템을 완전히 재설계하는 쪽을 택했습니다. 피크 시간대에는 이 시스템이 초당 최대 40억 개의 참가 조합을 평가합니다. 이렇게 Roblox는 이미 수년 전부터 10초 안에 1000만 건의 참가라는 목표를 설정했으며, 그 목표를 향해 계속해서 전진하고 있습니다.

또한 용량 부족으로 인한 속도 제한을 피하기 위해 셀룰러 인프라로의 전환 과정에서 클라우드 버스팅을 실험 중입니다. 이 아키텍처는 사용자를 온프레미스 및 클라우드 엣지 데이터 센터 셀과 매칭시켜 피크 수요를 처리하며, 동적이며 컴퓨팅 효율적인 스케일링을 가능하게 합니다. 또한 매칭 알고리즘을 위해 완전히 추상화된 클라우드 기반 에지 데이터 센터의 완전한 자동화 가동 및 해체 프로세스를 구현하기 위해 노력하고 있습니다.

또 다른 예로, 피크 시점에 최대 초당 25만 건의 요청을 처리하는 텍스트 필터 시스템을 들 수 있습니다. 이는 지속적으로 확장되는 콘텍스트 윈도우와 함께 25만개의 토큰을 처리하는 대규모 모델 추론입니다. 또한 생산 환경에서 300개 이상의 AI 추론 파이프라인이 실행되고 있는 상황에서, Roblox 서비스 소유자들은 GPU와 CPU 간의 최적의 추론 프로파일 조합을 찾는 데 많은 시간을 투자합니다. 최대 부하 상황에서도 Roblox 엔지니어들은 크리에이터의 자유와 사용자 안전을 최우선으로 여기며 커뮤니티 중심의 해결책을 찾습니다.

맡은 일 완료하기: 시스템 안정성 강화

Roblox는 크리에이터들의 흥미로운 업데이트를 지원할 수 있는 용량과 알고리즘을 구축하기 위해 항상 계획을 세웁니다. 하지만 이러한 시스템이 최대 트래픽 급증이나 단일 서비스 장애 상황에서도 안정적으로 작동할 수 있는지 확인해야 합니다. 1600개 이상의 마이크로서비스에서 수집된 최대 트래픽 데이터는 추가 스트레스 테스트가 필요한 서비스를 식별하는 데 도움을 줍니다.

또한 Roblox는 매일 몇 가지 서비스를 선택해 프로덕션 환경에서 그 용량을 제한합니다. 속성을 관찰한 후 주말이 오기 전에 수정하는데, 이를 '실제 용량 테스트(TACO)' 화요일이라고 부릅니다. 신뢰성 팀은 또한 지속적인 용량 정확성(C3)을 운영합니다. 각 엔지니어링 팀은 C3 대시보드를 사용해 서비스의 CPU 용량을 예측하고 관리합니다. 이는 서비스 소유자가 지난 피크에서 배워 다음 피크를 위해 용량을 증가하거나 감소시킬 수 있도록 합니다. Roblox 핵심 엔진에서 신규 릴리스 시 호출 패턴을 추적하는 시스템을 출시하기도 했으며, 이를 통해 각 업데이트에 더욱 효과적으로 대비할 수 있게 되었습니다.

이러한 모든 준비에도 불구하고, 예측 불가능한 트래픽 패턴으로 인해 단일 서비스나 제품 흐름이 플랫폼 다운을 야기하는 상황이 종종 발생합니다. 예를 들어, 2조 개의 이벤트 분석 파이프라인이 인기 업데이트로 인해 30% 더 많은 트래픽을 경험할 수 있는데, 이러한 상황에서 적응형 동시성 제어(ACC), 서킷 브레이커, 재시도 제거와 같은 복원력 메커니즘이 플랫폼을 보호하기 위해 작동하게 됩니다. 올해는 프로덕션 환경에서 임의로 오류를 주입하고 리소스를 소진시키며 프로세스를 임의로 종료하는 방식으로 인프라의 복원력과 확장성을 강화하기 위한 카오스 테스팅 플랫폼도 구축했습니다.

책임 지기: 모든 인력 동원

Roblox는 주말의 대규모 업데이트를 위해 일주일 내내 테스트와 준비를 진행합니다. 하지만 주말이 오면 여전히 해야 할 일이 남아 있습니다. 주말 업데이트를 앞두고 Roblox 엔지니어들은 다가오는 변경 사항을 모니터링하고 남은 용량을 예측하며, 필요에 따라 가상 엣지 데이터 센터를 통해 수백만 명의 추가 플레이어를 수용할 수 있도록 추가 클라우드 리소스를 확보합니다.

금요일에는 클라우드 리소스를 활용해 추가 용량의 확보 여부를 결정합니다. 이 프로세스는 하이브리드 클라우드 팀에게 수백만 명의 추가 사용자를 수용하기 위해 충분한 추가 용량을 확보하도록 명확한 방향을 제시합니다. 현재 24개의 물리적 엣지 데이터 센터를 상시 운영하면서도, 모든 테스트를 거친 후 추가 엣지 데이터 센터가 필요하다는 결정을 내리기도 합니다. 12시간 안에 서버를 설치하고 구성하는 것은 불가능하기 때문에 클라우드 파트너와 협력하여 다수의 가상 엣지 데이터 센터를 구축합니다. 금요일에 테스트를 거친 후 주말에 대비합니다.

책임감을 실천하는 진정한 정신으로, Roblox에서는 최고 경영진을 포함한 모든 구성원이 주말에도 대기 근무를 하고 있습니다. 토요일에는 사용자 급증으로 인해 수백 개의 알림이 발생하는 경우가 있습니다. 각 팀은 각 알림에서 요구하는 사항을 사전에 해결함으로써 대규모 업데이트나 플랫폼 단위의 역대 최대 사용량 발생 시 발생하는 문제를 효과적으로 처리할 수 있도록 지원합니다.

레오나르도 다빈치가 언급했듯이, '배움은 결코 마음을 지치게 하지 않습니다'. 각 단계를 통해 Roblox는 인프라를 더욱 신뢰할 수 있고 눈에 띄지 않게 만드는 새로운 기술과 방법을 배우고 발명하는 방향으로 전진할 수 있었습니다. Roblox의 크리에이터들은 작품을 게시하거나 업데이트하며, 눈에 띄지 않는 인프라의 마법을 통해 수천만 명의 사용자들은 거의 즉시 완전히 새로운 체험을 시작하게 됩니다. 컴퓨터 과학의 경계를 넘어 도전하도록 우리를 이끌어 주신 크리에이터 및 사용자 여러분께 영원히 감사드립니다.