정의
•
서버 관리 없이 애플리케이션을 개발하고 배포할 수 있도록 하는 클라우드 컴퓨팅 모델
•
서버리스 아키텍처에서는 개발자가 서버 프로비저닝, 관리, 확장 등에 대해 걱정할 필요 없이 코드에 집중
주요 특징
•
서버 관리 없음 : 클라우드 공급업체가 서버 인프라를 관리하고 자동으로 확장 및 축소
•
이벤트 기간 컴퓨팅 : 코드는 특정 이벤트 (예: HTTP 요청, 데이터베이스 변경)에 대한 응답으로 실행
•
비용 효율성 : 사용한 만큼만 비용을 지불
•
빠른 배포 : 코드를 배포하는 데 걸리는 시간이 짧다.
•
확장성 : 워크로드에 따라 자동으로 확장
•
보안 : 클라우드 공급업체가 보안 인프라를 관리
구성 요소
1.
클라우드 제공업체
2.
서버리스 플랫폼
3.
서버리스 함수
4.
이벤트
5.
데이터 저장소
6.
네트워킹
7.
모니터링 및 로깅
8.
자동화
용도
•
웹 애플리케이션
•
모바일 백엔드
•
데이터 스트리밍
•
IoT 애플리케이션
•
마이크로서비스
•
서버리스 함수
장점
•
개발자 생산성 향상
•
비용 절감
•
빠른 배포
•
확장성
•
보안
단점
•
종속성
•
디버깅 어려움
•
벤더 잠금
•
제어 부족