서버리스(Serverless) , 서버가 없다고???!!!
미리 말하지만 서버리스는 서버가 없는게 아니다. 정확히는 서버를 신경쓸 필요가 없는 것이다. 사용자가 서버를 직접 관리하지 않아도 되는 모델이 바로 서버리스다.
클라우드 컴퓨팅이 들어오면서 IaaS/PaaS를 많이들 쓰고 있을 것이다. 물리적인 서버를 회사 한 구석에 몰아넣고 관리하는 것도 여간 힘든 일이 아니다. Amazon AWS를 활용하면 모니터링도 간편하지. 요금도 오히려 절감되고 여러 장점들이 많다.
기존 모델도 충분히 사용하기 괜찮지만 몇가지 단점이 존재한다. 첫째는 요금. 사용한 만큼만 낸다는게 장점인데 그것도 더 줄일 수 없을까?? 서버 3대를 빌리면 사용자가 적어도 그것에 대한 요금은 결제를 할 수 밖에 없다. 사용자가 없는 것도 서러운데 돈도 그대로 내야된다니.. 둘째는 서버 내의 OS나 소프트웨어 업데이트는 알아서 해줘야 한다는 것. 서버의 소프트웨어적인 부분의 관리는 신경쓸 수 밖에 없다.
서버리스는 작은 서비스를 배포하기에 좋은 형태의 모델이다. 위에서 언급한 단점을 서버리스는 다 커버가 가능하다. 클라우드 제공 업체가 서버에 대한 관리를 전부 다 담당한다. 이래서 서버리스라는 이름이 붙여진 모양. 게다가 요금 또한 사용자가 api등 이벤트를 발생시킬 때에 한해서 요금이 청부된다. 이벤트 대기 상태에 대한 비용은 지불하지 않아도 되기에 경제적이다.
서버리스(Serverless) , FaaS(Function as a Service)
서버리스에 대해 검색하면 BaaS(Backend as a Service)와 FaaS(Function as a Service)에 대한 언급이 무조건 나온다. 간단하게만 알아보고 넘어가자.
BaaS는 일종의 써드파티 앱이라고 생각하면 된다. 백엔드 기능을 클라우드 공급자가 제공하고 그것을 받아쓰는 형태. 대표적인 예로는 Firebase가 있다.
FaaS는 Function 그러니까 함수를 서비스로 제공한다. 클라우드 공급자가 라이브러리 함수를 제공하는 형태는 아니다. 개발자가 작성한 코드를 업로드를 하면 그것을 함수 단위로 쪼개어서 관리한다. 일단 보관하고 A 함수 호출이 들어오면 A 함수를 실행하는 형태. Event-driven 아키텍처에 적합한 모델이다.
서버리스의 단점
장점을 설명하면서 단점이 어느 정도 유추가 된다.
항상 켜놓는 서버랑 달리 느리다. 트리거가 발생하면 그때 서버가 실행이 되는 구조로 켜지기 까지의 시간이 필요한 편이다.
긴 시간이 필요한 작업에는 부적합 AWS lambda를 기준으로 15분 정도만 실행이 된다고 한다. 게다가 메모리 제한도 있다고 하니 개발할때 큰 기능을 잘게 쪼개는 방식의 개발을 요구한다.
장점도 있고 단점도 있는 서버리스. 서버리스는 토이프로젝트를 만드려는 개발자에게만 적합해보일지도 모른다. 아니면 챗봇처럼 가벼운 프로젝트에만 사용한다던가. 의외로 넷플릭스도 AWS lambda를 활용했다고 한다. 모든 기능을 전적으로 맞긴 것은 아니고 동영상 인코딩과 그 검증은 서버리스를 이용했다고 한다. 코카콜라는 AWS lambda를 사용후 비용을 절감했다고 AWS 사이트의 사용 사례에도 실려있다.
서버리스는 간단하게 서비스를 운영할 수 있으며 운영 비용의 절감 효과까지 챙길 수 있다. 서버리스 시장이 커지는 만큼 관심을 가지고 고민해볼 가치가 있어보인다.
참고
https://www.samsungsds.com/kr/insights/1232763_4627.html
https://www.wallarm.com/what/what-is-serverless-architecture
'AWS lambda' 카테고리의 다른 글
AWS Lambda with Typescript 템플릿 생성하기 (0) | 2023.03.09 |
---|---|
[AWS lambda] Hello API 간단하게 작성해보기 (Feat. Node.js) (0) | 2023.01.04 |
AWS lambda 시작하기 aws 기본 예제 실행 (feat. Node.js) (0) | 2023.01.01 |
AWS CLI 설치 및 설정하기 (0) | 2022.12.28 |
AWS 프리티어 계정을 만들면 바로 해야될 설정(기본 리전 설정, 액세스 키 발급) (0) | 2022.12.23 |