Table of Contents
Fetching ...

SpotKube: Cost-Optimal Microservices Deployment with Cluster Autoscaling and Spot Pricing

Dasith Edirisinghe, Kavinda Rajapakse, Pasindu Abeysinghe, Sunimal Rathnayake

TL;DR

SpotKube tackles cloud-cost optimization for microservices by combining application-characterization-driven provisioning with spot-price–aware autoscaling. It employs a Prophet-based spot-price predictor and a NSGA-II Pareto optimization engine to select cost-efficient, diversified spot instances, coupled with an Elastic Scaler that gracefully handles spot terminations. Through real-world AWS experiments, it demonstrates up to 25% cost savings while preserving or meeting defined SLOs, outperforming baseline Kubernetes autoscaling strategies. This work offers a practical, open-source approach to cost-aware microservices deployment on public clouds using transient pricing models.

Abstract

Microservices architecture, known for its agility and efficiency, is an ideal framework for cloud-based software development and deployment. When integrated with containerization and orchestration systems, resource management becomes more streamlined. However, cloud computing costs remain a critical concern, necessitating effective strategies to minimize expenses without compromising performance. Cloud platforms like AWS offer transient pricing options, such as Spot Pricing, to reduce operational costs. However, unpredictable demand and abrupt termination of spot VMs introduce challenges. By leveraging containerization and intelligent orchestration, microservices deployment costs can be optimized while maintaining performance requirements. We present SpotKube, an open-source, Kubernetes-based solution that employs a genetic algorithm for cost optimization. Designed to dynamically scale clusters for microservice applications on public clouds using spot pricing, SpotKube analyzes application characteristics to recommend optimal resource allocations. This ensures cost-effective deployments without sacrificing performance. Its elastic cluster autoscaler adapts to changing demands, gracefully managing node terminations to minimize disruptions in system availability.Evaluations conducted using real-world public cloud setups demonstrate SpotKube's superior performance and cost efficiency compared to alternative optimization strategies.

SpotKube: Cost-Optimal Microservices Deployment with Cluster Autoscaling and Spot Pricing

TL;DR

SpotKube tackles cloud-cost optimization for microservices by combining application-characterization-driven provisioning with spot-price–aware autoscaling. It employs a Prophet-based spot-price predictor and a NSGA-II Pareto optimization engine to select cost-efficient, diversified spot instances, coupled with an Elastic Scaler that gracefully handles spot terminations. Through real-world AWS experiments, it demonstrates up to 25% cost savings while preserving or meeting defined SLOs, outperforming baseline Kubernetes autoscaling strategies. This work offers a practical, open-source approach to cost-aware microservices deployment on public clouds using transient pricing models.

Abstract

Microservices architecture, known for its agility and efficiency, is an ideal framework for cloud-based software development and deployment. When integrated with containerization and orchestration systems, resource management becomes more streamlined. However, cloud computing costs remain a critical concern, necessitating effective strategies to minimize expenses without compromising performance. Cloud platforms like AWS offer transient pricing options, such as Spot Pricing, to reduce operational costs. However, unpredictable demand and abrupt termination of spot VMs introduce challenges. By leveraging containerization and intelligent orchestration, microservices deployment costs can be optimized while maintaining performance requirements. We present SpotKube, an open-source, Kubernetes-based solution that employs a genetic algorithm for cost optimization. Designed to dynamically scale clusters for microservice applications on public clouds using spot pricing, SpotKube analyzes application characteristics to recommend optimal resource allocations. This ensures cost-effective deployments without sacrificing performance. Its elastic cluster autoscaler adapts to changing demands, gracefully managing node terminations to minimize disruptions in system availability.Evaluations conducted using real-world public cloud setups demonstrate SpotKube's superior performance and cost efficiency compared to alternative optimization strategies.
Paper Structure (32 sections, 1 equation, 8 figures, 3 tables)

This paper contains 32 sections, 1 equation, 8 figures, 3 tables.

Figures (8)

  • Figure 1: High Level Architecture
  • Figure 2: CPU Usage and Failure Rate
  • Figure 3: Pareto Optimization
  • Figure 4: SpotKube vs Default Behavior of Auth Service
  • Figure 5: Spot Price Prediction
  • ...and 3 more figures