18
5Rocks on AWS More Analysis, Less Cost 문성익 Principal Software Engineer 5Rocks Inc.

Gaming on AWS - 5rocks on AWS

Embed Size (px)

Citation preview

Page 1: Gaming on AWS - 5rocks on AWS

5Rocks on AWSMore Analysis, Less Cost문성익Principal Software Engineer5Rocks Inc.

Page 2: Gaming on AWS - 5rocks on AWS

Don’t  Leave  Money  On  The  Table

Page 3: Gaming on AWS - 5rocks on AWS

33

Tapjoy+5Rocks 서비스

•모바일앱사용자분석: SDK 사용

•사용자분류: 레벨, 과금형태, 과금예측

•분류별마케팅: IAP 프로모션, 광고, 푸쉬

•모네타이즈하면

공짜!([email protected]에문의해주세요)

Page 4: Gaming on AWS - 5rocks on AWS

44

공짜?!

•최소한의분석비용

•방대한데이타

•정시분석결과 : 시간별, 일별, 리얼타임

Page 5: Gaming on AWS - 5rocks on AWS

55

5Rocks 서비스 데이타 증가

•분석데이타보내는앱수

•매년 ~400%증가

•분석데이타양

•매년 ~100%증가

Page 6: Gaming on AWS - 5rocks on AWS

66

서비스 구조 이력

•자체모바일앱분석: MongoDB + Ruby• 5Rocks베타: MongoDB mapreduce

•AWS 로 100% 이전

•EMR MapReduce on HDFS•현재: EMR + S3, 일부 Spark

Page 7: Gaming on AWS - 5rocks on AWS

77

왜 AWS 인가

•필요한서버자원즉시할당

•비지니스규모에따라유연한 확장

•저렴한가격 (특히 S3)•안정적서비스와지원 (Maintenance event 등)

Page 8: Gaming on AWS - 5rocks on AWS

88

시스템 구성

ltv.tapjoy.com

Elastic Load Balancing

Dashboard servers

Amazon S3

API servers

Elastic Load Balancing

rpc.tapjoy.com

users mobile client

MapReduce& Spark

MongoDB

Spot Instances, Rescale by

time

Page 9: Gaming on AWS - 5rocks on AWS

99

비용 절감

•저장공간

• HDFS 에서 S3 로•EMR Resizing

•시간별/일별클러스터 분리

•Spot Instance

• RI 와 Spot 을적절하게

Page 10: Gaming on AWS - 5rocks on AWS

1010

EC2 과금 체계

•온디맨드 (Ondemand)

•사용한시간만큼과금

•선납금없음

•예약 (Reserved)

• 1년/3년비용선납, ~66% 할인

• 3자에게판매/수정가능

•스팟 (Spot)

•경매방식으로싼인스탄스할당

•반드시할당받는다는 보장은없음: 입찰가격따라

Page 11: Gaming on AWS - 5rocks on AWS

1111

S3 vs HDFS

•HDFS

•빠르고 Consistent

• EMR 경우 Instance Storage Only

• EMR 클러스터를재생성해야할경우 migrate 해야함

•S3

• API 노드에서접근용이

•저렴

• Data Streaming: HDFS 와사용상차이없음

•노드손실안전, 클러스터재생성시편리

Page 12: Gaming on AWS - 5rocks on AWS

1212

EMR Resizing

•시간별클러스터: 거의항상필요

• Reserved Instance•일별클러스터: 가끔만필요

• Resizing + Spot Instance•Resizing

• 10분이상걸릴수있음

•작업시작전미리 Resize & 결과확인필요

Page 13: Gaming on AWS - 5rocks on AWS

1313

EMR Node Count 변화 예

0

5

10

15

20

25

30

35

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Node  Count

HOURLY DAILY  RI DAILY  SPOT

Page 14: Gaming on AWS - 5rocks on AWS

1414

Spot Pricing: 2014 어느달

•On-Demand 였으면 $4,859 였을비용을단 $419 에사용•EC2 비용 91% 절감

• (Spot Instance 로사용한일부노드한정)

Page 15: Gaming on AWS - 5rocks on AWS

1515

EMR vs EC2

•EC2 + Apache Hadoop

• EMR 보다 (조금) 싸다

• EMR 에아직안나온버전테스트또는개발

•EMR

• Resize 용이

• Spot Instance 섞어쓰기용이

• Amazon S3 hadoop driver

Page 16: Gaming on AWS - 5rocks on AWS

1616

EMR Experience

• 5Rocks

• m1.medium 다수

• Spot 위주

• Tapjoy+5Rocks

• c3.xlarge 다수

• RI 위주 (us-east-1)

• 적은댓수, 비용 vs 관리

• Cluster 재생성편리

• Stuck Resize (2.5년 동안 2번)

• Scheduled Maintenance

• 오래된 Cluster 에대한 AMI bug (3.9.0 이전)

Page 17: Gaming on AWS - 5rocks on AWS

1717

Spot Experience

•Reserved Instance 보다싸다

•AWS 가격 할인해도안심! J•할당여부: Region 따라조심 (특히 us-east-1)• Tokyo Region 의경우할당문제겪은적없음 (2015 4월까지)

Page 18: Gaming on AWS - 5rocks on AWS

@ 2015 Tapjoy, Inc. All Rights Reserved. Tapjoy, Inc. Confidential and Proprietary. Please do not copy or distribute without Tapjoy, Inc’s prior written consent. The data provided herein is for information purposes only and while all efforts are made to ensure accuracy, errors may arise. Tapjoy and the Tapjoy logo are trademarks or registered trademarks of Tapjoy, Inc. All third party logos and trademarks mentioned are the property of their respective owners.

Thank [email protected]@tapjoy.com