서버리스 컴퓨팅
서버리스 컴퓨팅은 서버를 직접 프로비저닝하거나 관리하지 않고 클라우드 기능을 쓰는 서비스 범주다. 정식 정의는 ISO/IEC 22123-2 기준을 따르며, 인스턴스 관리는 플랫폼이 맡는다. 서버리스는 이벤트 소스, API 게이트웨이, FaaS, BaaS로 구성된다.…
주요 장면
대본
정의
서버리스 컴퓨팅은 서버를 직접 프로비저닝하거나 관리하지 않고 클라우드 기능을 쓰는 서비스 범주다.
정식 정의는 ISO/IEC 22123-2 기준을 따르며, 인스턴스 관리는 플랫폼이 맡는다.
구성과 실행 흐름
서버리스는 이벤트 소스, API 게이트웨이, FaaS, BaaS로 구성된다.
FaaS는 서버리스의 실행 단위로, 이벤트가 발생하면 함수를 실행한다.
BaaS는 DB·인증·저장소를 관리형으로 제공해 함수 주변을 채운다.
함수는 무상태로 두고 상태는 외부 저장소에 둔다.
다른 모델과 비교
서버리스, PaaS, IaaS는 제공자와 고객이 관리하는 범위가 다르다.
서버 관리 책임은 서버리스가 제공업체 전담이고, IaaS는 고객이 OS부터 관리한다.
과금 단위도 다르다. 서버리스는 실행 단위, 나머지는 가동 시간 기준이다.
운영 책임을 가장 많이 넘기는 만큼 제어 범위는 좁아진다.
계산 예제
하루 한 번 2분씩 실행하는 함수를 한 달간 운영하는 가상의 예를 보자.
실행은 30회, 컴퓨팅 시간은 2분 곱하기 30회로 60분, 즉 1시간이다.
활성 실행이 없는 시간에는 요금이 없어 유휴 비용이 줄어든다.
헷갈리는 점
서버리스를 서버가 없는 기술로 오해하면 안 된다. 서버 관리 책임을 제공자에게 넘긴 것이다.
답안에는 콜드 스타트, 벤더 종속, 실행 제한을 빠뜨리지 않고 함께 쓴다.
데이터 책임은 제공자가 아니라 이용자에게 남는다는 점도 기억한다.
정리
서버리스 컴퓨팅은 서버 관리 없이 이벤트에 따라 코드를 실행하는 서비스다.
특징은 자동 확장, 종량제 과금, 무상태 함수, 이벤트 기반 실행이다.
단점은 콜드 스타트와 벤더 종속이며, 이를 함께 정리해 둔다.