- Lambda
- AWS에서 제공하는 serverless 컴퓨팅 서비스 중 하나
- 즉시 코드를 실행하는 서비스.
- 거의 모든 유형의 서비스를 코드로 실행할 수 있도록 해준다.
- 함수 기반
- Fargate
- AWS EC2 인스턴스의 서버나 클러스터 없이 컨테이너를 실행해주는 서비스
- 컨테이너 기반
- AWS의 컨테이너 오케스트레이션 서비스인 ECS와 EKS 기반으로 동작
- lambda에 비해 느리고 비싸다.
- CloudWatch Event
- AWS에서 실행되는 애플리케이션을 실시간으로 모니터링하는 서비스
- S3 Event
Serverless 구현 방법
FaaS
- Function as a Service
- 함수를 서비스로 제공
- 백엔드를 함수를 통해 작게 쪼개서 사용
Serverless 장단점
- 장점
- 경제적 : 서버가 실행될 경우에만 비용이 발생
- 품질 향상 : 서버에 신경을 덜 쓰고 코드의 품질에만 신경을 쓸 수 있음
- 높은 가용성
- 유연한 확장 기능
- 단점
- Cold Start : 프로젝트의 몸집이 클 경우 항상 켜져있는 서버보다는 느리다.
- 클라우드에 종속 : 프로젝트 이전에 불편함
- 긴 시간의 요청에는 불리함
다음 두 경우에는 서버리스가 적합하다.
- 사이드 프로젝트(토이 프로젝트)
- 빠른 프로토타입으로 출시해야 할 경우