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

Preview:

Citation preview

Elastic BeanstalkAWS User Group - Pangyo-se

Agenda

•발표자�소개�

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

• Demo�

• Case�Study

발표자�소개

•안병학�

•SK�플래닛�근무

• 안드로이드�개발�

• 서버�API�개발�

• 보안�개발�

• 인프라�개발

클라우드�컴퓨팅

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

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

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

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

• Aliyun�서비스�분석�

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

­�사장님

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

­�개발자

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

GO

Deploy

Develop

Manage&�Scale

• VPC�

• RDS�

• ElastiCache�

• DynamoDB�

• CloudFormation�

• Multiple�Availability�Zone�

• Cloud�Watch

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

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

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

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

이점

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

Java�Sample�Application

1 2 3 4 5 6 7 8 9 10

Step�by�step

Step�1

Step�2

Web�server

Worker

Step�3-1

Step�3-2

Step�4-1

Step�4-2

Step�5

Step�6

Step�7-1

Step�7-2

Step�8

Step�9

Step�10-1

Step 10-2Step�10-2

EB�CLIElastic�Beanstalk�Command�Line�Interface

Install�EB�CLI

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

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

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

Python�Tutorial�Sample

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

• eb�init�

• eb�create�

• eb�open�

• eb�deploy

Docker?

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

• 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

데모�시나리오

//�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

Case�study

Nike

VTEX

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�지원

참고�사이트•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