공부하고 기록하는, 경제학과 출신 개발자의 노트

학습일지/클라우드

AWS Startup BootCamp Essential - Serverless 개발 프레임워크 SAM 빠르게 감 잡기

inspirit941 2023. 5. 13. 12:44
반응형

https://youtu.be/GzUBZIVZPgY

github: https://github.com/aws/aws-sam-cli

 

GitHub - aws/aws-sam-cli: CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM

CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM - GitHub - aws/aws-sam-cli: CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM

github.com

 

  • 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% 이동.
반응형