반응형
github: https://github.com/aws/aws-sam-cli
- serverless application 생성 + 타 api / DB / event Source mapping이 가능하도록 지원
- Json / Yaml 포맷
- 배포할 때는 CloudFormation이라는, 아주 오래된 AWS IaaS 사용해서 리소스 할당받고 배포.
template 안에 아래와 같은 로직이 정의되어 있음.
- lambda functions 정의
- iam role 부여
- api gateway와 연결
- DB table과 연결
로컬에서 가능한 것들
- lambda 로컬 실행
- 테스트 이벤트로 함수 Invoke
- template validation
- Local API gateway with hot reloading
- local start-api: lambda + apigw 등의 구성이 전부 container 환경에서 로컬 실행됨.
로컬에서 cli 실행 시 터미널 결과
SAM accelerate
- 발표 시점 기준 베타기능
- Incremental build로 빌드시간 단축
- SAM sync: 재빌드 전체 과정을 거치는 대신 변경된 코드만 cloud 업로드 + sync
Canary Deployment 예시
- DeploymentPreference의 type으로 Canary10Percent10Minutes
- 10분간 traffic 10%만 새로운 deployment로 배포시키는 canary Deployment 선택 가능.
- 문제 없으면 10분 뒤 새로운 버전으로 트래픽 100% 이동.
반응형