비유로 이해하기
SAM은 서버리스 앱을 위한 설계도 도구예요. Lambda 함수, API, 데이터베이스 등을 하나의 파일에 정리해서 명령어 한 번으로 모두 배포할 수 있어요.
동작 원리
애니메이션 준비 중입니다
언제 쓰나요?
서버리스 API 빠르게 구축
Lambda + API Gateway 조합의 REST API를 template.yaml 파일 하나로 정의하고 sam deploy 한 번으로 배포할 수 있어요.
로컬에서 Lambda 테스트
sam local invoke로 로컬에서 Lambda 함수를 테스트하고, sam local start-api로 API를 에뮬레이션할 수 있어요. AWS에 배포하기 전에 빠르게 테스트!
서버리스 앱 패키징 및 공유
SAM 템플릿으로 정의된 서버리스 앱을 AWS Serverless Application Repository에 공유하거나, 팀 내에서 표준화된 방식으로 배포할 수 있어요.
요금 예시
SAM 자체는 무료 도구예요! SAM으로 배포하는 Lambda, API Gateway 등의 서비스 비용만 내면 돼요. 서버리스 서비스는 대부분 사용한 만큼만 비용이 들어서 소규모라면 거의 무료예요.
자주 묻는 질문
SAM과 Serverless Framework 중 무엇을 쓸까요?
SAM은 AWS 공식 도구로 CloudFormation과 완벽히 호환돼요. Serverless Framework는 멀티 클라우드를 지원해요. AWS만 사용한다면 SAM이 더 안정적입니다.
SAM과 CDK 중 무엇을 선택해야 하나요?
SAM은 YAML 기반으로 서버리스에 특화, CDK는 프로그래밍 언어로 모든 AWS 리소스를 정의해요. 서버리스 위주라면 SAM, 복잡한 인프라라면 CDK가 적합합니다.
기존 CloudFormation 템플릿에 SAM을 섞어 쓸 수 있나요?
네! SAM은 CloudFormation의 Transform이므로, 기존 CloudFormation 템플릿에 SAM 리소스를 추가할 수 있어요. 점진적 마이그레이션이 가능합니다.