Day 70 · 4/5
🌳 고급 인프라

서버리스(Serverless)가 뭔가요?

쉽게 이해하기

자가용(전통 서버)은 안 타도 주차비와 보험료가 나가지만, 택시(서버리스)는 탈 때만 돈을 내요. 서버리스는 요청이 들어올 때만 서버가 켜져서 코드를 실행하고, 끝나면 꺼져요. 트래픽이 적으면 비용도 거의 안 나가죠.

핵심 정리

서버를 직접 관리하지 않고, 필요할 때만 코드가 실행되는 방식이에요

자세히 알아보기

서버리스(Serverless)는 서버가 없다는 뜻이 아니라, 개발자가 서버를 관리하지 않아도 된다는 뜻이에요. 전통적인 서버는 24시간 켜져 있어야 하고, 트래픽에 맞춰 서버를 늘리거나 줄이는 작업(스케일링)을 개발자가 직접 해야 했어요. 서버리스는 이 모든 걸 클라우드 회사가 자동으로 해줘요. 동작 방식은 이래요. 사용자가 API를 호출하면, 클라우드 서비스(AWS Lambda, Vercel Functions 등)가 그 순간 서버를 켜서 코드를 실행하고, 응답을 보낸 뒤 서버를 꺼요. 이 과정이 밀리초 단위로 일어나니까 사용자는 서버가 꺼졌다 켜지는 걸 못 느껴요. 요청이 1개 들어오면 서버 1개가, 1000개 들어오면 자동으로 1000개가 켜지니까 스케일링 걱정이 없어요. 장점은 비용이에요. 트래픽이 거의 없는 개인 프로젝트는 한 달에 몇 십 원밖에 안 나와요. 요청이 없으면 비용이 0원이거든요. 또 서버 관리, OS 업데이트, 보안 패치 같은 걸 신경 쓸 필요 없어요. 단점은 콜드 스타트(Cold Start)예요. 서버가 꺼져 있다가 켜지는 데 몇 백 밀리초가 걸려서, 첫 요청이 느릴 수 있어요. 또 실행 시간 제한이 있어서(보통 10초~15분), 오래 걸리는 작업은 못 해요. 실시간 스트리밍이나 게임 서버처럼 계속 연결을 유지해야 하는 서비스에는 안 맞아요. 실무에서는 API, 이미지 리사이징, 이메일 발송, 예약 작업 같은 짧고 단순한 작업에 많이 써요.