View
775
Download
8
Category
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
Recommended