ABSTRACT
Microservices are small, independent, loosely coupled components which provide flexibility, agility, and scalability to an application. While these are aimed for scalability, achieving it needs judicious trade-offs between size, number and cost of provisioning. In this architecture, sizing in both homogeneous and heterogeneous resources plays a key role to balance application performance and resource requirement, as workload demand varies. This paper provides insights where the importance of considering workload characterization to decide a homogeneous or heterogeneous scaling strategy for a microservice is discussed. The work exploits the correlation of workload characterization, predicted workload demand and selection of right-sized microservice to minimize resource costs. Size of microservice is referred with respect to the amount of resources allocated to the microservice. This work also evaluates trade-offs between considering the entire predicted workload demand for resource cost optimization against algorithmic computational complexity and designs a heuristic to reduce such complexity. Evaluation of results demonstrate two important outcomes. Firstly, workload characterization helps to choose between homogeneous or heterogeneous sizing for different microservices. And secondly, by considering workload demand prediction beyond the current scheduling interval, allows to make scaling decision in the current cycle keeping in view whether the demand is going to increase or decrease. The paper also details on how to use the insights of application characterization and workload trend for choosing an appropriate scaling strategy.
- Microservice Architecture Patterns and Best Practices, http://microservice.io/, Accessed 2018-29-04Google Scholar
- CNCF Serverless WG, https://github.com/cncf/wg-serverless, Accessed 2019-29-04Google Scholar
- Gan et al., An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud & Edge Systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'19). ACM, NewYork, NY, USA, 3--18.Google Scholar
- A. M. Joy, "Performance comparison between Linux containers and virtual machines," 2015 International Conference on Advances in Computer Engineering and Applications, Ghaziabad, 2015, pp. 342--346.Google Scholar
- Building a simple chatbot form Scratch in Python, https://medium.com/analyticsvidhya/building-a-simple-chatbot-in- python-using-nltk-7c8c8215ac6e, Accessed 2019-29-04Google Scholar
- Qu, et al. Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey. ACM Comput. Surv. 51, 4, Article 73 (July 2018), 33 pagesGoogle Scholar
- W. Hasselbring, et al. "Microservice Architectures for Scalability, Agility and Reliability in E-Commerce," 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg.Google Scholar
- Wang, et al. "Workload characterization for an e-commerce web site." Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research. IBM Press, 2003.Google Scholar
- Bodik, et al. Statistical machine learning makes automatic control practical for internet datacenters. In Proceedings of the 2009 Conference on Hot Topics in Cloud Computing. 12--16.Google Scholar
- Srirama, et al. Optimal resource provisioning for scaling enterprise applications on the cloud. In 2014 IEEE 6th International Conference on Cloud Computing Technology and Science (CloudCom'14). 262--271.Google Scholar
- M. Amaral, et al., "Performance Evaluation of Microservices Architectures Using Containers," 2015 IEEE 14th International Symposium on Network Computing and Applications, Cambridge, MA.Google Scholar
- High-performance batch image resizer & rotator, https://github.com/jarun/imgp, Accessed 2019-27-05Google Scholar
- Sharma, et al. Provisioning multitier cloud applications using statistical bounds on sojourn time. In Proceedings of the 9th International Conference on Autonomic Computing (ICAC'12). ACM, New York.Google Scholar
- Cheng, et al. "High Resource Utilization Auto-Scaling Algorithms for Heterogeneous Container Configurations," 2017 IEEE 23rd International Conference on Parallel and Distributed Systems (ICPADS), Shenzhen.Google Scholar
- Ghanbari, et al. Optimal autoscaling in a IaaS cloud. In Proceedings of the 9th International Conference on Autonomic Computing (ICAC'12). ACM, New York, 173--178.Google Scholar
- Yang, et al. A cost-aware auto-scaling approach using the workload prediction in service clouds. Information Systems Frontiers 16, 1 (2014).Google ScholarDigital Library
- Lopez, et al. Towards Quantifiable Boundaries for Elastic Horizontal Scaling of Microservices. In Companion Proceedings of the10th International Conference on Utility and Cloud Computing (UCC '17 Companion). ACM, New York, NY, USA, 35--40.Google Scholar
- H. Fernandez, G. Pierre, and T. Kielmann. 2014. Autoscaling web applications in heterogeneous cloud infrastructures. In Proceedings of 2014 IEEE International Conference on Cloud Engineering (IC2E'14).Google Scholar
- Upendra, et al. A cost-aware elasticity provisioning system for the cloud. In Proceedings of 2011 31st International Conference on Distributed Computing Systems (ICDCS'11).Google Scholar
- Nguyen, et al. Agile: Elastic distributed resource scaling for infrastructure-as-aservice. In Proceedings of the USENIX International Conference on Automated Computing (ICAC'13).Google Scholar
- Roy, et al. Efficient autoscaling in the cloud using predictive models for workload forecasting. In Proceedings of 2011 IEEE International Conference on Cloud Computing (CLOUD'11). IEEE, 500--507.Google Scholar
- Gandhi, et al. AutoScale: Dynamic, robust capacity management for multitier data centers. ACM Transactions on Computer Systems 30, 4 (Nov. 2012), 14:1--14:26.Google Scholar
- Arani, et al. An autonomic resource provisioning approach for service-based cloud applications: A hybrid approach. Future Generation Computer Systems 78, Part1(2018), 191--210Google Scholar
- Wang, et al. "Workload characterization for an e-commerce web site." Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research. IBM Press, 2003.Google Scholar
- Poggi, et al. "Non-intrusive estimation of QoS degradation impact on e-commerce user satisfaction." 2011 IEEE 10th International Symposium on Network Computing and Applications. IEEE, 2011.Google Scholar
- Prachitmutita, et al. "Auto-scaling microservices on IaaS under SLA with costeffective framework," 2018 Tenth International Conference on Advanced Computational Intelligence (ICACI), Xiamen.Google Scholar
Index Terms
- Cost Aware Resource Sizing and Scaling of Microservices
Recommendations
Service cost-based resource optimization and load balancing for edge and cloud environment
AbstractThe application of edge clouds is becoming more and more widespread. The resource optimization is one of the important research contents of edge cloud. Generally, the edge cloud has limited computing resources and energy. Resource optimization can ...
Workload Characterization of a Software-as-a-Service Web Application Implemented with a Microservices Architecture
WWW '19: Companion Proceedings of The 2019 World Wide Web ConferenceWe study the workload of an Online Invoicing application with clients in the Andean region in South America. The application is offered to clients with a Software-as-a-Service model, has a microservices architecture and runs on a containerized ...
μConAdapter: Reinforcement Learning-based Fast Concurrency Adaptation for Microservices in Cloud
SoCC '23: Proceedings of the 2023 ACM Symposium on Cloud ComputingModern web-facing applications such as e-commerce comprise tens or hundreds of distributed and loosely coupled microservices that promise to facilitate high scalability. While hardware resource scaling approaches [28] have been proposed to address ...
Comments