Blog logo콜로리 블로그
개발 > DevOps
3달 전

SST란? 서버리스 프레임워크 소개

Post thumbnailImage

SST 소개


개요

지난번에 서버리스 아키텍쳐란? (feat. Lambda) 글에서 서버리스 아키텍쳐에 대해 작성했다.

'SST' 서버리스 아키텍쳐를 쉽게 구성 할 수 있게 도와주는 프레임워크이다.


AWS의 Cloud Formation 을 이용해 간단한 코드만으로 개발 및 운영 환경을 AWS에 구성하도록 도와주기에,

개발자는 개발에 더 집중할 수 있는게 대표적인 장점이다.



공식 홈페이지에 가이드가 잘 정리되어 있기에 여기서는 주요 특징과 장점만 간략히 정리하겠다.



특징

SST는 Javascript 기반으로 이루어져있어 API와 Front-end 모두 JS 로 개발해야하며 Lambda 또한 역시 JS로 생성된다.



그리고 아래의 코드처럼 필요한 리소스를 코드로 정의 할 수 있다.

// Dynamodb 테이블 정의
const table = new Table(stack, "counter", {
  fields: {
    counter: "string",
  },
  primaryIndex: { partitionKey: "counter" },
});

// API 정의
const api = new Api(stack, "api", {
  routes: {
    "GET /": "packages/functions/src/time.handler",
  },
});



또 좋은 장점은 명령어 한 줄로 빌드와 리소스 제거가 가능하기에 운영 관리가 어렵지 않다.

# 예시
npx sst dev # 개발 환경 빌드
npx sst remove --stage dev # 개발 환경 리소스 제거



하지만 간편하게 자동으로 많은 것을 해주는 대신 단점 아닌 단점도 있다.

AWS의 리소스를 자동으로 관리해주지만, 결국 사용자가 AWS를 잘 알아야한다.


사실 자동으로 관리 해준 다는 것이 모르고 쓰면 독약이 될 수 있다.

튜토리얼을 보고 하나씩 따라해보면서 기본 기능들을 만들어서 어느정도 익숙해지면,

AWS 서비스의 몰랐던 부분을 공부하면서 고도화하는 것을 추천한다.




참조


#SST#Serverless#AWS