[컴퓨터월드] 온라인 게임 업계의 선구자인 유비소프트(Ubisoft)는 ‘하시코프 볼트(HashiCorp Vault)’를 사용해 글로벌 게임 플랫폼 전반에서 보안, 가용성 및 성능을 향상했다.

1986년에 설립된 유비소프트는 전 세계 30여 개 지역, 20,000명의 직원을 보유하고 있으며, 독창적이고 기억에 남는 게임 경험을 통해 플레이어의 삶을 풍요롭게 한다는 공통의 미션을 추구하고 있다. 파리에 본사를 둔 이 회사는 어쌔신 크리드(Assassin’s Creed), 레인보우 식스(Rainbow Six), 파 크라이(Far Cry), 와치독(Watch Dogs), 레이맨(Rayman), 저스트 댄스(Just Dance) 등 높은 인기를 얻고 있는 비디오 게임 프랜차이즈의 퍼블리셔다.

유비소프트 주요 현황
유비소프트 주요 현황

도날드 하바스(Donald Havas) 유비소프트 어쏘시에이츠 디렉터는 “‘하시코프 볼트’에는 각 팀의 자율성과 고유한 작업 스타일을 유지하면서 전사적으로 표준화를 확대하는 데 필요한 모든 특징, 기능 및 보안 설정이 있었다”고 말했다.


전 세계 게이머들이 즐기는 게임

유비소프트는 약 40년 동안 비디오 게임 개발 분야를 선도하며 유명한 게임 프랜차이즈를 디자인하고 퍼블리싱해왔다.

비디오 게임은 단일 플랫폼 CD 기반 에셋에서 온라인으로 제공되면서 몰입감을 높일 수 있도록 시각화가 강조됐다. 또한 게임 성능 향상을 위해 IT 인프라의 도움도 필요했다. 유비소프트는 최고의 온라인 경험을 제공하기 위해 6개의 자체 데이터센터를 운영했다.

베어메탈 서버, 그리고 가상화 환경과 오픈스택(OpenStack) 프라이빗 클라우드를 시작으로 이 회사의 방대한 IT 환경은 현재 여러 지역 전반에 걸쳐 서비스형 플랫폼(PaaS)으로 구축됐다. 수천 개 애플리케이션과 그 워크로드가 여러 퍼블릭 클라우드 서비스 전반에 배포됐다. 분산된 이기종 인프라에서 이러한 규모의 시스템은 시크릿(Secret) 관리 문제를 야기하고 시크릿 스프롤(Sprawl)이 발생할 가능성이 높다.

도널드 하바스 유비소프트 어쏘시에이츠 디렉터는 “유비소프트는 항상 개별 팀을 하나의 스튜디오처럼 취급하고 자율적으로 작업할 수 있도록 하는 방식을 선호했다. 개별 팀이 중앙 엔지니어링 팀에 의존하지 않으면서 고객 요구와 시장 요구에 보다 민첩하게 대응할 수 있기 때문”이라면서도 “개별 팀이 시크릿 및 보안 관리에 대해 저마다 고유한 접근 방식을 가지고 있는 경우, 몇 가지 문제점들이 나타난다. 가시성이 제한되고 복원력을 저하시켜 서비스 중단 또는 저하를 초래할 수도 있다”고 밝혔다.


비표준 개발에 대한 표준화된 시크릿

과거에는 유비소프트 개별 팀이 몽고(Mongo)DB 또는 기타 데이터베이스(DB)에서 API 키, 소프트웨어 개발 키트(SDK), 쿠버네티스(Kubernetes) 기반 지속 통합·지속 배포(CI·CD) 파이프라인에 이르는 모든 액세스를 제어하는 자체 시크릿과 토큰을 관리했다. 하지만 이 같은 단편적인 접근 방식을 통해 개별 팀들이 ‘센트리파이(Centrify)’와 ‘패스워크(Passwork)’와 같은 내부 및 써드파티 툴을 함께 사용해 시크릿을 관리했기 때문에 많은 문제점이 나타났다. 게임 디자인과 실행의 품질뿐만 아니라 가용성, 성능, 시크릿 등으로 게임 개발 업체를 평가하는 시장에서, 시크릿 관리를 개별 그룹에 맡기는 것은 개발자들과 브랜드 전반에 불필요한 이슈를 만들 수 있었다.

슈이치 세키노(Shuichi Sekino) 유비소프트 제품 총괄 책임자는 “과거 시크릿이 만료된 것을 파악하지 못하거나 추적할 수 없어 예상치 못한 다운타임이 발생했다. 인증서가 만료되거나, 누군가가 특정 사이트의 비밀번호를 변경할 경우 신규 플레이어 등록 또는 게임 플레이 자체 등 게임 경험에 심각한 영향을 미칠 수 있었다”라고 회고했다.

도널드 하바스 유비소프트 어쏘시에이츠 디렉터는 “유비소프트의 IT 및 보안 팀이 스튜디오 팀의 게임 개발 진행을 방해하지 않으면서 복원력, 가용성 및 시크릿을 강화하기 위한 시크릿 관리 표준화 및 자동화와 관련한 개념검증(PoC, Proof of Concept)을 진행했다. ‘하시코프 볼트’에는 각 팀의 자율성과 고유한 작업 스타일을 유지하며 전사적으로 표준화와 채택을 확대하는 데 필요한 모든 특징, 기능 및 보안 설정이 있었다”고 설명했다.

‘하시코프 볼트’의 오픈소스 버전은 오랫동안 사용자를 지정할 수 있는 오픈소스 기술을 선호해온 유비소프트에게 안성맞춤이었다. 특히 ‘하시코프 볼트’의 풍부한 자동화 기능과 독립적인 특성을 통해 유비소프트는 거의 모든 환경이나 플랫폼에서 대규모로 시크릿을 관리할 수 있다.

도널드 하바스 디렉터는 “우리 게임의 매치메이킹은 애저(Azure)에서, 원격 측정은 AWS에서, 그리고 다른 기능들은 이 복잡한 생태계 내 구글 클라우드에서 실행될 수 있다. 안전하게 유지하고 수동으로 운영하기 위해 모든 플랫폼 전반에서 시크릿을 수동으로 관리하고 인증정보를 순환하는 것은 말 그대로 불가능하다”면서, “‘볼트’는 모든 퍼블릭과 프라이빗 클라우드에서 동일한 방식으로 토큰, 비밀번호, 인증서, 암호화 키에 대한 접근을 자동으로 순환하기 때문에 개발자가 직접 나서 시간을 낭비할 필요가 없다”고 설명했다.


당면 과제

●개별 스튜디오 워크플로우에 영향을 미치지 않으면서 시크릿 관리 모범 사례 표준화
●데이터 침해 또는 예상치 못한 서비스 중단과 성능 저하가 발생할 위험 감소
●시크릿과 토큰의 수동 관리 작업을 자동화된 솔루션으로 대체


가용성 향상, 위험 감소, 탁월한 게임 경험

유비소프트 측은 다른 솔루션들도 일부 자동화 기능을 제공하지만, ‘볼트’의 멀티 플랫폼 상호 운용성과 직관적인 사용자 인터페이스를 따라올 수 없다고 설명했다. ‘볼트’가 유비소프트의 요구 사항을 수용할 수 있는 솔루션이라는 설명이다.

 ‘하시코프 볼트’ 작동 원리
‘하시코프 볼트’ 작동 원리

슈이치 세키노 유비소프트 제품 총괄 책임자는 “‘볼트’는 준비하고 실행하는 데 긴 학습 곡선이나 특별 교육을 필요로 하지 않기 때문에, 곧바로 시크릿 관리 작업을 중앙 집중화하고 모든 팀 전반에 모범 사례를 적용했으며, 훨씬 적은 리소스로 이 툴을 관리할 수 있었다”면서, “‘볼트’를 올바르게 사용하지 않았거나 전혀 사용하지 않았던 팀들이 이제는 전체 스튜디오를 위한 시크릿을 자동으로 발행, 폐기 또는 순환할 수 있으며 몇 분 동안이라도 게임을 오프라인시키는 핵심 부분의 위반 또는 구성 오류의 위험을 크게 줄일 수 있다”고 설명했다.

이어 도널드 하바스 디렉터는 “다양한 서비스를 실행하는 데 필요한 인프라를 프로비저닝하기 위해 ‘하시코프 테라폼(HashiCorp Terraform)’을 광범위하게 사용할 뿐만 아니라. ‘볼트 오픈소스’와 ‘볼트 엔터프라이즈(Vault Enterprise)’를 채택하는 것이 글로벌 사용자가 기대하는 품질, 성능, 그리고 업그레이드된 게임 경험을 유지하는데 필수”라고 말했다.

그는 특히 “하시코프의 솔루션은 시크릿의 수동 관리와 인프라 오케스트레이션으로 인해 자주 발생하는 운영 중단과 지연을 제거함으로써 서비스 품질을 크게 개선하고 서비스 수준 목표를 업계 표준 이상으로 끌어올릴 수 있도록 지원했다”며, “모든 구현이 완료되면서, 자신 있게 API 게이트웨이, 서비스 메시 등을 통해 플랫폼을 확장하는 방법을 모색할 수 있게 됐다. 이는 미래의 세대들을 위해 계속해서 온라인 게임 경험의 표준을 확립하는 데 도움이 될 것”이라고 덧붙였다.


결과

● 서비스 수준 목표를 업계 표준을 넘는 99.9% 가동 시간으로 상향
● 멀티 클라우드 플랫폼에서 자동 시크릿 순환을 실행함으로써 시크릿의 수동 관리와 관련된 비용 절감
● 만료된 인증서 또는 잘못 구성된 시크릿으로 인한 예상치 못한 서비스 중단 방지


솔루션

유비소프트는 ‘하시코프 볼트’를 사용해 전 세계의 여러 퍼블릭과 프라이빗 클라우드에 있는 다양한 시스템 및 서비스 전반에서 시크릿을 자동으로 할당, 폐기 및 순환하고 있다.


유비소프트 파트너

도널드 하바스(좌측), 슈이치 세키노
도널드 하바스(좌측), 슈이치 세키노

도널드 하바스는 유비소프트에서 기술 생태계와 글로벌 인프라 구축 업무를 담당하고 있다. 유비소프트 합류 이전에는 AWS, 컨버지스 등 기업에서 약 20년 동안 다양한 소프트웨어 개발과 생산 관리 업무를 담당했다.

슈이치 세키노는 유비소프트의 IT-엔지니어링 및 플랫폼 제품 총괄 책임자이며, 팀의 제품 조직을 총괄하고 있다. 이 팀은 파 크라이, 레인보우 식스, 어쌔신 크리드와 같은 게임 팀에서 사용하는 애플리케이션의 개발, 배포 및 확장 경험을 단순화하는 클라우드 네이티브 솔루션을 구축하고 있다. 이 제품 조직에는 제품 관리, UX 디자인, 기술 문서 및 DR(Developer Relations)이 포함된다.


기술 스택

○ 인프라: AWS, 구글 클라우드, 애저, 오픈스택(OpenStack) 온프레미스
○ 워크로드 유형: 게임 서버, 백엔드 서비스, 데이터베이스
○ 컨테이너 런타임: 도커(Docker)
○ 오케스트레이터: 쿠버네티스, 렌처(Rancher)
○ CI/CD: 깃랩(GitLab), 젠킨스(Jenkins)
○ 버전 제어: 깃랩, 퍼포스(Perforce)
○ 프로비저닝: 하시코프 테라폼, 레드햇 앤서블(Red Hat Ansible)
○ 시크릿 관리: 하시코프 볼트, 애저 액티브 디렉토리(Azure Active Directory)

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지