Microservice is an architectural style that has been widely adopted in various user-facing, latency- sensitive applications. Microservice breaks down a monolithic application into numerous distributed, intercommunicating microservices for simpler development and robust operation. Similar to the monolith, autoscaling has attracted the attention of operators for managing resource utilization of microservices. However, existing autoscalers can not allocate resources targeting latency service-level-objective (SLO) without human intervention. In this paper, we present GRAF, a machine learning-based proactive resource allocation framework for minimizing total resources of microservices while satisfying latency SLO. GRAF leverages front-end workload, tracing data, and graph neural network to (a) observe traffic change (b) identify optimal resource configuration (c) make proactive resource allocation. Experiments using various open-source benchmarks demonstrate that GRAF successfully satisfies latency SLO while saving up to 19% of total CPU resources compared to the fine-tuned autoscaler. Moreover, GRAF han- dles abrupt traffic change with 36% less resources and 1.4x faster 99%-tile latency compared to the most widely used autoscaler.
마이크로서비스는 지연 시간에 민감한 사용자용 서비스에 널리 채택된 구조이다. 마이크로서비스는 일체형 서비스를 분산된 상호 통신 마이크로서비스들로 분할해 더 간단한 개발과 안정된 운영을 가능하게 한다. 일체형 서비스와 마찬가지로 오토스케일 방식은 마이크로서비스의 자원 관리를 위해 채택되었지만 기존 오 토스케일러로는 사람의 개입 없이는 지연 시간 서비스 수준 목표를 만족시킬 수 없다. 따라서, 본 논문에서는 지연 시간 서비스 수준 목표를 충족하면서 총 마이크로서비스 자원을 최소화하는 기계 학습 기반의 사전적 자원배분체계를제시한다. 위체계는프런트엔드작업요청량,트레이싱데이터,및그래프신경망을활용 하여 (ᄀ) 트래픽의 변화를 감지하고 (ᄂ) 최적의 자원 배분을 도출하여 (ᄃ) 사전적으로 자원을 할당한다. 공개된 벤치마크를 사용한 실험으로 위 체계가 지연 시간 서비스 수준 목표를 달성하면서 기존의 오토스케 일러보다 총 자원을 최대 19% 까지 절약하는 것을 보여준다. 또한, 비정상적인 트래픽 증가를 처리하는 데 있어 기존의 오토스케일러보다 36% 적은 자원으로 1.4배 빠른 99% 꼬리 지연 시간을 보여준다.