Your SlideShare is downloading. ×
[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

[Gaming on AWS] AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드

7,024
views

Published on

AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드 (강명완 시스템 엔지니어, 기술본부 인프라운영팀)

AWS 위에서의 Dev & Test, 그리고 비용 - 위메이드 (강명완 시스템 엔지니어, 기술본부 인프라운영팀)


0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,024
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
102
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. AWS 위에서의 Dev & Test, 그리고 비용 위메이드 강명완
  • 2. Who am I ? ■이력 1. ㈜구름인터렉티브(2007년 04월 ~ 2008년 07월) - 시스템운영팀 내 시스템엔지니어로 업무 - 게임 시스템 구축 및 운용 2. ㈜갈라랩_구 이온소프트(2008년 8월 ~2012년 1월) - 기술지원팀 내 시스템엔지니어로 업무 - 국내 및 해외 시스템 구축 및 운용 3. ㈜위메이드(2012년 1월 ~ 현재) - 인프라운영팀 내 시스템엔지니어로 업무 - 국내 PC 게임 시스템 구축 및 운용 - 모바일 게임 시스템 구축 및 운용
  • 3. 개발/테스트 환경의 3가지 특징 Disposable 일시적으로 필요하며, 끝나면 사라짐 Fast Transition to Prod 운영 환경으로 빠른 전환이 필요함 Numerous 제한이 없는 리소스 필요
  • 4. 테스트 하기 전에 Wemade가 한 일? 테스트 하기 전에 Wemade가 한 일?
  • 5. 테스트 하기 전에 Wemade가 한 일? 1. 해외 진출의 숙제!! 2. 인프라는 어디에? 3. 가상화? CLOUD?
  • 6. 테스트 환경 구성하기 기존 IDC를 확장한다
  • 7. 테스트 환경 구성하기 아마존 VPC를 세팅한다 (Virtual Private Cloud)
  • 8. 테스트 환경 구성하기 원하는 테스트 환경을 VPC 내에 세팅합니다.
  • 9. 테스트 환경 구성하기 기존 IDC와 Amazon VPC와 VPN으로 연결함
  • 10. 테스트 환경 구성하기 테스트가 끝난 후에는 모두 삭제하고 VPN도 종료
  • 11. 테스트의 일시성 측면 아마존과 IDC 환경 비교 성능 테스트 중 성능 테스트 후 $100 $100 $100 $0 • Test만의 목적으로 100대, 200대의 Resource를 준비해 놓기는 어려움 • Test가 완료 된 이후에는 바로 Turn Off하여 비용 Zero
  • 12. 빠른 운영환경 전환 템플릿화 가능 (AMI) Generic ima ge Custom buil ding block • 테스트가 완료되어 검증된 인스턴스에 대해서는 AMI(Amazon Machine Image 통해 S3에 저장 (99.999999999% 가용성)
  • 13. 빠른 운영환경 전환 (Cont.) 운영 시 서버 Spec 즉시 업그레이드 • Change Instance Type 기능을 통 해 Scale Up이 즉시 가능
  • 14. 제한없는 Resource 활용 • AMI로부터 Instance 생성 • Game Server Module 설치 • 단위 성능 테스트 • 기능 테스트
  • 15. 제한없는 Resource 활용 • 제한 없는 인스턴스 생성 • Scalability 테스트 용이
  • 16. 제한없는 Resource 활용 • 테스트가 끝난 후 Launching 시 까지는 다시 축소 개발 모드
  • 17. ELB Performance Test
  • 18. ELB란 (Elastic Load Balancing)? What is ELB? • Traffic을 Backend로 고르게 분산시켜 주는 기능 ELB • DNS Name으로 접근 가능 • ELB는 하나의 하드웨어가 아 닌 여러개의 Component로 구성된 서비스임 • 내부적으로 Scale-up, Scaleout을 하여 사용자는 하나의 ELB만 사용 하면 됨 myLB-1234567890.us-east-1.elb.amazonaws.com
  • 19. ELB Performance Test ELB의 동작 원리 • 사용자의 증감에 따라 ELB가 가지고 있는 Resource 역시 Scale Up/Down 함 • Scale Up이 되는 경우 IP가 여러개가 Resolve되거나 IP가 바뀌는 경우를 봄 • 한번 변화가 있을 때 1분~7분 정도의 시간 이 소요되는 것으로 보임 • ELB 만약 5분 내에 기존 사용자의 수보다 50%이 상 많은 사용자가 몰리는 경우 Pre-Warm 통해 해결할 수 있음
  • 20. ELB Performance Test Prewarm 정보 • ELB Name: myELB.us-west-1.elb.amazonaws.com • Traffic delta OR request rate expected at surge: 100 0 to 10,000 in 5 minutes • Requests per second: 50,000/sec • Request + Response size (bytes): 10KBytes …… …… • Use-case: ELB Performance Test • Period: permanent by production - Start date: 2014. 1. 24 - End Date: 2014. 2.24 • Pre-warm은 AWS Support에 가입이 되어 있어야 신청가능 • TPS, Transaction Size, Use Case등을 명기하여 Support 신청 • 해당 Load를 견딜 수 있 는 ELB를 PreWarm해 줌
  • 21. ELB Performance Test Prewarm 적용 사례 • nGrinder 을 이용하여 성능 테스트 결과 (Pre-Warm 신청 전 성능 테스트 그래프)
  • 22. ELB Performance Test Prewarm 적용 사례 • nGrinder 을 이용하여 성능 테스트 결과 (Pre-Warm 적용 후 성능 테스트 그래프)
  • 23. ELB Performance Test ELB Monitoring Metrics • Latency : ELB와 Back-End 서버간의 지연시간 • ELB HTTP 4XX – 5XX : ELB 단에서 생성된 Error Code • HTTP 2XX – 5XX : BackEnd 단에서 생성된 Response Code • SurgeQueueLength : ELB에서 Backend로 가지 못하고 Queue에 있는 요청 • Spillovers : SurgeQueue가 꽉 채워져 ELB에 의해 Reject 된 요청
  • 24. ELB Performance Test Tips for ELB Testing • Sticky Sessions 설정이 되어있는 경우 테스트 시 반드시 Unique한 User로 인식이 되는지 확인해야함. 아닌 경우 특정 Backend 서버로만 트래픽이 몰리는 현상 발생 • ELB의 Connection Timeout은 60초로 초기 설정되어있으나, AWS Support를 통해 17분까지 조정이 가능함 • ELB는 관리가 필요없고 알아서 Scaling이 되고 가용성이 높은 장점이 있 음 • 만약 특정기능 사용을 원하는 경우 HAProxy, Riverbed Stingray 등과 같은 ELB를 MarketPlace에서 검색할 수 있음
  • 25. AWS 위에서 비용 최적화
  • 26. Cost Optimization Pay as you go! 집에서 전등을 끄면 전기세가 안 나오듯 클라우드에서 서버를 끄면 비용이 안나감 서버 비용 나쁜 예 좋은 예 Traffic 80% 20% 50% 50% 하나의 서버당 효율을 높여라!
  • 27. 비용 절감을 위한 3가지 옵션 Reserved Instance 선납금을 통한 할인, 5개월 만에 손익분기점 도달 Instance Type 10% 미만의 Low Utilization 스펙 Down Elastic Capacity 트래픽에 따라 유동적으로 Provisioning 1년 최대 45% Saving 한단계 Spec Down 시 50% Saving Auto Scaling 적용 시 30% 이상 Saving
  • 28. Trusted Advisor 비용절감 보안 가용성 성능 • Low Utilization 되고 있는 인스 턴스 자체 파악 • RI 추천 기능
  • 29. Trusted Advisor • Trusted Advisor 의 사례 - 현재 사용하고 있는 컨텐츠(EC2, ELB, RDS, Route53)등에 대해 불 필요하게 사용되는 리소스를 측정하여 고객에게 제시하여 비용 절감의 효과를 볼 수 있다.
  • 30. Trusted Advisor • Trusted Advisor 의 사례 - 현재 위메이드에서는 AWS에서 제시하고 있는 비용 절감 3가지 방법 중에 Instance Type 변경 및 Elastic Capacity(Auto Scaling) 을 올해 2월 부터 적용하여 올해 1월 AWS 사용료 대비 25%의 비용을 절감한 상태입니다. - 비용 절감을 이루고 번외로 인스턴스도 추가적으로 증가한 상태이므로 실질적인 비용 절감은 MAX 사용료 대비 30% 정도 예상하고 있습니다.
  • 31. 적절한 Instance Type 고르기 -50% -50% -50% X2 X2 X2 ……. large에서 medium으로 내리게 되면 50%를 바로 절감
  • 32. Auto Scaling 우리는 이정도는 준비해 놔야지.. (X) http://www.rankey.com/images/infographic/2013/rankey_2013infographic01_timeline_201402.png
  • 33. Auto Scaling