28
Achieving Profitability On AWS RANKWAVE Case 1

개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

Embed Size (px)

DESCRIPTION

2014년 2월 20일 부산 BEXCO에서 개최되었던 스타트업과 개발자를 위한 클라우드 태권 세미나에서 고객사 발표를 맡아주신 Rankwave 김형은팀장님의 발표 자료 입니다. 발표 제목은 Achieving profitability on AWS 입니다.

Citation preview

Page 1: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

Achieving Profitability On AWS

RANKWAVE Case

1

Page 2: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

2

Introduction of RANKWAVE

Page 3: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

3

91

Page 4: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

4

어느 날의 명동 거리 ..

91 725 25

413215

604512

29

Page 5: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

5

하고 있는 일

Facebook, Twitter 사용자 분석 : 3,793,796 명

Facebook 페이지 분석 : 7,361,971

분석하는 글의 수 70,087,840분석하는 댓글의 수 422,200,064분석하는 Like 수 334,420,160

Page 6: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

6

Speed

52,691 명 / h

102,249 페이지 / h

9,800 원 / h

SNS 사용자 분석

Facebook 페이지 분석

AWS 요금

Page 7: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

7

5 Months Ago….

Page 8: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

8

Rankwave 1.0 on AWS

분석

데이터 수집

400,000

CELL #2

….

Central Server

EBS Volume

On-Demand Instance

분석

데이터 수집

400,000

CELL #9

EBS Volume

On-Demand Instance

분석

데이터 수집

400,000

CELL #1

EBS Volume

On-Demand Instance

NoSQL (mongoDB), RDB (mySQL)

Page 9: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

9

Traffic & Cost

10/1/2

012

11/1/2

012

12/1/2

012

1/1/2

013

2/1/2

013

3/1/2

013

4/1/2

013

5/1/2

013

6/1/2

013

7/1/2

013

8/1/2

013

9/1/2

013

10/1/2

013 -

500,000

1,000,000

1,500,000

2,000,000

2,500,000

3,000,000

3,500,000

4,000,000

-

2,000,000

4,000,000

6,000,000

8,000,000

10,000,000

12,000,000

분석자 수 System Cost

분석 대상이 급격히 늘고 , 그에 따라 AWS 비용 및 운영 업무 증가

시스템 증설

데이터 에이징

Page 10: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

10

Cost per Person

1) 인당 분석 Cost 는 일정한 패턴을 보임 .CELL 증설 시점에 Cost 가 증가했다가 , CELL 에 할당된 수가 최대치에 다가가면서 감소 .

2) 지속적인 시스템 튜닝으로 1 인당 분석 Cost 감소 추세 .

인당 평균 Cost ₩ 6.8

3/1/2013 4/1/2013 5/1/2013 6/1/2013 7/1/2013 8/1/2013 9/1/20130

1

2

3

4

5

6

7

8

9

Cost per person Linear (Cost per person)

신규 CELL 증설

Page 11: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

11

I’m still hungry. - Rankwave

Page 12: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

12

개선 Point (1/2)

AWS 비용 운영 인력 리소스

On-Demand Instance62%

EBS Volume37%

Load Balancing0%

Data Transfer1%

EBS 데이터 에이징50%

EBS 백업10%

시스템 증설30%

모니터링10%

Instance 사용 비용과 EBS Volume 비용을 줄이는 것이 필요 .데이터 에이징과 시스템 증설 운영 업무를 줄이는 것이 필요 .

Page 13: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

13

개선 Point (2/2)

사용자 증가에 따라 최대 처리 용량을 늘리기 때문에 , 유휴 리소스가 발생 .따라서 , 증설 이후 비용 측면에서는 비효율적이됨 .

유휴 리소스를 최소화 하기 위해 , 실제 필요한 양만큼만 리소스 할당

신규 CELL 증설

Page 14: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

14

How to fix it?

Page 15: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

15

Instance Type (1/2)

EC2 On-Demand Instance EC2 Spot Instance

Spot Instance 는 경매 방식으로 Instance 를 획득하여 저렴한 가격으로 사용 .단 , 상황에 따라 언제든 Instance 가 중지될 수 있음 .

On-Demand Instance Spot Instance Ratio

m3.xlarge $ 0.450 / h $ 0.0575 / h 12.7%

m3.2xlarge $ 0.900 / h $ 0.208 / h 23.1%

m1.small $ 0.060 / h $ 0.007 / h 11.6%

m1.medium $ 0.120 / h $ 0.013 / h 10.8%

m1.large $ 0.240 / h $ 0.026 / h 10.8%

m1.xlarge $ 0.480 / h $ 0.052 / h 10.8%

* 미국 동부 ( 버지니아 북부 ), Linux

Page 16: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

16

Instance Type (2/2)

②③

“ 작업 Queue” 와 “공용 데이터 저장소” 가 필요

Page 17: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

17

Volume Type (1/2)

EBS Volume S3 + Free Temporary Volume

EBS Volume 의 비용은 사용한 Volume 의 크기와 요청한 I/O 의 회수에 따라 정해짐 .

빅데이터 분석 시스템의 경우 , File I/O 회수가 많을 수 밖에 없기 때문에 , I/O 회수에 따른 과금 이 큰 부담이 됨 .

I/O87%

Disk Size13%

• 2013.10 분석 데몬의 EBS Volume 비용• Provisioned storage : $ 289.13• Provisioned IOPS : $ 1868.97

Page 18: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

18

Volume Type (2/2)

AWS 의 EC2 Instance 의 경우 , 과금이 되지 않는 임시 Volume 을 제공함 . ( 단 , Instance 중지시 , 데이터 이용 불가 )

따라서 , S3 와 같은 저장소에서 데이터를 가져와 임시 Volume 에 저장한 뒤 , 연산을 수행하면 , I/O 회수에 대한 과금을 피할 수 있음 .

S3

Instance

Temporary Volume

분석 Daemon

FREE!!

Page 19: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

19

Queue

CELL 단위 Queuing Global Queuing

Spot Instance 는 언제든 종료될 수 있기 때문에 , CELL 단위로 운영하던 작업 Queue 를 공용 Queue 시스템으로 변경하는 것이 필요함 .

AWS 에는 SQS 와 같은 Queue 를 제공하고 있으나 , 보다 용이한 확장 및 변경을 위해 자체 개발한 Queue 시스템으로 적용 .

Page 20: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

20

Auto Scaling (2/2)

시스템의 부하가 자주 변한다면 Auto Scaling 이 필요함 .

부하에 대한 대응이 늦는다는 것은 , 둘 중 하나 이다 .① “ 필요한 성능을 내지 못하거나” , ② “AWS Instance 비용을 낭비하거나”

Manual Scaling Auto Scaling

① ②

AW

S Instance C

ount

Page 21: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

21

Auto Scaling (2/2)

10 분 동안 처리해야하는 수 , ex) 3,700,000 / 24 / 3 / 6 = 8564

10 분 동안 처리한 수 , ex) 6000

Instance 생성AWS EC2 SDK

Page 22: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

22

Now…

Page 23: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

23

Rankwave 2.0 System on AWS

데이터 수집 데몬 #1 데이터 수집 데몬 #2 ….

AWS S3

데이터 수집 Queue 데이터 분석 Queue

Free Temporary Volume

Free Temporary Volume

분석 데몬 #1 분석 데몬 #2

Free Temporary Volume

Free Temporary Volume

Spot Instance Spot Instance Spot Instance Spot Instance

….

Queue Manager

Page 24: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

24

AWS 비용 – Before & After (1/3)

Total

기타

EC2 Instance 비용

Storage 비용

₩6,355,713

₩74,424

₩4,221,452

₩2,059,838

₩10,011,509

₩72,975

₩6,195,861

₩3,742,673

Before After

On-Demand Instance

59%

Spot Instance7%

EBS Volume22%

S311%

Load Balancing1%

Data Transfer0%

On-Demand Instance

62%

EBS Volume37%

Load Balancing0%

Data Transfer1%

Page 25: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

25

AWS 비용 – Before & After (2/3)

[Before]인당 평균 Cost : ₩ 6.8

3/1/2

013

4/1/2

013

5/1/2

013

6/1/2

013

7/1/2

013

8/1/2

013

9/1/2

013

10/1/2

013

11/1/2

013

12/1/2

013

1/1/2

014

2/1/2

0140

1

2

3

4

5

6

7

8

9

Cost per person

[After]인당 평균 Cost : ₩ 2.1 70% 감소

Page 26: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

26

운영 리소스 – Before & After (3/3)

Before After

모니터링에 의한 수동 Scaling Auto Scaling

모니터링을 통한 Volume 증설S3 의 용량 제한은 없음 .데이터 증가에 따른 Volume 증설이 필요 없음

오래된 데이터 에이징 수행 S3 의 LifeCycle 기능을 이용한 자동 에이징

저장소 Volume 에 대한 정기 Backup 수행 No Backup

Page 27: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

27

Summary

Spot InstanceS3 with Temporary volumeQueueAuto Scaling

Achieving Profitability

Page 28: 개발자를 위한 클라우드 태권 세미나 : Rankwave 이용 사례

28

Thank you