스케일 업
기존 서버의 하드웨어 성능을 높여 처리 능력을 향상시키는 수직 확장 방식입니다.
동작 방식
Before: [CPU 4core, RAM 8GB, SSD 500GB]
↓ 업그레이드
After: [CPU 16core, RAM 64GB, SSD 2TB]
서버 대수는 그대로, 성능만 향상
장단점
장점
O 구현 단순 (서버 추가 없음)
O 분산 환경 고려 불필요
O 데이터 정합성 유지 쉬움
O 관리 포인트 적음
단점
X 물리적 한계 존재 (무한 업그레이드 불가)
X 고사양일수록 비용 급증 (가격이 선형이 아닌 지수적 증가)
X 업그레이드 시 다운타임 발생
X 단일 장애점 (서버 1대 장애 = 전체 장애)
비용 문제
CPU 4core → 8core : 2배 성능, 3배 비용
CPU 8core → 16core : 2배 성능, 4배 비용
CPU 16core → 32core : 2배 성능, 6배 비용
성능은 선형 증가, 비용은 지수적 증가 X
언제 선택하나?
O RDB (MySQL, PostgreSQL)
→ 분산 환경에서 정합성 유지가 어렵기 때문에
→ 단일 서버 성능을 높이는 것이 현실적
O 서비스 초기 단계
→ 트래픽이 적고 구조가 단순할 때
→ 스케일 아웃보다 빠르고 쉬운 해결책
O 단기간 빠른 성능 향상이 필요할 때
→ 스케일 아웃 준비가 안 된 상황
실무에서의 현실
일반적인 흐름
1단계: 서비스 초기 → 단일 서버
2단계: 트래픽 증가 → 스케일 업으로 버팀
3단계: 스케일 업 한계 도달 → 스케일 아웃으로 전환
RDB는 스케일 업 ─┐
WAS/캐시는 스케일 아웃 ─┤ 혼합 사용
스케일 업은 "빠르고 단순하지만 한계가 명확한 확장 방식" 입니다. 서비스 초기나 RDB처럼 분산이 어려운 환경에서 유효하지만, 장기적으로는 스케일 아웃과 병행하는 전략이 필요합니다.