HALO 개발팀이 이야기 하는 클라우드 기반의 게임 아키텍처
세미나 내용을 간략히 중요한 것만 나열하였습니다.
HALO 서비스 아키텍쳐
by Joseph Cusimano, Xbox Software Engineering Lead
- Cloud Augmented Gaming
- Cloud Powered game worlds
- Xbox Live Compute 소개
- SDK & Tools
- Auto-deploy
- Discovery 기능
- Dynamic Scale
- QoS
- Manageability
- 클라우드컴퓨팅 이용에 대한 일반적인 이점 설명
- CRACKDOWN 3(내년 출시 예정작) 데모
- 많은 physics servers
- 건물들을 나눠서 여러 physics server에게 분배
- FPS가 거의 떨어지지 않음
- server-side rendering vs local rendering
- Capacity challenges
- Big launch with tail off
- Growing Fast
- Unpredictable Bursting
- Predictable Bursting
- Game Host Pooling
- Reserved hosts
- Standby hosts
- Active hosts
- Runtime environment
* - 오늘날의 사용량
- 38 Data center 사용중
- 하루 UV 300만 이상
- 월간 4천 5백만 compute hours
Meet Master Chief!
by Andrew Hesky, Engineering Manager, Halo services (343 Industries)
HALO Wars 2 Trailer play (March 2017)
Instroduction
Azure based services
- 12개 이상의 클라우드 서비스로 25개 이상의 유니크 롤을 운영
- Thunderhead hosted dedicated server per match
- Halo 5 런치
- 1분 안에 10만 명의 유저가 접속
- 60 Billion
- 큰 게임 런치의 패턴
- Huge traffic spike on launch
- Downtime at launch is really bad
Cloud Native Services (Cloud Native란 표현이 참신)
- Halo stack
- Communication은 HTTP, AMQP, WebSocket
- Actor Model
- Project "Orleans" (GitHub)
- Distributed Actor runtime
- Virtual Actor Model
- Location transparency
- Grain = single actor
- Silo = runtime execution container
- Silo 모여 Cluster 형성
- A cloud native runtime
- The Observer Pattern
- Observable -> Observer
- Observer가 Subscribe하면 Event를 받을 수 있음
How we use Halo data
- Hot Path
- Customer facing stats and rewards
- Warm Path (1 min)
- Service Health
- Live Debugging
- Cold Path
- TiP
- BI
- User Research / Playtest
Guiding Tenets (교리)
- Collect as much data as you can
- Have processes to validate the data
- Use your production systems during development
- Automate everything
What's Next
- Kusto (Application Insights Analytics)
- Advanced ?
- Machine Learning