Waylog Blog

AWS EC2 vs Lambda: 서버리스(Serverless)의 경제학

Cloud

클라우드에 서버를 띄울 때 가장 먼저 하는 고민입니다. "EC2를 빌릴까, 아니면 쿨하게 Lambda를 쓸까?" 이 선택에 따라 비용이 0원이 될 수도, 폭탄을 맞을 수도 있습니다.

1. EC2 (Elastic Compute Cloud)

가상의 컴퓨터를 한 대 임대하는 겁니다. (IaaS)

  • 과금: 켜놓은 시간만큼 돈을 냅니다. 서버를 24시간 켜놔야 한다면 EC2가 쌉니다.
  • 관리: OS 패치, 로드 밸런싱, 스케일링 설정 등을 직접 해야 합니다(물론 Auto Scaling Group이 도와주지만).
  • 비유: 월세 내고 빌린 자취방. 내 맘대로 꾸밀 수 있지만 청소도 내가 해야 함.

2. AWS Lambda (Serverless)

코드(함수)만 올리면 실행될 때만 서버가 떴다가 사라집니다. (FaaS)

  • 과금: 함수가 실행된 횟수와 시간(ms)만큼만 돈을 냅니다. 요청이 없으면 0원입니다.
  • 관리: 서버 관리를 AWS가 다 해줍니다. 그냥 코드만 짜면 됩니다.
  • 비유: 코인 노래방. 부른 만큼만 냄. 근데 방 꾸미기는 못함.

3. Cold Start 문제

Lambda는 오랫동안 실행되지 않다가 갑자기 호출되면, 서버를 띄우는 데 시간이 걸려서 응답이 느려질 수 있습니다. 이를 콜드 스타트라고 합니다. Java나 Spring 같은 무거운 런타임은 이게 심해서, Node.js나 Python을 선호합니다.

4. 선택 기준

  • EC2: 트래픽이 꾸준하게 일정한 서비스, 긴 연결이 필요한 경우(웹소켓, 게임 서버), 딥러닝 학습.
  • Lambda: 트래픽이 들쑥날쑥한 서비스(티켓팅, 이벤트), 간헐적인 배치 작업(이미지 리사이징), API 서버의 프로토타입.

스타트업 초기에는 Lambda로 시작해서 관리 비용을 아끼고, 트래픽이 일정한 수준으로 올라오면 EC2로 이사 가는 전략이 국룰입니다.