چكيده به لاتين
Proper management of computing resources has always been one of the concerns of users when using computing environments, because the lack of sufficient resources in a system can disrupt the continuity of program execution. An auto-scaling system can manage hardware resources according to system performance history; Also, at the right time to prevent disruption in the program implementation process by adapting the system to the new operating environment, increase or decrease resources automatically, without human intervention and based on various set criteria. In the space of serverless computing, which is one of the newest computing spaces, an automatic scalable service can be provided so that it is dynamic under different conditions and changes the scale and size of its resources at any time. To achieve such a system that has automatic scaling, the resource allocation scheme must be self-aware, adaptive and reliable against changes in workload. So far, various solutions, including the use of methods based on queuing theory, statistical methods, and machine learning to create a scalable intelligent system have been introduced and proposed, each of which has examined different aspects of this issue. In this article, we first review the solutions introduced to achieve an automatic scalable system in serverless environments, then based on the research gaps and the strengths and weaknesses of the work done, we introduce an automatic scalable method in serverless environments. In this research, by recognizing the unique feature of serverless environments that have an activity based on functions, first the functions are modeled with graph theory and by analyzing the dependencies of the functions and finding the most important bottleneck in the graph, two approaches with supervision and without supervision and several learning methods, We designed a system to predict the scalability of the bottleneck resources and for more confidence in the scaling decision, the prediction error of the models is compared by the provided consensus mechanism and the result of the best model is considered as the final scaling decision that somehow creates consistency between the results obtained from the methods. In the evaluation section of this research, the prediction error is reported for each method, which shows that supervised approaches perform better than unsupervised approaches in the automatic scaling problem, and also the models implemented in this research can improve the scaling result up to 93% accuracy. Also, the proposed method for predicting scalability has improved by 2.5% compared to previous works.