korean-docs
Wave vs HPA, VPA, Prometheus

Wave와 HPA, VPA, Prometheus 비교

HPA, VPA, Prometheus 같은 오픈소스 도구(그리고 Amazon EKS와 OpenShift의 관리형 오토스케일러)는 Kubernetes 스케일링과 관찰성(observability)의 기본기를 다룹니다. Wave는 여기서 비어 있는 부분을 채웁니다. 이런 도구 위에 직접 만들어야 했던 수동 루프를 권고(advise)하고 자동화(automate)합니다. 문제를 진단하고 알맞은 설정을 권고한 다음, ML 기반 Day 2 운영을 적용합니다.

HPA와 비교

Wave의 Wave Autoscale 서브 브랜드는 HPA를 대체하고 확장합니다. Wave Autoscale의 세 가지 기능이 HPA의 흔한 문제점을 해결합니다.

  • Autopilot은 HPA의 정적 임계값 기반 스케일링을 대체합니다.
  • Autopilot Scheduler는 알려진 이벤트에 대해 cron 기반으로 HPA를 수동으로 수정하던 방식을 대체합니다.
  • Min/Max RecommendationminReplicas / maxReplicas 값을 추측으로 정하던 방식을 대체합니다.
항목HPAWave Autoscale
응답 시간30초~5분10초 미만 (Autopilot)
스케일링 로직정적 CPU/메모리 임계값워크로드별 ML (Autopilot), 학습 전에는 HPA 공식으로 폴백
Min/max 범위수동 추측데이터 기반 권고 (Min/Max Recommendation)
일정 기반 스케일링없음, cron과 수동 수정 필요Autopilot Scheduler, UI로 설정
안전 / 모니터링 모드없음ML과 HPA를 나란히 비교하는 차트 제공, 스케일링에 영향 없음

VPA와 비교

Wave의 Wave Sizing 서브 브랜드는 Pod를 인식하는 라이트사이징 도구인 Smart Sizing으로 VPA를 대체합니다.

항목VPAWave Sizing
주기정적인 주기적 권고지속적 (10분 분석 주기)
적용 방식Pod 축출 후 재생성requests/limits를 인플레이스(in-place)로 패치
HPA 호환성CPU 기준에서 HPA와 충돌Autopilot과 깔끔하게 함께 사용 가능

"Prometheus + HPA" 패턴과 비교

Wave는 Prometheus를 대체하지 않습니다. Wave는 자체 메트릭 수집 방식인 WA Metrics Agent를 사용하며, 워크로드에 대한 부하가 Prometheus 수집 대비 약 75% 가볍습니다. 대시보드는 Wave의 Prometheus export 기능을 통해 기존 Prometheus / Grafana를 그대로 사용할 수 있습니다.

Wave가 대체하는 것은 "Prometheus를 스크랩하고, 커스텀 룰을 작성하고, HPA가 스칼라 값에 반응하는" 패턴 자체입니다. 이 패턴은 반응적이고 취약합니다. Wave의 ML은 같은 메트릭을 직접 소비해 의사 결정을 내립니다.

항목Prometheus + HPAWave
워크로드에 대한 수집 부하Prometheus scraper + node-exporterWA Metrics Agent (약 75% 가벼움)
예측 범위반응형 (현재 시점)7~30일 예측 (Wave Diagnosis)
의사 결정 계층수동 룰 + HPA 반응하나의 ML 기반 의사 결정 계층
대시보드Grafana기존 Grafana 유지, Wave가 Prometheus 메트릭을 export

기본 트래픽 보호 방식과 비교

Wave의 Wave Flow 서브 브랜드는 WASM을 통해 Istio 위에 우선순위 기반 트래픽 보호 계층을 추가합니다. 이 기능이 없으면 Istio 클러스터는 부하가 걸렸을 때 모든 요청을 동일한 방식으로 큐잉합니다.

항목기본 Istio / EnvoyWave Flow
우선순위 제어서비스별 커스텀 Envoy 필터WASM 기반, 라우트 클래스별로 설정
요청 클래스 인식기본적으로 없음있음 (checkout, analytics 등 구분)
과부하 시 동작균일하게 드롭하거나 큐잉우선순위 높은 트래픽은 보호하고 나머지는 차단(shed)

Wave가 대체하지 않는 영역

  • CNI(Cilium, Calico, AWS VPC CNI 등): Wave는 네트워크 플러그인이 아닙니다.
  • 컨트롤 플레인: Wave는 kube-apiserver, etcd, 스케줄러를 수정하지 않습니다.
  • 서비스 메시 자체: Wave Flow는 Istio 위에서 동작하므로 Istio는 별도로 설치해야 합니다.
  • 컨테이너 런타임, OS, 레지스트리: Wave는 애플리케이션 레이어에서 동작합니다.

다음 단계