39
HB Smith에서는 AWS 이렇게 사용한다 2017. Aug. 29 [email protected]

20170829 HB Smith에서는 AWS 이렇게 사용한다

Embed Size (px)

Citation preview

Page 1: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith에서는�AWS�이렇게�사용한다

2017.�Aug.�29�[email protected]

Page 2: 20170829 HB Smith에서는 AWS 이렇게 사용한다

발표자�소개

• 한종원�

• Python과�Cloud�Infra,�Lean/Agile�방법론�그리고애플의�제품을�사랑.�

• 2012년�석사�학위를�마치고,�startup을�시작(이때부터�AWS를�production�level에서�사용)�

• '의미가�있는�일을,�올바르게�하고�싶다.'�

• 경력�

• (현)�DevOps�전문�스타트업�‘HB�Smith’�대표�

• 택시�O2O�서비스�스타트업�‘Kanizsa�Lab’의�backend�server�/�infra�devops�담당�

• Cloud�computing�전문�스타트업�'A2�company'�co-founder�(‘KINX’에�인수합병)�

• NEXON�'MapleStory�국내�Live�Team'에서�DBA,�SA로�근무�(산업�기능�요원)

https://www.linkedin.com/in/addnull/

https://hbsmith.io

Page 3: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Startup�경력�=�AWS�사용�기간

Page 4: 20170829 HB Smith에서는 AWS 이렇게 사용한다

• 발표�대상:�DevOps�팀�(중급)�

• 발표�순서�

• Cloud�Architecture�관리�

• HB�Smith의�AWS�사용�사례�

• Wrap�Up

(예상�발표�시간:�30~35분)

Page 5: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

Page 6: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• Cloud�computing�특장점�

• Virtualization�(HW�->�SW)�

• Ubiquitous�

• Distribution�(Scale�in/out)�

• Utility�computing�(on-demand)

Page 7: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• Cloud�architecture�고려�사항�

• 쉽게�변경�가능한�Software�

• Elastic�

• 3R�(Repeatable,�Reproducible,�Reliable)�

• Infrastructure�as�code�(IAC) ->�Infra�Programmer

https://github.com/HardBoiledSmith/johanna

(하지만,�bug도�있어요.)

(갑자기�일부�instance가�날아갈�수�있어요�!)

Page 8: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• IAC�예시

https://github.com/HardBoiledSmith/johanna

Page 9: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• EC2�서버�1EA�생성도�모두�자동화�(Python�script)

Page 10: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• Python�script�in�Lambda

Page 11: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• Travis-CI

Page 12: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• 언제든지�교체�가능 • 처음�생성�후�계속�유지

EC2 Lambda S3

RDS

VPC

SQSSES

SNS

->�하루에�1회�이상�교체 (daily�continuous�deployment)

‘왜,�처음�한번만�생성하는�것도�IAC�하지?’

IAM

Page 13: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• 3단계�deployment�phase

Page 14: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

• 기본�룰:�1�phase�1�AWS�account�

• 결제는�‘consolidated�billing’

DV,�QA는�필요할�때만�운영함.즉,�운영하지�않을�때는�VPC,�RDS�같은�것도�모두�terminate�하고, 다시�운영할�때는,�처음(VPC)부터�생성함

Page 15: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Cloud�Architecture�관리

새로운�PR은�언제나�환영이야!

https://github.com/HardBoiledSmith/johanna

Page 16: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

Page 17: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• Why�AWS?

Page 18: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

TroubleshootingAPI

HA

DR

Automation

Scale�Out

Scale�Up

BackupMigration

Page 19: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘자,�어디서부터�시작할까?’

Page 20: 20170829 HB Smith에서는 AWS 이렇게 사용한다

왜�AWS인가?

• LEGO�블럭처럼�여러�개의�AWS�서비스를�조합해서나만의�Infra�구축

Page 21: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

Page 22: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

아닙니다�ㅠㅜ�실제로�허접하게�시작해서,�6년동안�꾸준히�upgrade,migration�했습니다.(powered�by�IAC)

Page 23: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘먼저�서버�1대부터�추가’

EC2

Page 24: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘EC2�하나에�모두�설치!’

EC2

Page 25: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘RDS라는�full-managed�DB를�써볼까?’

EC2

RDS

Page 26: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘EC2�disk�공간이�더�필요하네�(늘리고,�늘리고,�늘리고…)’

EC2

RDS

Page 27: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘S3라는�무제한�용량의�storage를�쓰면�되겠군.’

EC2

RDS S3

Page 28: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• AWS�3대장EC2 RDSS3

Page 29: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘아,�서버�HA(이중화)도�해야지,�ELB란게�필요하네.’

Page 30: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘비동기�작업을�하려면�SQS를�쓰면�되네.’

Page 31: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘Mobile�App�push�알림을�위해서�SNS도�추가하자.’

Page 32: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘가끔�있는�비동기�작업을�위해서는�Lambda가�낫겠다.’

Page 33: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• ‘VPC를�쓰면�네트워크�분리가�되네.’�

• ‘Elastic�Beanstalk를�쓰면�server�application�배포가�쉽네.’�

• ‘CloudFront라는�CDN도�있네.’�

• ‘Route53라는�DNS도�있네.’�

• ‘API�gateway로�간단한�API는�바로�제공할�수�있네.’�

• ‘~~~�되네’�

• ‘~~~�있네’

Page 34: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

지금은�이렇게�되었고,�계속�upgrade�중입니다.

Page 35: 20170829 HB Smith에서는 AWS 이렇게 사용한다

HB�Smith의�AWS�사용�사례

• 각�부분별�architecture는�다음�기회에…

http://en.clouddesignpattern.org/

Page 36: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Wrap�Up

Page 37: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Wrap�Up

• Cloud�Architecture�관리�

• Cloud�computing�그리고�cloud�architecture�특장점�

• IAC�예제�

• HB�Smith의�AWS�사용�사례�

• Why�AWS?�

• 지난�6년간�인프라�발전�과정

Page 38: 20170829 HB Smith에서는 AWS 이렇게 사용한다

Call�to�Action

• 저희는�API�개발팀을�위한�모니터링서비스를만들고�있습니다. 저희의�early�bird�고객이�되어주세요.�

• 아직�AWS�KRUG�가입하지�않으셨다구요?�

• 저희�사이트에서�AWS팁을�가져가세요!

https://hbsmith.io

https://www.facebook.com/groups/awskrug

http://www.awskr.org/slack/

https://blog.hbsmith.io

Page 39: 20170829 HB Smith에서는 AWS 이렇게 사용한다

감사합니다

[email protected]�010-9166-6855