Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 간헐적단식관리어플
- 간헐적단식 다이어트
- 간헐적단식 관리어플
- aws
- 운동닥터
- 방송편성표
- 간단앱
- 실내체육시설
- 간헐적단식식사
- 간헐적단식어플
- 운닥
- 광고네트워크구축기
- codepipeline
- 간헐적단식이란
- 간단어플
- 간헐적단식앱
- 재방송
- 체육시설3만원
- codebuild
- 체육시설환급
- 다이어트제품광고
- 간단
- 논현역헬스장
- ecs
- 간헐적단식
- codedeploy
- 헬스장할인쿠폰
- 헬스장환급
- 간헐적단식타이머
- 체육시설할인쿠폰
Archives
- Today
- Total
유누킴
[AWS][Python] AWS Serverless Framework Chalice 사용하기 본문
728x90
현재 초기 스타트업에서 서버 개발자 및 안드로이드 개발자로 일하면서 서버를 혼자 관리하는게 쉽지 않다.
최대한 서버를 가볍게 가져가기 위해서 MSA(Microservices Architecture)를 적용한다.
하지만 Netfilix처럼 관리 인원이 많은 회사에선 MSA 적용해서 전체적인 서버를 분산 처리 할 수 있지만, 초기 스타트업에서는 혼자서 많은 서버를 관리하기가 쉽지않다.
그래서 나는 AWS의 Serverless를 사용해서 최대한 관리하는 리소스 없이 코드를 실행하는 독립적인 서버를 생성해 서버 부하를 분산한다.
일단은 서버에서 부하를 가장 크게 줄일 수 있는 부분은 blocking call 이 들어가는 네트워크 콜, third party call 등이 있는데,
간단하게 이미지 업로딩 및 푸시 메세지, 이메일 전송이 있다.
그래서 Serverless를 통해서 이미지 서버와 api 서버를 분리시켰다.
1. Chalice 설치하기
pip install aws-cli pip install chalice
2. aws-cli 를 설치한 뒤 aws credential을 설정한다.
$ mkdir ~/.aws $ cat >> ~/.aws/config [default] aws_access_key_id=YOUR_ACCESS_KEY_HERE aws_secret_access_key=YOUR_SECRET_ACCESS_KEY region=YOUR_REGION (such as us-west-2, us-west-1, etc)
3. Chalice 앱 생성
chalice new-project 프로젝트이름
프로젝트를 만들면 아래와 같이 파일들이 생긴다.
app.py : 실제 앱을 소스코드를 작성하는 파일.
requirements.txt : 앱을 위해 필요한 의존성 패키지 목록.
__pycache__ app.py requirements.txt
4. app.py 작성
from chalice import Chalice app = Chalice(app_name='프로젝트 이름') @app.route('/') def index(): return {'hello': 'world'}
5. 배포하기
chalice deploy
deploy를 실행하면 aws의 lambda와 api gateway를 바로 생성해 사용할 수 있는 url이 나온다.
'Tech > Others' 카테고리의 다른 글
AWS Codepipeline을 이용해서 서버 배포 자동화(Codecommit, Codebuild, Codedeploy, ECR, ECS) - 1 (0) | 2019.04.24 |
---|---|
[Python] Slack Bot 사용하기 (0) | 2019.04.24 |
Dockerfile을 통해서 이미지 생성 및 Dockerhub push 하기 (0) | 2019.04.23 |
AWS Lambda로 FCM 전송하기 (0) | 2019.04.02 |
Docker + DockerHub(Automated Build) + Bitbucket 사용하기 (0) | 2018.03.27 |