64
Elastic Beanstalk AWS User Group - Pangyo-se

Elastic beanstalk - 판교 초급자 모임 - 안병학

Embed Size (px)

Citation preview

Page 1: Elastic beanstalk - 판교 초급자 모임 - 안병학

Elastic BeanstalkAWS User Group - Pangyo-se

Page 2: Elastic beanstalk - 판교 초급자 모임 - 안병학

Agenda

•발표자�소개�

• Elastic�Beanstalk�란�무엇일까?�

• Demo�

• Case�Study

Page 3: Elastic beanstalk - 판교 초급자 모임 - 안병학

발표자�소개

•안병학�

•SK�플래닛�근무

• 안드로이드�개발�

• 서버�API�개발�

• 보안�개발�

• 인프라�개발

Page 4: Elastic beanstalk - 판교 초급자 모임 - 안병학

클라우드�컴퓨팅

•2008년�클라우드�컴퓨팅�세미나(KUCIS)�

• 2013년�KT�u-cloud�사용�

• 2014년�AWS�Auto�Scaling�구축�(사내�벤처)�

• 구글�클라우드�세미나�꾸준히�참석�

• Aliyun�서비스�분석�

• *추천�도서�아닙니다�^^

Page 5: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 6: Elastic beanstalk - 판교 초급자 모임 - 안병학

­�사장님

“Devops!�개발자가�운영도�해!”�

Page 7: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 8: Elastic beanstalk - 판교 초급자 모임 - 안병학

­�개발자

“코드만�짜고�싶어요.”�

Page 9: Elastic beanstalk - 판교 초급자 모임 - 안병학

GO

Page 10: Elastic beanstalk - 판교 초급자 모임 - 안병학

Deploy

Develop

Manage&�Scale

Page 11: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 12: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 13: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 14: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 15: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 16: Elastic beanstalk - 판교 초급자 모임 - 안병학

• VPC�

• RDS�

• ElastiCache�

• DynamoDB�

• CloudFormation�

• Multiple�Availability�Zone�

• Cloud�Watch

Page 17: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 18: Elastic beanstalk - 판교 초급자 모임 - 안병학

소스만�있으면�몇�분�안에�애플리케이션�런칭!

어플리케이션�유지보수를�해줘요!

Auto�Scaling�으로�적절한�인프라�유지해줘요!

인프라�리소스를�제어하기�쉬워요!

이점

Page 19: Elastic beanstalk - 판교 초급자 모임 - 안병학

“백문이�불여일견(不如⼀⾒)”�

Page 20: Elastic beanstalk - 판교 초급자 모임 - 안병학

Java�Sample�Application

Page 21: Elastic beanstalk - 판교 초급자 모임 - 안병학

1 2 3 4 5 6 7 8 9 10

Step�by�step

Page 22: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�1

Page 23: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�2

Page 24: Elastic beanstalk - 판교 초급자 모임 - 안병학

Web�server

Page 25: Elastic beanstalk - 판교 초급자 모임 - 안병학

Worker

Page 26: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�3-1

Page 27: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�3-2

Page 28: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 29: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 30: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 31: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�4-1

Page 32: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�4-2

Page 33: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�5

Page 34: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�6

Page 35: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�7-1

Page 36: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�7-2

Page 37: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�8

Page 38: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�9

Page 39: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step�10-1

Page 40: Elastic beanstalk - 판교 초급자 모임 - 안병학

Step 10-2Step�10-2

Page 41: Elastic beanstalk - 판교 초급자 모임 - 안병학

EB�CLIElastic�Beanstalk�Command�Line�Interface

Page 42: Elastic beanstalk - 판교 초급자 모임 - 안병학

Install�EB�CLI

• python�2.7�or�3.4�이상�

• pip�install�--upgrade�--user�awsebcli�

• 환경변수에�python/bin�추가

Page 43: Elastic beanstalk - 판교 초급자 모임 - 안병학

Python�Tutorial�Sample

Page 44: Elastic beanstalk - 판교 초급자 모임 - 안병학

• Download�:�https://github.com/awslabs/eb-py-flask-signup�

• eb�init�

• eb�create�

• eb�open�

• eb�deploy

Page 45: Elastic beanstalk - 판교 초급자 모임 - 안병학

Docker?

Page 46: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 47: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 48: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 49: Elastic beanstalk - 판교 초급자 모임 - 안병학

Spring�Boot�배포JHipster(Spring�Boot�+�Angular2)�with�Docker

Page 50: Elastic beanstalk - 판교 초급자 모임 - 안병학

• yo�

• DB�설정�(rds�만들어�놓은거�사용)�

• ./gradlew�-Pprod�bootRepackage�

• cp�build/libs/*.war�src/main/docker/�

• cd�src/main/docker/�

• docker�build�-t�ebjhipster/sample�.�

• docker�run�ebjhipster/sample�

• eb�init�

• eb�create�(인스턴스�크기�변경)�

• eb�open�

• yo�jhipster:import-jdl�ebjhipster.jh�

• ./gradlew�-Pprod�bootRepackage�

• cp�build/libs/*.war�src/main/docker/�

• cd�src/main/docker/�

• docker�build�-t�ebjhipster/sample�.�

• docker�run�ebjhipster/sample�

• eb�deploy

데모�시나리오

Page 51: Elastic beanstalk - 판교 초급자 모임 - 안병학

//�OneToOne�-�단방향�entity�Citizen�{�� name�String�}�

entity�Passport�{�� name�String�}�

relationship�OneToOne�{�� Citizen�{�passport�}�to�Passport�}�

//�OneToOne�-�양방향�entity�Driver�{�� name�String�}�

entity�Car�{�� name�String�}�

relationship�OneToOne�{�� Driver�{�car�}�to�Car�{�driver�}�}�

//�OneToMany�양방향�entity�Developer�{�� name�String�}�

entity�Product�{�� name�String�}�

relationship�OneToMany�{�� Developer�{�product�}�to�Product�{�developer�}�}�

//�ManyToOne�단방향�entity�Person�{�� name�String�}�

entity�Device�{�� name�String�}�

relationship�ManyToOne�{�� Person�{�device�}�to�Device�}�

//�ManyToMany�양방향�entity�Nexus�{�� name�String�}�

entity�Source�{�� name�String�}�

relationship�ManyToMany�{�� Nexus�{�source�}�to�Source�{�nexus�}�}�

dto�*�with�mapstruct�service�*�with�serviceClass�paginate�*�with�pager

Page 52: Elastic beanstalk - 판교 초급자 모임 - 안병학

Case�study

Page 53: Elastic beanstalk - 판교 초급자 모임 - 안병학

Nike

Page 54: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 55: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 56: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 57: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 58: Elastic beanstalk - 판교 초급자 모임 - 안병학

VTEX

Page 59: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 60: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 61: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 62: Elastic beanstalk - 판교 초급자 모임 - 안병학
Page 63: Elastic beanstalk - 판교 초급자 모임 - 안병학

Elastic�Beanstalk�Release�Note

• 2011년�1월�19일�베타�릴리즈�(릴리즈�노트)�

• 2012년�12월�20일�git�aws.push�지원�

• 2013년�4월�17일�IAM�roles�지원�

• 2014년�4월�9일�Load-balancing,�Autoscaling�지원�

• 2014년�4월�22일�Docker�지원�

• 2014년�11월�5일�자바�8�and�Tomcat�8�지원�

• 2015년�2월�17일�쉬운�설정�추가�

• 2016년�8월�23일�Application�load�balancers�지원�

• 2016년�9월�26일�신규�버전�윈도우�서버�사용가능�(뭄바이,�서울�리젼�제외)�

• 2017년�2월�22일�Custom�Platform�지원

Page 64: Elastic beanstalk - 판교 초급자 모임 - 안병학

참고�사이트•https://es.slideshare.net/awskr/with-git-42890690?nomobile=true�

• https://youtu.be/OzLXj2W2Rss�

• https://youtu.be/Zb-lNr_TV2k�

• https://youtu.be/OJVLYPo2T4Y�

• https://youtu.be/SrwxAScdyT0�

• https://youtu.be/dvmssHHBnII