서버리스란서버리스 장단점서버리스 컴퓨팅서버리스 백엔드서버리스 전통 서버 차이점

서버리스(Serverless) vs 상시 실행 서버(Server-based) 차이점과 선택 기준

KUKJIN LEE
KUKJIN LEE
2024년 11월 8일
155

요약하면 상시 실행 서버는 요청이 없어도 서버가 항상 대기 상태로 유지되며, 서버리스(Serverless)는 요청이 있을 때만 함수가 실행되기 때문에 요청이 없을 때는 대기 상태처럼 보여도 실제로는 리소스를 사용하지 않기 때문에 서버리스라고 부릅니다.

 

1. 서버리스(Serverless)란?

서버리스는 서버 인프라를 직접 관리하지 않고, 클라우드 제공업체가 관리하는 환경에서 필요한 순간에만 함수를 실행하는 방식입니다. 예를 들어, AWS Lambda, Vercel, Netlify 등이 대표적인 서버리스 플랫폼입니다. 요청이 있을 때만 서버가 일시적으로 활성화되고, 요청이 끝나면 자동으로 종료되어 리소스를 해제합니다.

서버리스는 "서버가 없다"는 의미가 아닙니다. 클라우드에 서버가 있지만, 개발자가 직접 서버를 운영하거나 관리할 필요가 없는 환경을 서버리스라고 부릅니다.

2. 상시 실행 서버란?

상시 실행 서버는 서버가 항상 실행 상태를 유지하며 요청을 기다리는 전통적인 서버 환경을 의미합니다. 예를 들어, Express.js를 EC2 인스턴스에 배포한 경우 서버가 항상 활성 상태로 클라이언트 요청을 대기합니다. 트래픽이 없더라도 서버는 실행 상태를 유지하며, 사용자가 서버의 모든 자원을 관리하고 유지보수해야 합니다.

3. 서버리스와 상시 실행 서버의 주요 차이점

항목

서버리스(Serverless)

상시 실행 서버

실행 방식

요청이 있을 때만 함수가 실행되고 요청 종료 후 종료됨

요청이 없더라도 서버는 항상 대기 상태로 유지됨

비용 구조

사용한 만큼만 비용 발생

서버 인스턴스 실행 시간만큼 비용 발생

확장성

자동 스케일링 지원

수동으로 인프라 확장 필요

상태 유지

무상태(stateless) 환경, 각 요청은 독립적

상태 유지 가능, 메모리나 세션을 통해 상태 저장 가능

운영 관리

서버 관리 불필요, 클라우드 제공업체가 인프라 관리

서버 유지보수, 보안, 백업 등을 개발자가 직접 관리

적합한 사용 사례

간헐적인 트래픽, 이벤트 기반 실행

지속적인 트래픽, 상태 관리가 중요한 애플리케이션

 

4. 서버리스와 상시 실행 서버, 언제 어떤 것을 선택할까?

서버리스를 선택해야 할 때

  • 트래픽이 일정하지 않고, 이벤트 기반으로 간헐적인 요청이 발생하는 경우

  • 애플리케이션이 매우 빠르게 확장/축소되어야 하는 경우

  • 개발팀이 서버 인프라 관리 대신 애플리케이션 개발에 집중하고 싶은 경우

상시 실행 서버를 선택해야 할 때

  • 지속적이고 예측 가능한 트래픽이 발생하는 경우

  • 각 요청 간에 상태를 유지해야 하거나, 세션 관리를 통해 사용자 경험을 최적화하고 싶은 경우

  • 특정한 서버 환경 또는 설정이 필요한 경우 (예: 특정 라이브러리나 도구 설치 필요)

관련 글

Vercel 서버리스 컴퓨팅이 무엇인지 알아보자

웹사이트나 앱을 만들려면 "서버"라는 게 필요합니다. 서버는 쉽게 말해 여러분의 서비스를 24시간 돌려주는 컴퓨터입니다. 카페로 비유하면, 손님(사용자)이 언제 와도 커피를 내려줄 수 있도록 항상 켜져 있는 커피머신과 같습니다. 그런데 문제가 있습니다. 이 커...

2026년 4월 8일5

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다. 예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다...

2026년 1월 27일10

SQL에서 SELECT란 무엇인가?

데이터베이스를 거대한 서류 보관함이라고 생각하면 됩니다. 보관함 안에는 수많은 데이터가 차곡차곡 쌓입니다. SELECT는 이 보관함에서 "내가 원하는 정보를 찾아줘!"라고 요청하는 명령어입니다. 이 과정을 전문 용어로 '쿼리(Query)'라고 부릅니다. &nbs...

2026년 1월 26일10

[SQL 기초] "언제 하나씩 다 넣어?" 데이터 한 번에 넣기

개발을 하다 보면 데이터베이스(DB)에 샘플 데이터를 대량으로 넣어야 할 때가 있습니다. 메뉴 100개를 추가해야 하는데 INSERT 문을 100번 쓰고 있다면? 너무 비효율적이죠! 오늘은 SQL에서 여러 데이터를 한 번에 넣는 '다중 삽입(Multiple Inse...

2026년 1월 21일13