넥슨 신사업본부윤석주AWS(Amazon Web Services)를활용한 모바일 게임 서버 개발퍼즐 주주의 사례를 중심으로
윤석주 ( @noricube )- 2012:서울- Zoo Invasion- 퍼즐 주주발표자 소개
퍼즐 주주는 어떤 게임?소셜 요소 쉬운 조작넥슨 최초 카카오 게임IOS 신규 무료 1위Android 신규 무료 1위최고 매출 20위
1. 퍼즐 주주 서버의 설계 목표2. AWS 3가지 장점3. AWS 장점 살리기4. AWS 활용5. 설계 목표 완수6. AWS 의 부가적인 장점목차5
퍼즐 주주 서버 설계 목표
확장성, 저비용, 안정성을 모두 고려퍼즐 주주 서버는7
퍼즐주주를 만들던 2012년 8월…우리도 많은 유저가 올 수 있다확장성8
짧은 수명불 확실한 미래저비용9
장애에 민감한 모바일 시장- 이미지 저하- 매출 하락안정성10
그래서 AWS 선택11
AWS 3가지 장점
14
1. 빠른 확장성15
scale-out16최소 2~3일 5분
클릭 한번에 끝!scale-up17
2. 적은 초기 비용18
초기 투자 없이 사용한 시간만 내면 됨!비용 절감19
개발 오픈 3주 1달 2달 3달 4달 5달물리 서버 AWS 유저누적 예상 비용21
3. 안정성22
여러 개의 Zone 동시 사용 가능- Zone은 다른 IDC (내가 쓰는 Zone이 핵폭탄을 맞는다면!?)- Zone간의 전용망 제공EBS(Elastic Block Storage)- 스토리지가 따로 분리- Replica...
안정성24ElasticLoadBalancer유저
빠른 확장성적은 초기 비용안정성AWS 장점26
AWS 장점 살리기
빠른 확장성적은 초기 비용안정성AWS 장점29
Frontend / DB 만 존재30
단순한 서버 구조31ElasticLoadBalancer유저 Frontend DB
Frontend32
모든 게임 로직 포함- 서버 확장을 쉽게 하기 위해요청을 최대한 단순화- 분산해서 처리하기 쉽도록Stateless- 유저 정보를 DB로만 동기화하여 동기화 이슈 제거Frontend33
Frontend 원자성 보존34클라이언트에서요청DB에서데이터 로드요청 처리데이터 충돌이 있었는가?DB에 쓰고 종료예아니요
Frontend 는 수평확장이 가능그럼 DB 도 수평확장이가능해야 하지 않을까?35
NoSQL 도입- 서비스 중 수평 확장 가능- 쓰기가 많을 때 유리DB36
추가로..37
통계, 로그 등 추가로 필요한 서비스Redis의 Pub/Sub으로 메시지 전달서비스에 의존적이지 않도록 함기타 서비스38
AWS 활용
수요 확장 대응40ElasticLoadBalancer유저 Frontend DBFrontend DB
수요 감소 대응41ElasticLoadBalancer유저 Frontend DBFrontend DB
ㅇㅇㅇ장애 대응42ElasticLoadBalancer유저 Frontend DBFrontend DBFrontend DB실시간 복제
Frontend에 부하가 몰리면 Frontend 추가DB에 부하가 몰리면 DB 추가 수요 대응거꾸로 수요가 줄어들면 Frontend / DB제거하여 비용 절감다시 한번 정리하자면43
설계 목표 완수
확장성, 저비용, 안정성45
장애 없는 서비스- 7개월 운영 가동률 99.9%안정성46
다양한 수요에 대응- 오픈 초기 빠르게 증가하는 수요를 모두 소화함비용 절감- 유지 비용 지속적으로 감소확장성 / 저비용47
AWS 의 부가적인 장점
서버를 미리 셋팅 해두고원할 때 빠르게 확장 가능API로도 확장 가능서버 템플릿49
디스크 자체를 API로 백업백업50
점검 없는 업데이트51ELB FrontendFrontendFrontend
국내보다 해외망이 좋음- 한국- 일본- 미국모두 한 서버에서 서비스글로벌 서비스52
장애 발생시 템플릿으로 Instance를 추가장애 Instance를 제거즉시 해결 가능Instance != Server53
정리
모바일 게임에 좋다- 다양한 수요에 대응 가능- 초기 투자 비용 최소화- 서비스 안정성- 글로벌 서비스자동화 가능- 거의 모든 기능에 대한 API 지원Amazon Web Service55
인프라에 유리한 설계가 중요- 확장 가능한 DB 사용- Stateless- 서비스간 의존성 최소화- 요청 단순화Software on AWS56
보너스
Couchbase?
Key-value storage59
60서비스 도중 scale-in/out 가능
웹 UI로 된 관리 툴- Rebalance- Bucket 설정- 통계61
Replication 지원 62
Failover 지원 63
DB 구조64
Q&A
Upcoming SlideShare
Loading in...5
×

[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례

9,184

Published on

AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례 - 넥슨 (윤석주 신사업본부 선임)

Published in: Technology
1 Comment
60 Likes
Statistics
Notes
No Downloads
Views
Total Views
9,184
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
300
Comments
1
Likes
60
Embeds 0
No embeds

No notes for slide

[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례

  1. 1. 넥슨 신사업본부윤석주AWS(Amazon Web Services)를활용한 모바일 게임 서버 개발퍼즐 주주의 사례를 중심으로
  2. 2. 윤석주 ( @noricube )- 2012:서울- Zoo Invasion- 퍼즐 주주발표자 소개
  3. 3. 퍼즐 주주는 어떤 게임?소셜 요소 쉬운 조작넥슨 최초 카카오 게임IOS 신규 무료 1위Android 신규 무료 1위최고 매출 20위
  4. 4. 1. 퍼즐 주주 서버의 설계 목표2. AWS 3가지 장점3. AWS 장점 살리기4. AWS 활용5. 설계 목표 완수6. AWS 의 부가적인 장점목차5
  5. 5. 퍼즐 주주 서버 설계 목표
  6. 6. 확장성, 저비용, 안정성을 모두 고려퍼즐 주주 서버는7
  7. 7. 퍼즐주주를 만들던 2012년 8월…우리도 많은 유저가 올 수 있다확장성8
  8. 8. 짧은 수명불 확실한 미래저비용9
  9. 9. 장애에 민감한 모바일 시장- 이미지 저하- 매출 하락안정성10
  10. 10. 그래서 AWS 선택11
  11. 11. AWS 3가지 장점
  12. 12. 14
  13. 13. 1. 빠른 확장성15
  14. 14. scale-out16최소 2~3일 5분
  15. 15. 클릭 한번에 끝!scale-up17
  16. 16. 2. 적은 초기 비용18
  17. 17. 초기 투자 없이 사용한 시간만 내면 됨!비용 절감19
  18. 18. 개발 오픈 3주 1달 2달 3달 4달 5달물리 서버 AWS 유저누적 예상 비용21
  19. 19. 3. 안정성22
  20. 20. 여러 개의 Zone 동시 사용 가능- Zone은 다른 IDC (내가 쓰는 Zone이 핵폭탄을 맞는다면!?)- Zone간의 전용망 제공EBS(Elastic Block Storage)- 스토리지가 따로 분리- Replication안정성23
  21. 21. 안정성24ElasticLoadBalancer유저
  22. 22. 빠른 확장성적은 초기 비용안정성AWS 장점26
  23. 23. AWS 장점 살리기
  24. 24. 빠른 확장성적은 초기 비용안정성AWS 장점29
  25. 25. Frontend / DB 만 존재30
  26. 26. 단순한 서버 구조31ElasticLoadBalancer유저 Frontend DB
  27. 27. Frontend32
  28. 28. 모든 게임 로직 포함- 서버 확장을 쉽게 하기 위해요청을 최대한 단순화- 분산해서 처리하기 쉽도록Stateless- 유저 정보를 DB로만 동기화하여 동기화 이슈 제거Frontend33
  29. 29. Frontend 원자성 보존34클라이언트에서요청DB에서데이터 로드요청 처리데이터 충돌이 있었는가?DB에 쓰고 종료예아니요
  30. 30. Frontend 는 수평확장이 가능그럼 DB 도 수평확장이가능해야 하지 않을까?35
  31. 31. NoSQL 도입- 서비스 중 수평 확장 가능- 쓰기가 많을 때 유리DB36
  32. 32. 추가로..37
  33. 33. 통계, 로그 등 추가로 필요한 서비스Redis의 Pub/Sub으로 메시지 전달서비스에 의존적이지 않도록 함기타 서비스38
  34. 34. AWS 활용
  35. 35. 수요 확장 대응40ElasticLoadBalancer유저 Frontend DBFrontend DB
  36. 36. 수요 감소 대응41ElasticLoadBalancer유저 Frontend DBFrontend DB
  37. 37. ㅇㅇㅇ장애 대응42ElasticLoadBalancer유저 Frontend DBFrontend DBFrontend DB실시간 복제
  38. 38. Frontend에 부하가 몰리면 Frontend 추가DB에 부하가 몰리면 DB 추가 수요 대응거꾸로 수요가 줄어들면 Frontend / DB제거하여 비용 절감다시 한번 정리하자면43
  39. 39. 설계 목표 완수
  40. 40. 확장성, 저비용, 안정성45
  41. 41. 장애 없는 서비스- 7개월 운영 가동률 99.9%안정성46
  42. 42. 다양한 수요에 대응- 오픈 초기 빠르게 증가하는 수요를 모두 소화함비용 절감- 유지 비용 지속적으로 감소확장성 / 저비용47
  43. 43. AWS 의 부가적인 장점
  44. 44. 서버를 미리 셋팅 해두고원할 때 빠르게 확장 가능API로도 확장 가능서버 템플릿49
  45. 45. 디스크 자체를 API로 백업백업50
  46. 46. 점검 없는 업데이트51ELB FrontendFrontendFrontend
  47. 47. 국내보다 해외망이 좋음- 한국- 일본- 미국모두 한 서버에서 서비스글로벌 서비스52
  48. 48. 장애 발생시 템플릿으로 Instance를 추가장애 Instance를 제거즉시 해결 가능Instance != Server53
  49. 49. 정리
  50. 50. 모바일 게임에 좋다- 다양한 수요에 대응 가능- 초기 투자 비용 최소화- 서비스 안정성- 글로벌 서비스자동화 가능- 거의 모든 기능에 대한 API 지원Amazon Web Service55
  51. 51. 인프라에 유리한 설계가 중요- 확장 가능한 DB 사용- Stateless- 서비스간 의존성 최소화- 요청 단순화Software on AWS56
  52. 52. 보너스
  53. 53. Couchbase?
  54. 54. Key-value storage59
  55. 55. 60서비스 도중 scale-in/out 가능
  56. 56. 웹 UI로 된 관리 툴- Rebalance- Bucket 설정- 통계61
  57. 57. Replication 지원 62
  58. 58. Failover 지원 63
  59. 59. DB 구조64
  60. 60. Q&A
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×