ST-KEDA: Predictive Cost-Aware Autoscaling for Kubernetes Microservices via Spectral- Temporal Demand Forecasting
ST-KEDA는 변분 모드 분해(Variational Mode Decomposition)와 토폴로지 인식 협력형 LSTM 예측을 실시간 비용 추정과 결합하여, 엄격한 SLA 준수를 유지하면서 인프라 비용과 스케일링 지연 시간을 획기적으로 줄이는 쿠버네티스 마이크로서비스를 위한 예측적이고 비용 인식적인 오토스케일링 프레임워크입니다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
현대적인 소프트웨어는 종종 하나의 거대한 프로그램이 아니라, 마이크로서비스라고 불리는 작고 독립적인 부분들의 집합체로서 실행됩니다. 이 부분들은 복잡한 문제를 해결하기 위해 서로 노트를 전달하는 팀처럼 끊임없이 서로 대화를 나눕니다. 이 팀이 원활하게 운영되도록 하기 위해, 이들을 호스팅하는 컴퓨터는 자동으로 전력을 조절해야 합니다. 만약 동시에 웹사이트를 방문하는 사람이 너무 많아지면, 시스템은 즉시 더 많은 일꾼을 추가해야 합니다. 트래픽이 줄어들면, 비용을 절감하기 위해 일꾼들을 보내야 합니다. 이러한 자동 조절을 오토스케일링(autoscaling)이라고 부릅니다. 현재 대부분의 시스템은 느려진 응답 시간과 같은 문제를 목격한 후에야 반응합니다. 이러한 반응에는 몇 분의 시간이 걸리는데, 디지털 세계에서 이 지연은 영겁의 시간처럼 느껴지며 사용자에게 랙(lag)이나 오류를 경험하게 합니다. 더욱이, 이 시스템을 관리하는 사람들은 각 특정 조정 작업에 비용이 얼마나 드는지에 대한 명확하고 즉각적인 관점을 갖지 못해, 성능과 예산 사이의 균형을 맞추는 데 어려움을 겪습니다.
말레이시아 멀티미디어 대학교의 연구팀은 이 두 가지 문제를 동시에 해결하기 위해 설계된 새로운 시스템을 개발했습니다. 그들은 이 프레임워크를 ST-KEDA라고 부릅니다. 트래픽이 급증할 때까지 기다렸다가 반응하는 대신, 이 시스템은 트래픽이 발생하기 전에 이를 예측하려고 시도합니다. 또한 모든 개별 동작에 대한 비용을 실시간으로 집계하여, 속도를 희생하지 않으면서도 돈을 아낄 수 있는 결정을 내릴 수 있게 합니다. 연구진은 이 시스템을 11개의 서로 다른 서비스가 있는 온라인 쇼핑몰과 41개의 서비스가 있는 기차표 예약 시스템이라는 두 가지 실제 세계의 복잡한 소프트웨어 사례에 대해 테스트했습니다. 그들의 연구 결과에 따르면, 앞을 내다보고 모든 움직임의 재정적 영향을 이해함으로써, 이 시스템은 인프라 비용을 3분의 1 이상 절감하는 동시에 일꾼을 급하게 추가하거나 제거하는 횟수를 획기적으로 줄일 수 있었습니다.
문제의 핵심은 현재의 시스템이 문제를 감지하는 방식에 있습니다. 표준 도구들은 프로세서가 얼마나 바쁜지와 같은 컴퓨터의 현재 작업량을 모니터링합니다. 작업량이 특정 선을 넘으면, 시스템은 더 많은 컴퓨터 전력을 주문합니다. 그러나 급증을 감지하고, 필요를 계산하고, 새로운 컴퓨터를 찾고, 필요한 소프트웨어를 다운로드하여 새로운 일꾼을 시작하는 데 걸리는 시간은 상당합니다. 연구진의 테스트에서 이 전체 과정은 평균적으로 거의 5분이 소요되었습니다. 이 시간 동안 시스템은 과부하 상태가 되며, 사용자는 고통을 겪습니다. 새로운 접근 방식인 ST-KEDA는 전략을 반응형에서 예측형으로 바꿉니다. 이 시스템은 트래픽 패턴의 이력을 살펴보고 향후 몇 분 동안 어떤 일이 일어날지 추측합니다.
이러한 추측을 정확하게 만들기 위해, 시스템은 먼저 복잡한 트래픽 이력을 더 단순하고 이해하기 쉬운 조각들로 분해합니다. 번화한 거리의 시끄러운 녹음 파일을 상상해 보십시오. 그 안에는 교통의 꾸준한 웅성거림, 출퇴근 시간의 리드미컬한 패턴, 그리고 자동차 경적과 같은 갑작스럽고 날카로운 소리가 포함되어 있습니다. 연구진은 이러한 서로 다른 리듬을 소음으로부터 분리하기 위해 수학적 기법을 사용했습니다. 그들은 이러한 별개의 패턴들—꾸준한 추세, 일일 주기, 그리고 갑작스러운 스파이크—을 연구함으로써, 컴퓨터가 단순히 무질서한 데이터만을 볼 때보다 트래픽을 훨씬 더 잘 이해할 수 있다는 것을 발견했습니다. 이러한 분리는 예측 엔진이 단순히 혼돈이 아닌 수요의 근본적인 구조를 볼 수 있게 해주었습니다.
그 다음으로, 시스템은 소프트웨어의 각 부분이 서로 어떻게 의존하는지를 이해하는 정교한 학습 모델을 사용합니다. 마이크로서비스 아키텍처에서는 한 부분이 종종 다른 부분을 트리거합니다. 예를 들어, 사용자가 "구매"를 클릭하면 재고 확인이 트리거될 수 있고, 이는 다시 결제 프로세스를 트리거합니다. 만약 시스템이 "구매" 클릭의 급증을 예측한다면, 시스템은 재고 및 결제 서비스가 바빠지는 징후를 보이기 전이라도 이 서비스들에 더 많은 전력이 필요할 것임을 알게 됩니다. 이러한 연결 관계를 매핑함으로써, 시스템은 전체 서비스 체인을 동시에 준비할 수 있습니다. 이는 한 부분은 준비되었지만 다음 부분이 아직 깨어나지 못해 발생하는 지연을 방야합니다.
결정적으로, 이 시스템은 속도만을 신경 쓰는 것이 아니라 가격표도 신경 씁니다. 클라우드 컴퓨팅 서비스는 사용되는 모든 컴퓨터 프로세서와 메모리 단위에 대해 분 단위로 비용을 청구합니다. 연구진은 모든 결정의 비용을 거의 실시간으로 계산하는 레이어를 시스템에 구축했습니다. 전통적인 청구서가 도착하는 데는 며칠이 걸릴 수 있지만, 이 시스템은 변경 사항이 발생한 후 몇 초 이내에 비용을 추정합니다. 이 시스템은 새로운 컴퓨터 인스턴스가 다음 한 시간 동안 얼마의 비용이 들지 정확히 알고 있습니다. 이를 통해 시스템은 절충안을 결정할 수 있습니다. 즉, 약간의 속도 저하 가능성을 감수하더라도 비용을 아끼기 위해 일꾼의 수를 약간 낮게 유지할 것인지, 아니면 완벽한 속도를 보장하기 위해 더 많은 비용을 쓸 것인지를 결정할 수 있습니다. 연구진은 비용 문제를 우선시하는 설정을 테스트했으며, 이 설정은 운영 비용을 34.7% 줄이는 데 성공했습니다.
테스트 결과는 놀라웠습니다. 표준적인 반응형 시스템과 비교했을 때, 새로운 접근 방식은 새로운 트래픽에 적응하는 데 걸리는 시간을 거의 5분에서 단 8초로 단축했습니다. 이 속도 덕분에 시스템은 거의 뒤처지지 않았습니다. 연구진은 또한 시스템이 과잉 반응하여 일꾼을 너무 많이 추가했다가 즉시 제거하고 다시 추가하는 현상인 '플래핑(flapping)'을 측정했습니다. 이러한 끊임없는 전환은 낭비적이고 불안정합니다. 새로운 시스템은 이러한 혼란스러운 행동을 96.6% 감소시켜 훨씬 더 매끄러운 운영을 만들어냈습니다. 시스템이 비용 문제를 무시하고 성능에만 집중하도록 허용했을 때, 느린 응답의 수는 표준 시스템의 8%에 비해 단 2%로 떨어졌습니다.
이 연구는 설계의 특정 구성 요소들이 모두 필요하다는 점을 밝혀냈습니다. 트래픽 패턴을 분해하는 능력을 제거했을 때 예측은 덜 정확해졌습니다. 서비스 간의 연결 관계를 이해하는 능력을 제거했을 때, 시스템은 하류(downstream) 부분들을 제때 준비시키는 데 실패했습니다. 그리고 비용 추적 기능을 제거했을 때, 시스템은 그토록 큰 절감을 이끌어낼 수 있는 스마트한 절충안을 더 이상 만들 수 없었습니다. 연구진은 시스템이 비용과 속도 모두를 고려하도록 조정되었을 때 최상의 균형이 달성된다는 것을 발견했습니다. 즉, 막대한 재정적 절감을 위해 느린 응답을 아주 미세하게 수용하는 것입니다.
이 작업은 복잡한 소프트웨어 시스템을 관리하는 것이 반드시 따라잡기 게임이 될 필요는 없다는 것을 보여줍니다. 트래픽 패턴이 어떻게 진화하는지에 대한 깊은 이해, 서로 다른 소프트웨어 부분들이 어떻게 의존하는지, 그리고 모든 결정이 정확히 얼마의 비용이 드는지를 결합함으로써, 이러한 시스템을 더 효율적이고 저렴하게 운영하는 것이 가능합니다. 연구진은 두 가지 유형의 애플리케이션에 대해 아이디어를 테스트했으며, 이는 이 접근 방식이 다양한 종류의 워크로드를 처리할 수 있을 만큼 견고하다는 것을 시사합니다. 이 시스템은 특정 클라우드 환경에서 테스트되었지만, 수요를 예측하고 의사 결정 루프에 비용을 통합하는 원칙은 대규모 디지털 서비스를 관리하는 모든 이들에게 명확한 길을 제시합니다. 클라우드 컴퓨팅의 미래는 단지 더 많은 전력을 갖는 것이 아니라, 그것을 정확히 언제 어떻게 사용할지 아는 것에 달려 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.