Tags:Cluster Auto Scaling, Cost Optimization, Microservices and Transient Pricing
Abstract:
Microservices architecture, known for its agility and efficiency, is ideal for cloud-based software development and deployment. Often paired with containers and orchestration systems, it benefits from tools that automate resource management. Cloud platforms like AWS offer transient pricing options, such as Spot Pricing, which can significantly reduce costs. However, the dynamic demand and abrupt termination of spot VMs pose challenges. Containerization and orchestration systems can optimize microservices deployment costs using spot pricing while meeting consumer goals. We introduce SpotKube, an open-source, Kubernetes-based solution that uses a genetic algorithm for cost optimization. SpotKube autoscales clusters for microservices applications on public clouds with spot pricing, analyzing application characteristics to recommend optimal resource allocation. It features an elastic cluster autoscaler that ensures cost- effective deployments, maintains performance requirements, and handles node terminations gracefully, minimizing system availability impact. Evaluations with real public cloud setups show SpotKube’s effectiveness compared to alternative optimization strategies.
SpotKube: Cost-Optimal Microservices Deployment with Cluster Autoscaling and Spot Pricing