Abstract: Cloud computing is a recent technology trending that help companies in providing their services in a scalable manner. Hence, used this service capabilities required many procedures in order to get better performance. Cloud computing environments allow customers to dynamically scale their applications. The key problem is how to lease the right amount of resources, on a pay-as-you-go basis. The objective of this paper was to present a comprehensive study about the auto-scaling mechanisms available today. Auto-scaling techniques are diverse, and involve various components at the infrastructure, platform and software levels. Many techniques have been proposed for auto-scaling. We propose a classification of these techniques into five main categories: static threshold-based rules, control theory, reinforcement learning, queuing theory and time series analysis.

Keywords: Cloud Computing, Auto scaling, Auto scaling techniques.