Cloud Taekwon 2015 - 비트패킹컴퍼니 사례 공유

Preview:

Citation preview

정민영

CTOTHE BEATPACKING COMPANY

BEAT 소개

국내최초무료라디오서비스

숫자

2014. 4월비트라디오출시

2014. 4월비트라디오출시3~400% 성장/월

2014. 4월비트라디오출시2~300% 성장/월한달에 100만+씩성장중

30만+명/일 5분이상청취

30만+명/일 5분이상청취35만+시간/일

30만+명/일 5분이상청취35만+시간/일9백만+곡재생/일

30만+명/일 5분이상청취35만+시간/일9백만+곡재생/일5백만+곡정산/일

폭주성장에대처하는스타트업의자세

부제: 최대한사람이필요없는인프라만들기

부제: 최대한사람이필요없는인프라만들기그리고, 최대한저렴하게버텨보기

어떻게하면인프라를

어떻게하면인프라를안정적으로

어떻게하면인프라를안정적으로유연하면서도

어떻게하면인프라를안정적으로유연하면서도개발자를아껴가며(!)

어떻게하면인프라를안정적으로유연하면서도개발자를아껴가며(!)

돈도절약할까?

Elastic Compute Cloud

서버에대한기존의관점

PEAK

서버에대한 21세기클라우드의관점

3번강조해도부족한 AutoScale

Instance Hour

= 인스턴스사용시간= 과금단위

c3.xlarge * 4대 * 61분= 2 Instance Hour * 4

= 8 Instance Hour

= 2.04 USD / Hour

28만원/일 VS 12만원/일

Peak를처리하기위해 40대가필요하다면,

= 40 Instance Hour * 24

= 960 Instance Hour / Day

= 244.8 USD / Hour

Peak를처리하기위해 40대가필요하다면,

= 40 Instance Hour * 9

+ 5 Instance Hour * 15

= 435 Instance Hour / Day

= 110.925 USD / Hour

아무리잘나가는서비스도,

항상 PEAK일수는없는법

원하는조건에맞춰서(Policy)

원하는조건에맞춰서(Policy)

지정한설정값으로(Launch Configuration)

원하는조건에맞춰서(Policy)

지정한설정값으로(Launch Configuration)

인스턴스를자동으로생성/삭제

SPOT Instance

SPOT Instance

AWS의여유자원을경매를통해이용

0 0.05 0.1 0.15 0.2 0.25 0.3

On Demand

Reserved 1yr

Spot

C3.xlarge 가격비교

USD

SPOT Instance

단, 인스턴스생명주기를통제할수없음= 언제든빼앗길수있음

6:00 9:00 12:00 15:00 18:00 21:00 0:00

On-Demand Spot Load

Spot : 5분간평균 CPU이용률 40%

OD : 5분간평균 CPU이용률 60%

6:00 9:00 12:00 15:00 18:00 21:00 0:00

On-Demand Spot Load

Spot 확보에실패한경우On-Demand가 Scale-Up

Spot 확보에따른On-Demand Scale-Down

DynamoDB

처리량만결정하면알아서Scale 하는 NoSQL DB

처리량= 필요한초당읽기 (/4kb)

= 필요한초당쓰기 (/1kb)

평균 2kb인항목을 100번쓰고읽는다면= 100(Read) * 1 = 100

= 100(Write) * 2 = 200

요청수와크기에따라서자동으로 Scale

요청수와크기에따라서자동으로 Scale

= 데이터크기와트래픽증가에유연한 DB

두가지종류의인덱스지원

Local Secondary Index

= Alternate Range Key

= 특정 Hash Key의결과를필터링= 특정 Hash Key에서다른정렬

Global Secondary Index

= Alternate Key

= 테이블의 Hash Key와무관= 별도의읽기&쓰기처리량요구

다양한데이터타입지원

다양한데이터타입지원= String, Number, Binary

= String Set, Number Set, Binary Set

= JSON – Bool, Null, List, Map

고도화된 API 지원

고도화된 API 지원= 수정&조건표현식= Atomic

= Batch

파티션당 Read

= 5000/3 = 1666.67

파티션당 Write

= 500/3 = 166.67

Hash Key 에의해파티션이결정= Hash Key 선정이매우중요= 잘분산되는키를선택하는게중요

AGAIN,

아무리잘나가는서비스도,

항상 PEAK일수는없는법.

DB도유연할수없을까?

부하에따른좀더능동적인처리량조정

dynamo-autoscale

UpdateTable

= 읽기/쓰기처리요구량실시간조정= 올리는건하루에몇번이고가능= 내리는건 4회/24시간제하

RECAP

= API, API, API

= 부하수준에맞춰유연하게사용= AWS의다양한가격정책을적극활용

AWS 한국사용자모임

http://awskr.org

http://jobs.beatpacking.com

감사합니다.

Recommended