AWS Elastic Beanstalk
- 웹, 서비스를 배포하고 운영 및 관리를 지원하는 서비스
- capacity provisioning, load balancing, auto scaling등 모든 배포를 자동으로 EB가 관리한다.
- 앱 저장/실행에 필요한 자원만 비용 지불하면됨
- 장점
- 빠르고 사용하기 쉬움
- 앱을 싱행하는 platform을 최신으로 유지시켜주니 개발에만 집중하면된다.
- 최적의 resource를 사용자가 지정 가능
- 특징
- auto scaling, load balancing 환경 제공
- dashboard
- ec2 최대 개수 지정
- instance 추가/삭제를 위한 triggering rule 추가
- static file 캐싱을 위한 proxy server선택
- health mornitering 활성화
- 기초
- Application
- project의 folder 역활 -> EB 내에서 실행되지 않음
- 배포되고 환경안에서 실행됨
- Environment
- EB application 내에서 만들어짐
- application의 서로 다른 실행 버전 관리
- Environment tier
- web server -> http(s) request 다룸
- worker tier -> background process를 다룸
- EB Architecture
- CNAME: environment에 대한 human-readable URL -> loadbalancer
- load balancer: traffic을 multiple instance로 보냄
- auto scaling group: traffic을 처리할 instance를 선정하고
- instance 개수 증가/감소 시킴
Serverless
- 사용량에 따라 백엔드 서비스를 제공하는 방법
- 물리적 서버는 사용하지만, 개발자는 서버를 알 필요가 없음 == 서버에 관여하지 않음
- 장점
- 낮은 비용 - 종량제
- 서버 관리 불필요
- 유연한 규모 조정
- 자동화된 고가용성
- 빠른 개발 -> 복잡한 배포과정, 버그 수정 대신 필요에 따라 코드 추가/수정