[AWS] 안녕 SAM

xgro·2022년 6월 23일
0

AWS

목록 보기
4/18
post-thumbnail

The AWS Serverless Application Model (SAM)은 서버리스 애플리케이션을 구축하기 위한 오픈 소스 프레임워크이다.
함수, API, 데이터베이스 및 이벤트 소스 매핑을 표현하는 약식 구문을 제공한다.
리소스당 몇 줄만 사용하여 원하는 애플리케이션을 정의하고 YAML을 사용하여 모델링할 수 있다.
배포하는 동안 SAM은 SAM 구문을 AWS CloudFormation 구문으로 변환 및 확장하므로 서버리스 애플리케이션을 더 빠르게 구축가능 하다.

시작하기

  • SAM 기반 애플리케이션 구축을 시작하기 위해서 AWS SAM CLI를 사용한다.
  • SAM CLI는 SAM 템플릿 또는 AWS CDK(클라우드 개발 키트)를 통해 정의된 애플리케이션을 로컬에서 빌드, 테스트 및 디버그할 수 있는 Lambda와 유사한 실행 환경을 제공한다
  • SAM CLI를 사용하여 애플리케이션을 AWS에 배포하거나 모범 사례를 따르고 AWS의 기본 및 타사 CI/CD 시스템과 통합하는 안전한 CI/CD(지속적 통합 및 배포) 파이프라인을 생성할 수 있다.
  • SAM 및 SAM CLI는 Apache 2.0 라이선스 기반의 오픈소스이다.
  • GitHub의 SAM 또는 GitHub의 SAM CLI에 새로운 기능 및 개선 사항을 기여할 수 있다.

Install SAM CLI

Mac

  • Install SAM CLI using Brew
    brew tap aws/tap
    brew install aws-sam-cli

Why SAM?

  • Single Deployment Configuration
    관련된 모든 리소스를 버전이 지정된 단일 엔터티로 함께 배포할 수 있다.
  • Local Testing and Debugging
    로컬에서 Lambda와 유사한 실행 환경을 제공한다.
    코드를 단계별로 실행하고 디버그 가능하다

  • Built-In Best Practices
    AWS CodeDeploy를 통해 점진적으로 배포하고 몇 줄의 SAM 구성만으로 AWS X-Ray를 사용하여 추적할 수 있다.

  • Integration with Development Tools
    SAM은 AWS 서버리스 도구 모음을 통합한다.

  • Built on AWS CloudFormation
    AWS SAM은 AWS CloudFormation의 확장 버전이기 때문에 CloudFormation의 안정적인 구축 기능을 이용할 수 있다.
    SAM 템플릿에서 CloudFormation을 사용하여 리소스를 정의하고 AWS CloudFormation에서 사용할 수 있는 전체 리소스 모음, 내장 함수 및 기타 템플릿 기능을 사용할 수도 있다.

참조 레퍼런스

https://aws.amazon.com/ko/serverless/sam/

profile
안녕하세요! DevOps 엔지니어 이재찬입니다. 블로그에 대한 피드백은 언제나 환영합니다! 기술, 개발, 운영에 관한 다양한 주제로 함께 나누며, 더 나은 협업과 효율적인 개발 환경을 만드는 과정에 대해 인사이트를 나누고 싶습니다. 함께 여행하는 기분으로, 즐겁게 읽어주시면 감사하겠습니다! 🚀

0개의 댓글