선요약

  • 서버리스를 쓴다면 유지보수의 불필요, 운영비용 절감, 자원의 AutoScaling 측면때문에 사용한다
  • 서버리스를 안쓴다면 보안문제, 공급업체 의존성, 적은 레퍼런스 때문에 사용하지않는다.
  • FaaS(Function), BaaS(Backend) 로 구분된다
  • e.g ) AWS Lambda

서버리스의 특징

  • 유지보수의 불필요
    • 서버를 프로비저닝, 유지관리할 필요가 없다(APP만 개발하면 된다)
  • 유연한 확장
    • 애플리케이션을 자동으로 확장시킬수 있다
    • 개별서버단위가 아니라 사용단위(처리량,메모리) 를 설정해서 용량을 조정할수 있다
  • 종량제 요금
    • 서버 단위가 아닌 일관된 처리량, 실행기간에 대해 요금을 지불한다
  • 고가용성
    • 서버 자체에서 가용성과 내결함성을 가지고있다.
    • APP에서 이러한 기능을 설계할 필요가없다
  • 보안이슈
    • 데이터를 사내에서 관리하는것이 아니라, 민감한 데이터에 관해서는 우려가 있다
  • 이벤트기반
    • 이벤트기반으로 작동되며, AWS Lambda는 사용상의 ColdStart문제를 가지고 있다

서버리스의 구분

FaaS : Function as a Service

  • 사용자가 작성한 코드(함수)를 서버에 업로드하면, 요청이 들어왔을때 서버가 함수를 실행하는 방식
  • 요청이 들어왔을때, 함수가 실행되므로 이벤트기반이다

BaaS : Backend as a Service

  • 백엔드 개발에 필요한 여러기능을 API로 제공하는 서비스.
  • 백엔드에 필요한 기능(SNS연동, DB 등) 을 사용자가 구현할 필요없이 API로 제공해 주는것

예시

  • API Lambda
  • API Gateway
jjongguet