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

Dasith Edirisinghe, Kavinda Rajapakse, Pasindu Abeysinghe, Sunimal Rathnayake · 2024

Microservices architecture, known for its agility and efficiency, is an ideal framework for cloud-based soft-ware development and deployment, particularly when inte-grated with containerization and orchestration systems that streamline resource management. However, the cost of cloud computing remains a critical concern for many organizations, prompting the need for effective strategies to minimize expenses without compromising performance. While cloud platforms like AWS offer transient pricing options, such as Spot Pricing, to reduce operational costs, the unpredictable demand and abrupt termination of spot VMs introduce considerable challenges. By leveraging containerization alongside intelligent orchestration, it is possible to optimize micro services deploy-ment costs while maintaining performance requirements. We present SpotKube, an open-source, Kubernetes-based so-lution that employs a genetic algorithm for cost optimization. Designed to dynamically scale clusters for micro service applications on public clouds using spot pricing, SpotKube analyzes application characteristics to recommend optimal resource al-locations, ensuring deployments remain cost -effective 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. GitHub: https://github.com/SvotKube/SvotKube

Read the paper · More papers on PaperTik