Cost vs Performance 최적화
Autopilot은 비용 절감과 성능 요구 사이의 균형을 맞추는 두 가지 스케일링 전략을 제공합니다. 워크로드의 비즈니스 중요도와 지연 시간 요구사항에 따라 전략을 선택하세요.
전략 비교
| Optimize for Performance | Optimize for Cost | |
|---|---|---|
| 우선순위 | 응답성과 여유 용량 | 효율성과 비용 절감 |
| 용량 | 스파이크에 대비해 여유 용량 확보 | 한계치에 가깝게 운영 |
| 적합한 대상 | 사용자 대면, 지연에 민감한, 매출에 직결되는 서비스 | 내부 도구, 배치 작업, 지연에 관대한 서비스 |
| 트레이드오프 | 안정성을 위해 비용 상승 | 비용은 낮지만 스파이크 여유는 적음 |
Performance 최적화
동작 방식: 더 큰 용량 버퍼를 유지하고, 레플리카 계산값을 올림 처리하며, 더 낮은 사용률 목표치를 유지합니다.
적합한 대상:
- 엄격한 SLA(p99 100ms 미만)를 요구하는 사용자 대면 서비스
- 매출에 직결되는 경로(checkout, 결제, 인증)
- 트래픽이 많은 프로덕션 API
- 지연 시간이 사용자 경험에 직접 영향을 주는 서비스
예시 애플리케이션: 이커머스 checkout 플로우, 실시간 입찰 시스템, 동영상 스트리밍 API, 인증/인가 서비스
빠른 설정
Scaling Strategy: Optimize for Performance
Min Replicas: 5
Max Replicas: 30
Gradual Scaling: 120s
Predictive Scaling: Enabled예상 동작: 10~20%의 여유 용량을 유지하고, 트래픽이 몰리기 전에 미리 스케일 업하며, 짧은 시간의 과잉 프로비저닝은 허용합니다.
Cost 최적화
동작 방식: 더 높은 사용률을 목표로 하고, 일반적인 방식으로 반올림하며, 안정성을 유지하면서도 더 적극적으로 scale down합니다.
적합한 대상:
- 내부 도구 및 관리자 대시보드
- 백그라운드 처리 및 배치 작업
- 개발/스테이징 환경
- 지연 요구사항이 느슨한 서비스(500ms 초과도 허용)
예시 애플리케이션: 데이터 처리 파이프라인, 리포트 생성 서비스, 분석 데이터 수집, 내부 API 및 도구
빠른 설정
Scaling Strategy: Optimize for Cost
Min Replicas: 2
Max Replicas: 15
Gradual Scaling: 60s
Predictive Scaling: Disabled예상 동작: 용량 한계치에 가깝게 운영하고, 트래픽이 적을 때는 빠르게 scale down하며, 갑작스러운 스파이크 시 짧은 지연 시간 증가는 감수합니다.
전략 선택하기
Performance를 사용해야 할 때
- 서비스에 엄격한 SLA 요구사항이 있을 때
- 지연 시간이 매출이나 사용자 경험에 직접 영향을 줄 때
- 트래픽 스파이크를 예측하기 어려울 때
- 서비스 성능 저하보다 과잉 프로비저닝을 선호할 때
Cost를 사용해야 할 때
- 서비스가 가끔의 지연 스파이크를 견딜 수 있을 때
- 트래픽이 예측 가능하거나 지연에 둔감할 때
- 예산 최적화가 우선일 때
- 고객 대면이 아닌 서비스일 때
공통 패턴
🎯 계층별 접근 (동일 애플리케이션, 다른 서비스)
Frontend API: Performance (user-facing)
Order Processing: Performance (revenue-critical)
Product Catalog: Cost (cached, less sensitive)
Analytics Pipeline: Cost (background job)동일한 애플리케이션 내에서도 서비스의 중요도에 따라 다른 전략을 적용합니다.
⏰ 시간 기반 접근 (동일 서비스, 다른 시간대)
Autopilot Scheduler를 사용해 전략을 전환합니다.
- 업무 시간(오전 9시~오후 6시): Performance 모드
- 업무 외 시간(오후 6시~오전 9시): Cost 모드
- 주말: Cost 모드
예상 트래픽 패턴에 따라 최적화를 자동으로 조정합니다.
선택한 전략 모니터링하기
활성화한 후에는 다음 지표를 관찰하세요.
Performance 모드 경고 신호:
- 평균 CPU가 지속적으로 50% 미만
- 유휴 레플리카가 오래 지속됨
- 트래픽은 적은데 클라우드 비용이 높음
해결 방법: Cost 모드로 전환하거나 Max Replicas를 낮추세요
Cost 모드 경고 신호:
- 트래픽 증가 시 P99 지연 시간 급증
- 에러율이 스케일링 이벤트와 함께 증가
- 사용자가 느리다고 보고함
해결 방법: Performance 모드로 전환하거나 Predictive Scaling을 활성화하세요
빠른 의사결정 가이드
스스로에게 물어보세요: "이 서비스가 30초 동안 느려지면 어떻게 될까?"
- 매출 손실 / 사용자 불만 발생: Performance 사용
- 아무도 눈치채지 못함 / 허용 가능: Cost 사용
예시: 이커머스 사이트
| Service | Strategy | Why |
|---|---|---|
| Checkout API | Performance | 매출에 직접 영향 |
| Product Search | Performance | 핵심 사용자 경험 |
| Product Details | Cost | 캐시됨, 시간에 덜 민감 |
| Order History | Cost | 비동기, 백그라운드 조회 |
| Email Service | Cost | 큐잉됨, 실시간 요구 없음 |
다음 단계
- Predictive Scaling: 두 전략 모두에 포캐스팅을 추가해 트래픽 증가 전에 미리 대응하기
- Autopilot Scheduler: 시간에 따라 전략을 자동으로 전환하기
- Timing Controls: 전략에 맞게 scale-down 동작 세밀하게 조정하기