CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, cilt.27, sa.3, ss.3099-3111, 2024 (SCI-Expanded)
Monolithic software architectures are no longer sufficient for the highly complex software-intensive systems, which modern society depends on. Service Oriented Architecture (SOA) surpassed monolithic architecture due to its reusability, platform independency, ease of maintenance, and scalability. Recent SOA implementations made use of cloud-native architectural approaches such as microservice architecture, which has resulted in a new challenge: the discovery difficulties of services. One way to dynamically discover and route traffic to service instances is to use a service discovery tool to locate the Internet Protocol (IP) address and port number of a microservice. In the event that replicated microservice instances are found to provide the same function, it is crucial to select the right microservice that provides the best overall experience for the end-user. Parameters including success rate, efficiency, delay time, and response time play a vital role in establishing a microservice's Quality of Service (QoS). These assessments can be performed by means of a live health-check service, or, alternatively, by making a prediction of the current state of affairs with the application of machine learning-based approaches. In this research, we evaluate the performance of several classification algorithms for estimating the quality of microservices using the QWS dataset containing traffic data of 2505 microservices. Our research also analyzed the boosting algorithms, namely Gradient Boost, XGBoost, LightGBM, and CatBoost to improve the overall performance. We utilized parameter optimization techniques, namely Grid Search, Random Search, Bayes Search, Halvin Grid Search, and Halvin Random Search to fine-tune the hyperparameters of our classifier models. Experimental results demonstrated that the CatBoost algorithm achieved the highest level of accuracy (90.42%) in predicting microservice quality.