- 📌 서버리스(Serverless)란?
서버리스(Serverless)는 직역하면 "서버가 없다"라는 뜻이다.
하지만, 서버가 없는 것은 아니고, 서버를 직접 관리할 필요가 없는 아키텍처라는 뜻에서 서버리스 아키텍처(Serverless Architecture)라고 부른다.
- 이벤트 기반의 비용. (일정 주기, 조건 등에 함수를 호출하므로 리소스를 낭비하지 않게 되어서 비용이 저렴하다.
- 인프라 구성, 운영, 보안 등에 신경쓰지 않고 비즈니스 로직에 집중할 수 있다.
- 자동 스케일 업 및 스케일 다운을 지원한다.
- 간단한 패키징 및 배포가 가능하다.
- 릴리즈 주기를 감소 시킬 수 있다.
- 높은 생산성을 갖고 있다.
- 실시간 서비스에는 적합하지 않다. (항시 실행 중인 서버랑 달리, 트리거에 의해 서버를 실행하고 종료하기를 반복하기 때문에 실행 대기 시간이 오래 걸린다)
- 클라우드 서비스 업체에 종속적이다.
- 마이그레이션의 어려움이 있다.
- 실행 시간의 한계가 있다. (AWS Lambda의 경우 15분)
- 로컬 데이터를 사용할 수 없다. (Stateless)
- 디버깅이나 테스팅이 불편하다.