FaaS

From CS Wiki


Function as a Service
분산된 대형 인프라 자원에 함수를 등록하고 함수가 실행되는 횟수만큼 비용을 지불하는 방식의 서비스
  • 주로 서버리스(serverless) 컴퓨팅을 구현하기 위해 사용

동작 구조[edit | edit source]

  • 개발자가 비즈니스 로직을 작성하면 플랫폼이 관리를 전담하는 Linux 컨테이너에서 이를 실행
  • Function 요청 수에 따라 자동 스케일링
  • 실제 호출 및 동작이 된 시간 및 사용된 자원량에 따라 과금

FaaS의 이점[edit | edit source]

  • 개발자 생산성 향상 및 개발 시간 단축
  • 서버 관리의 부담이 없음
  • 손쉬운 확장 및 플랫폼에서 관리하는 수평적 스케일링
  • 필요한 경우에만 리소스를 사용하거나 지불
  • 거의 모든 프로그래밍 언어로 기능 작성 가능

사례[edit | edit source]

  • AWS Lambda
  • Google Cloud Functions
  • Microsoft Azure Functions(오픈소스)
  • OpenFaaS(오픈소스)

BaaS와의 차이[edit | edit source]

구분 BaaS FaaS
정의 앱 개발에 필요한 기능을 API로 처리 대형 인프라에 원하는 기능을 등록하고 사용
특징 구현하기 복잡한 기능을 미리 개발된 API로 사용 분산 컴퓨팅 자원을 고유 서버 처럼 활용
장점 시스템 복잡도 감소 유연한 서버 자원 이용
사례 Firebase, Sendbirds 등 AWS Lambda, Google Cloud Functions 등

기술사 기출[edit | edit source]

  • 정보관리기술사 121회 1교시

같이 보기[edit | edit source]

참고 문헌[edit | edit source]