Post on 23-Jan-2018
발표자�소개
• 한종원�
• 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
Startup�경력�=�AWS�사용�기간
• 발표�대상:�DevOps�팀�(중급)�
• 발표�순서�
• Cloud�Architecture�관리�
• HB�Smith의�AWS�사용�사례�
• Wrap�Up
(예상�발표�시간:�30~35분)
Cloud�Architecture�관리
Cloud�Architecture�관리
• Cloud�computing�특장점�
• Virtualization�(HW�->�SW)�
• Ubiquitous�
• Distribution�(Scale�in/out)�
• Utility�computing�(on-demand)
Cloud�Architecture�관리
• Cloud�architecture�고려�사항�
• 쉽게�변경�가능한�Software�
• Elastic�
• 3R�(Repeatable,�Reproducible,�Reliable)�
• Infrastructure�as�code�(IAC) ->�Infra�Programmer
https://github.com/HardBoiledSmith/johanna
(하지만,�bug도�있어요.)
(갑자기�일부�instance가�날아갈�수�있어요�!)
Cloud�Architecture�관리
• IAC�예시
https://github.com/HardBoiledSmith/johanna
Cloud�Architecture�관리
• EC2�서버�1EA�생성도�모두�자동화�(Python�script)
Cloud�Architecture�관리
• Python�script�in�Lambda
Cloud�Architecture�관리
• Travis-CI
Cloud�Architecture�관리
• 언제든지�교체�가능 • 처음�생성�후�계속�유지
EC2 Lambda S3
RDS
VPC
SQSSES
SNS
->�하루에�1회�이상�교체 (daily�continuous�deployment)
‘왜,�처음�한번만�생성하는�것도�IAC�하지?’
IAM
Cloud�Architecture�관리
• 3단계�deployment�phase
Cloud�Architecture�관리
• 기본�룰:�1�phase�1�AWS�account�
• 결제는�‘consolidated�billing’
DV,�QA는�필요할�때만�운영함.즉,�운영하지�않을�때는�VPC,�RDS�같은�것도�모두�terminate�하고, 다시�운영할�때는,�처음(VPC)부터�생성함
Cloud�Architecture�관리
새로운�PR은�언제나�환영이야!
https://github.com/HardBoiledSmith/johanna
HB�Smith의�AWS�사용�사례
HB�Smith의�AWS�사용�사례
• Why�AWS?
HB�Smith의�AWS�사용�사례
TroubleshootingAPI
HA
DR
Automation
Scale�Out
Scale�Up
BackupMigration
HB�Smith의�AWS�사용�사례
• ‘자,�어디서부터�시작할까?’
왜�AWS인가?
• LEGO�블럭처럼�여러�개의�AWS�서비스를�조합해서나만의�Infra�구축
HB�Smith의�AWS�사용�사례
HB�Smith의�AWS�사용�사례
아닙니다�ㅠㅜ�실제로�허접하게�시작해서,�6년동안�꾸준히�upgrade,migration�했습니다.(powered�by�IAC)
HB�Smith의�AWS�사용�사례
• ‘먼저�서버�1대부터�추가’
EC2
HB�Smith의�AWS�사용�사례
• ‘EC2�하나에�모두�설치!’
EC2
HB�Smith의�AWS�사용�사례
• ‘RDS라는�full-managed�DB를�써볼까?’
EC2
RDS
HB�Smith의�AWS�사용�사례
• ‘EC2�disk�공간이�더�필요하네�(늘리고,�늘리고,�늘리고…)’
EC2
RDS
HB�Smith의�AWS�사용�사례
• ‘S3라는�무제한�용량의�storage를�쓰면�되겠군.’
EC2
RDS S3
HB�Smith의�AWS�사용�사례
• AWS�3대장EC2 RDSS3
HB�Smith의�AWS�사용�사례
• ‘아,�서버�HA(이중화)도�해야지,�ELB란게�필요하네.’
HB�Smith의�AWS�사용�사례
• ‘비동기�작업을�하려면�SQS를�쓰면�되네.’
HB�Smith의�AWS�사용�사례
• ‘Mobile�App�push�알림을�위해서�SNS도�추가하자.’
HB�Smith의�AWS�사용�사례
• ‘가끔�있는�비동기�작업을�위해서는�Lambda가�낫겠다.’
HB�Smith의�AWS�사용�사례
• ‘VPC를�쓰면�네트워크�분리가�되네.’�
• ‘Elastic�Beanstalk를�쓰면�server�application�배포가�쉽네.’�
• ‘CloudFront라는�CDN도�있네.’�
• ‘Route53라는�DNS도�있네.’�
• ‘API�gateway로�간단한�API는�바로�제공할�수�있네.’�
• ‘~~~�되네’�
• ‘~~~�있네’
HB�Smith의�AWS�사용�사례
지금은�이렇게�되었고,�계속�upgrade�중입니다.
HB�Smith의�AWS�사용�사례
• 각�부분별�architecture는�다음�기회에…
http://en.clouddesignpattern.org/
Wrap�Up
Wrap�Up
• Cloud�Architecture�관리�
• Cloud�computing�그리고�cloud�architecture�특장점�
• IAC�예제�
• HB�Smith의�AWS�사용�사례�
• Why�AWS?�
• 지난�6년간�인프라�발전�과정
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