OPENMARU APM: 쿠버네티스 HPA의 한계를 넘어, 지능형 오토스케일링을 구현하다.
Horizontal Pod Autoscaler (HPA)는 서비스의 안정성과 효율성을 동시에 잡을 수 있는 핵심 기능입니다.
HPA의 한계점: CPU와 메모리만으로 충분할까?
쿠버네티스 HPA는 기본적으로 Pod의 CPU 및 메모리 사용량을 기준으로 스케일 아웃을 결정합니다. 이는 대부분의 상황에서 효과적이지만, 웹 애플리케이션의 복잡한 특성을 모두 반영하기에는 한계가 있습니다. 예를 들어, CPU 사용률이 낮더라도 수많은 사용자가 동시에 접속해 트래픽이 몰리는 상황이라면, 애플리케이션은 사용자에게 지연을 초래할 수 있습니다. 반대로, CPU 사용량이 높아지더라도 실제 사용자 경험에는 큰 영향을 미치지 않는 경우도 있습니다.
웹 애플리케이션을 위한 커스텀 매트릭 기반 HPA의 필요성
이러한 한계점을 극복하기 위해 등장한 것이 바로 커스텀 매트릭(Custom Metric) 기반 HPA입니다. 웹 애플리케이션의 성능을 정확히 파악하고 유연하게 대처하기 위해서는, 단순히 CPU나 메모리 사용량 외에 비즈니스 로직과 관련된 실제 지표를 활용해야 합니다.
가장 효과적인 커스텀 매트릭으로 APM(Application Performance Monitoring) 시스템에서 제공하는 지표를 활용할 수 있습니다. APM은 애플리케이션의 성능을 실시간으로 모니터링하고 분석하는 솔루션으로, 웹 애플리케이션의 실제 상태를 보여주는 귀중한 데이터를 제공합니다. 특히 TPS(초당 트랜잭션 수), 액티브 유저 수, 그리고 지연 트랜잭션과 같은 지표는 웹 서비스의 부하 상태를 정확하게 나타내어 HPA를 훨씬 더 정교하게 만들 수 있습니다.
커스텀 매트릭 활용의 함정: ‘무조건적인 스케일 아웃’의 위험성
하지만 단순히 TPS나 액티브 유저 수가 높다고 해서 무조건 스케일 아웃을 하는 것은 오히려 문제를 악화시킬 수 있습니다. 예를 들어, 애플리케이션의 응답 지연이 DBMS SQL 이나 MSA환경에서 외부 HTTP REST API 호출과 같은 외부 시스템의 병목 현상 때문에 발생했다면, Pod 수를 늘리는 것은 근본적인 해결책이 될 수 없습니다. 오히려 Pod 수가 늘어나면서 외부 시스템에 대한 요청이 급증해 병목 현상을 가중시키고, 결국 전체 서비스의 지연을 더욱 심화시키는 결과를 초래할 수 있습니다.
따라서, 커스텀 매트릭을 기준으로 HPA를 실행하되, 단순히 지표의 수치가 높다고 판단하는 것이 아니라 “스케일 아웃이 필요한 상황인지, 아니면 외부 시스템 지연으로 인한 병목 상황인지“를 정확하게 판단하는 것이 매우 중요합니다.
OPENMARU APM을 활용한 지능형 HPA 구현
이러한 문제를 해결하기 위해, 저희 OPENMARU APM은 쿠버네티스 HPA를 위한 지능적인 커스텀 매트릭을 제공합니다. OPENMARU APM은 단순한 TPS나 액티브 유저 수 외에도, 지연 트랜잭션의 원인을 분석하여 HPA가 필요한 상황을 정확하게 판단합니다.
OPENMARU APM이 제공하는 커스텀 매트릭은 다음과 같은 시나리오를 바탕으로 설계되었습니다.
1. 스케일 아웃이 필요한 경우
SQL, HTTP REST API 응답은 빠르지만, DB Connection Pool 및 HTTP Connection Pool이 부족하여 새로운 연결을 획득하는 데 시간이 오래 걸리는 경우입니다.
이때는 Pod 수를 늘려 요청을 분산함으로써 Connection Pool에 대한 경쟁을 완화하고 응답 속도를 개선할 수 있습니다.
2. 스케일 아웃이 필요없는 경우
SQL, HTTP REST API 등 외부 호출 자체가 느려서 지연이 발생하는 경우입니다. 이 경우 Pod 수를 늘려도 근본적인 문제는 해결되지 않으며, 오히려 외부 시스템의 부하를 가중시킬 수 있습니다.
실제 데모 화면
맺음말(마무리)
정리하자면, 오토스케일링을 OPENMARU APM의 커스텀 매트릭과 결합하면 단순한 리소스 사용량 기반이 아닌, 실제 애플리케이션 부하와 병목 원인을 고려한 정확하고 지능적인 스케일링이 가능합니다.
여기에 OPENMARU COP의 강력한 통합 관리·배포 환경이 더해지면, 개발·운영팀 모두가 한 플랫폼에서 효율적으로 협업하며, 성능 최적화와 운영 안정성을 동시에 확보할 수 있습니다.
즉, “OPENMARU APM + OPENMARU COP“ 조합은 클라우드 네이티브 시대에 가장 스마트한 HPA 운영을 실현하는 최고의 선택입니다.
References
- [자료 다운로드] 운영자가 알아야 하는 쿠버네티스 이전과 이후 비교
- [자료 다운로드] 컨테이너(Container) 와 쿠버네티스(Kubernetes)
- [자료 다운로드] 구글 이 오픈소스로 공개한 쿠버네티스 핵심
- [자료다운로드] 쿠버네티스 아키텍처 완벽 가이드 : 구조와 동작 원리 A to Z
- [자료 다운로드] 쿠버네티스 는 왜 어려운가?
- 쿠버네티스 Private 컨테이너 레지스트리 구축 방법
- Kubernetes (쿠버네티스) 도입을 가로막는 오해와 장벽 12가지
- 쿠버네티스 를 통한 운영 자동화, 이해해야 신뢰할 수 있어요.
- 쿠버네티스(Kubernetes)란 무엇인가요?
- 가상화 엔지니어가 Kubernetes 를 이해하지 못하는 이유는?
Cloud Native Korea Community Day 2024 – 생생했던 현장을 공개합니다!
/카테고리: Kubernetes, Seminar/작성자: 오픈마루 마케팅0Cloud Native Korea Community Day 2024 – 오픈마루 부스에서 이벤트 참여하세요!
/카테고리: Kubernetes, Seminar/작성자: 오픈마루 마케팅0Cloud Native Korea Community Day 2024 – 오픈마루가 여러분을 초대합니다!!
/카테고리: Kubernetes, Seminar/작성자: 오픈마루 마케팅0