💰 비용 및 성능 최적화 비교: 고성능 단일 vs 저성능 다중
1단계: 초기 구축 비용 (서버 단가 비교)
AWS 인스턴스는 사양이 높아질수록 가격이 기하급수적으로 비싸지는 경향이 있습니다.
- 고성능 단일 서버: 100만 명의 피크 트래픽을 한 대가 감당하려면 매우 높은 등급의 인스턴스를 빌려야 하며, 이는 시간당 고정 단가가 매우 높습니다.
- 저성능 다중 서버: 상대적으로 저렴한 범용 인스턴스를 여러 대 사용합니다. 총 연산 성능이 같더라도, 범용 인스턴스 여러 대의 합산 가격이 최상위급 단일 인스턴스보다 저렴한 경우가 많습니다.
2단계: 유휴 시간 비용 (오토스케일링의 핵심)
서버 비용은 '성능'보다 '켜져 있는 시간'이 더 큰 영향을 미칩니다.
- 고성능 단일 서버: 사용자가 없는 새벽에도 100만 명 대응용 서버를 낮과 똑같은 가격으로 24시간 켜두어야 합니다. 자원의 90% 이상이 낭비되지만 돈은 다 나갑니다.
- 저성능 다중 서버 (Auto Scaling): 트래픽이 적을 때는 서버를 1대만 남기고 모두 끕니다. 트래픽이 몰릴 때만 서버를 자동으로 늘립니다. 실제로 일하는 만큼만 서버 비용을 지불하므로 월말 전체 비용은 단일 서버보다 훨씬 낮아집니다.
3단계: 관리 및 안정성 기회 비용
- 고성능 단일 서버: 서버 한 대가 고장 나면 서비스 전체가 멈추고 복구될 때까지 매출 손실이 발생합니다.
- 저성능 다중 서버: 한 대가 죽어도 나머지 서버들이 업무를 분담하므로 서비스가 유지됩니다. 복구 과정이 자동화되어 있어 운영 인건비(기회비용)가 절감됩니다.
🛠️ 왜 쿠버네티스(K8s)가 필요 없는가?
"오토스케일링 = 쿠버네티스"라고 생각하기 쉽지만, 사실은 그렇지 않습니다.
- AWS 자체 기능 활용 (EC2 Auto Scaling Group):
AWS에는 쿠버네티스 없이도 서버를 자동으로 늘리고 줄여주는 **ASG(Auto Scaling Group)**라는 강력한 기본 서비스가 있습니다. 사용자가 정의한 규칙(예: CPU 70% 이상 시 서버 추가)에 따라 서버를 복제해주기 때문에, 별도의 복잡한 소프트웨어(K8s)를 설치하거나 배울 필요가 없습니다.
- K8s의 고정 유지비 회피:
쿠버네티스를 쓰면 이를 관리하는 '마스터 노드' 비용이 매달 고정적으로 발생합니다(EKS 기준 월 약 10만 원 이상). 단일 목적의 워커를 돌리는 우리 시스템에서는 이 비용 자체가 낭비입니다. ASG는 별도의 관리비 없이 오직 늘어난 EC2 비용만 내면 됩니다.
- 단순한 이미지 관리 (AMI):
쿠버네티스는 '컨테이너'를 관리하지만, ASG는 우리가 만든 서버 상태 그대로인 '이미지(AMI)'를 관리합니다. 워커 코드가 들어있는 서버 이미지만 하나 만들어두면 AWS가 이를 복사해서 띄우기 때문에 구조가 훨씬 직관적이고 단순합니다.