서버리스 컴퓨팅

1 개요[ | ]

serverless computing, serverless
서비리스 컴퓨팅, 서버리스
  • 클라우드 컴퓨팅 서비스의 일종
  • 개발자가 서버를 관리하지 않고도 애플리케이션을 구축하고 실행할 수 있는 클라우드 네이티브 개발 모델
  • 인프라스트럭처 구축·관리 없이 애플리케이션 기능을 개발·구동·관리할 수 있는 플랫폼을 제공하는 서비스
  • 여전히 서버가 있긴 하지만 앱 개발과는 분리되어 추상화된다.
  • 클라우드 공급자가 서버 인프라를 프로비저닝, 유지관리, 확장하는 일상적인 작업을 처리한다.
  • 개발자는 배포를 위해 간단하게 코드를 컨테이너에 패키징할 수 있다.
  • 일단 배포되면 서버리스 앱은 수요에 응답하고 필요에 따라 자동으로 확장·축소된다.
  • 퍼블릭 클라우드 제공자의 서버리스 제품은 일반적으로 이벤트 기반 실행 모델을 통해 온디맨드 방식으로 측정된다.
  • 결과적으로 서버리스 기능이 유휴 상태일 때는 비용이 들지 않는다.

2 배경[ | ]

  • IaaS에서는 일반적으로 사용자가 용량 단위를 사전 구매한다.
  • 즉, 앱을 실행하기 위해 상시 가동되는 서버 구성요소에 대해 퍼블릭 클라우드 공급자에게 비용을 지불해야 한다.
  • 수요가 많을 때 서버 용량을 확장하고 더 이상 필요하지 않을 때 축소하는 것은 사용자의 책임이다.
  • 앱을 실행하는 데 필요한 클라우드 인프라는 앱을 사용하지 않을 때도 활성화됩니다.

  • 이와 대조적으로 서버리스 아키텍처에서는 앱이 필요할 때만 시작된다.
  • 이벤트가 앱 코드를 실행하도록 트리거하면 퍼블릭 클라우드 공급자가 해당 코드에 대한 리소스를 동적으로 할당한다.
  • 코드 실행이 완료되면 사용자는 지불을 중지한다.
  • 서버리스는 비용, 효율성 이점 외에도 앱 확장 및 서버 프로비저닝과 관련된 일상적이고 사소한 작업에서 개발자를 해방시켜준다.
  • 서버리스를 사용하면 운영체제·파일시스템 관리, 보안 패치, 로드 밸런싱, 용량관리, 확장, 로깅·모니터링과 같은 일상 작업들을 클라우드 서비스 공급자에 넘길 수 있다.

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}