"서버리스라는데 서버가 진짜 없는 건 아니죠?" 맞습니다. 서버는 있습니다. 다만 그 서버를 내가 띄우고 관리하지 않고, 요청이 올 때만 클라우드가 알아서 코드를 실행해 주는 방식이 서버리스입니다. 평소엔 꺼져 있다가 손님이 올 때만 불이 켜지는 무인 매장에 가깝습니다. 직접 항상 켜 두는 서버와 비교하면 차이가 또렷합니다.
전통 서버 vs 서버리스
| 항목 | 전통 서버(상시 가동) | 서버리스 |
|---|---|---|
| 서버 관리 | 내가 띄우고 패치 | 클라우드가 대신 |
| 과금 기준 | 켜 둔 시간만큼 | 실행된 횟수·시간만큼 |
| 트래픽 없을 때 | 그래도 비용 발생 | 거의 0원 |
| 확장 | 직접 대수 늘림 | 자동으로 늘고 줄어듦 |
| 대표 예시 | EC2, 직접 운영 VM | AWS Lambda, Cloud Functions |
핵심 차이는 두 가지입니다. 첫째, 서버를 내가 관리하지 않습니다. 둘째, 요청이 없으면 돈이 거의 안 나갑니다.
동작 방식으로 보기
서버리스 함수(FaaS)는 보통 "이벤트가 오면 코드가 실행"되는 형태입니다. 예를 들어 이미지가 업로드되면 자동으로 썸네일을 만드는 함수는 이렇게 동작합니다.
TEXT
이미지 업로드(이벤트) → 클라우드가 함수 인스턴스 실행
→ 썸네일 생성 코드 동작
→ 끝나면 인스턴스 정리(과금 종료)
요청이 갑자기 1,000건 들어오면 클라우드가 인스턴스를 자동으로 여러 개 띄워 동시에 처리하고, 트래픽이 0이 되면 전부 정리합니다. 내가 서버 대수를 조절할 필요가 없습니다. 단, 한동안 호출이 없다가 처음 실행될 때 준비 시간이 붙는 "콜드 스타트" 지연이 생길 수 있다는 점은 알아 둘 만합니다.
언제 쓰면 좋을까요. 트래픽이 들쭉날쭉한 작업, 가끔 도는 배치, 이벤트 기반 처리(파일 업로드 후 변환, 알림 발송)에 잘 맞습니다. 반대로 항상 일정한 고부하가 걸리거나, 실행이 매우 오래 걸리는 작업은 상시 서버가 더 쌀 수 있습니다. 또 함수 실행 시간 제한이 있어 장시간 작업에는 부적합합니다.
요점 정리
- 서버리스는 서버가 없는 게 아니라, 내가 관리하지 않고 요청 때만 실행되는 방식.
- 트래픽이 없으면 비용이 거의 0이고, 확장은 클라우드가 자동으로 한다.
- 들쭉날쭉·이벤트성 작업에 강하고, 상시 고부하나 장시간 작업엔 약하다.
이벤트로 함수가 실행되고 자동으로 확장되는 서버리스 흐름을 직접 다뤄 보는 실습은 클라우드 트랙에서 회원가입 없이 무료로 할 수 있습니다.