
서버리스란, 클라우드 컴퓨팅 실행 모델의 하나로 개발자가 서버 인프라 관리에 대해 신경쓰지 않고 코드 작성만 집중할 수 있도록 하는 환경을 말한다.
클라우드 제공업체가 서버의 프로비저닝, 확장, 패치, 유지보수 등 모든 운영 업무를 대신 처리하게 된다.
최근 클라우드 컴퓨팅 기술 발전과 함께 서버리스 서비스의 기능과 성능이 향상되면서 사용한 만큼만 비용을 지불하는 서버리스 모델의 활용이 증가하고 있다.
관리형 인프라
프로비저닝 및 확장
클라우드 공급자가 트래픽 부하에 따라 서버 자원 할당하고 확장한다.
운영체제 및 보안 패치
모든 기반 인프라 관리는 클라우드 공급자의 책임이다.
이벤트 기반 실행
서버리스 함수는 요청이 들어올 때만 실행되고 요청이 없으면 유휴 상태로 있다가 자원을 반납한다.
종량제 과금
사용된 자원에 대해서만 비용을 지불한다.
| 제공 업체 | 서비스 이름 | 설명 |
|---|---|---|
| AWS | AWS Lambda | 가장 널리 사용됨 |
| Microsoft Azure | Azure Functions | Azure 환경의 서버리스 솔루션 |
| Google Cloud | Google Cloud Functions | Google Cloud 화경의 서버리스 솔루션 |

API Gateway가 HTTP 요청을 받고 서버리스 함수가 비즈니스 로직을 처리하며 서버리스 데이터베이스에 접근하는 형태를 말한다.
API 구축
트래픽 변동이 심한 서비스도 서버 용량에 걱정없이 처리 가능
정적 웹 호스팅 및 동적 기능 연동
프론트엔드 파일은 S3에 호스팅하고 동적 기능만 서버리스 함수로 구현


특정 이벤트에 반응해 코드를 실행하고 여러 서버리스 컴포넌트를 연결해 복잡한 로직을 구성한다.