More Related Content
Similar to 2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현 (20)
More from iFunFactory Inc. (12)
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
- 2. About Me
✓ 6 년차 Back-end 소프트웨어 엔지니어
✓ 2013 ~ : 아이펀팩토리
• 게임 운영 플랫폼 개발 중
• 게임 서버 용 Openstack 프라이빗 클라우드 개발
✓ 2011~2012 : LG 전자, 소프트웨어 역량 강화 센터, 인프라 팀
- 4. 게임 운영
✓ 인프라 관리 : 서버 생성/설정, 로드밸런서 생성/설정, …
✓ 서버 관리 : 초기 설정, 게임 서버 애플리케이션 배포 및 관리
✓ 모니터링 : CPU 사용율, Memory, …
✓ 운영 툴 : 고객 지원, 프로모션 관리, …
✓ 웹 대시보드
- 7. 클라우드 시대 - 변한 것
✓ 인프라 확장 → 빠르고 쉬워짐, 비용 낮아짐
✓ 개별 머신의 가용성 → 낮아짐
✓ Scaling-up → Scaling-out
✓ 잦은 인프라 축소/확장 → 자동화 필요
- 11. Web 대시보드 구현
✓ Python 에서 가장 잘 알려진
웹 프레임워크
✓ Web client 프레임워크 (HTML, CSS,
JS)
✓ Web UI 요소를 쉽게 사용할 수 있음
잘 만드는 것보다 빠르고 쉽게 만들 수 있는 것이 중요!
- 22. 설정 자동화 도구 사용하려면...
✓ 통합 관리를 위한 마스터 서버 설치
✓ 각 서버 → 해당 도구의 에이전트를 설치/설정
✓ 에이전트와 마스터 서버가 정상 연결
→ 모든 시스템 관리 작업은 마스터 서버를 통해 가능
- 26. 에이전트 설치 자동화
✓ 에이전트 설치 명령 + 마스터 서버 주소 설정
→ user-data 생성
✓ 서버 인스턴스 생성 API 호출 시 user-data 전달
✓ 이후 모든 관리 작업은 마스터에서
- 30. RQ
✓ Redis 를 이용한 간단한 Job queue
✓ 여래 벌의 worker 를 두는 것이 가능
✓ 배우기 쉬움
- 36. 벤더 기능 사용
✓ 장점
• 별 다른 설정이 필요 없음
✓ 단점
• 메트릭 제한 (e.g. 메모리 사용량, 디스크 사용량)
• 벤더 별로 상이
- 37. 자체 제작의 경우
✓ 각 VM Collectd 등 -> Graphite, Influx DB 등에 수집
Graphite
collectd
custom
reporter
- 39. 운영 툴
✓ 게임마다 운영 툴을 독자적으로 개발하는 것은 반복!
✓ 운영 툴에 필요한 Rest API 정의하고
✓ 게임 서버는 Rest API 구현
✓ 대시보드는 Rest API 호출해서 사용하는 방식
- 41. REST API 예제
GET /cs-api/v1/account/<type>/<id>/
HTTP/1.1 200 OK
{
"account": {
"created": "2016-01-01",
"last_login": "2016-03-23",
"banned": false,
"coin": 100,
}
}
- 46. 요약
✓ 클라우드 시대 → 인프라 관리의 소프트웨어 화
✓ 게임의 핵심은 아니지만 없어서도 안 됨
✓ 개발 생산성 높은 언어 (e.g. Python) 및 framework 을 활용
✓ 재밌는 게임 개발 방해받지 말자
Editor's Notes
- 안녕하세요. 아이펀팩토리 장수원입니다.
- 사실 춘추 전국 시대라고 발표 자료