 In auto-scaling, a VNF manager monitors the VNF KPIs and triggers VNF scaling when the set of scaling rules/policies defined with the VNF KPIs monitored, are satisfied. There are several types of KPIs used for VNF scaling trigger. Some examples [18-21] are listed below: 1. Workload to VNF (e.g., total number of active subscribers for LTE service) 2. Resource utilization (e.g., CPU, memory, disk I/O and network I/O usage) 3. VNF performance metrics (e.g., throughput, delay) 4. VNF-specific metrics (e.g., queue length) 5. Various events from VNF, virtual infrastructure manager (VIM), EMS With the scaling-trigger metrics mentioned above, there are different techniques used to build auto-scaling mechanisms. The following is a classification of auto-scaling techniques divided into five groups [18]: 1. Threshold-based rules 2. Reinforcement learning 3. Queuing theory 4. Control theory 5. Time-series analysis The ultimate goal of an auto-scaling mechanism would be to minimize the resource consump- tion for the VNF while maintaining the VNF performance above the target level. Therefore, an effective and efficient auto-scaling mechanism should make a judicious choice on the auto-scaling metrics and techniques, being aware of its consequences on both VNF performance and resource consumption. Specifically, over-provisioning resources, an early start of scaling out, and a late start of scaling in may result in resource waste, whereas under-provisioning resources, an early start of scaling in, and a late start of scaling out may result in performance degradation. Also, the auto-scal- ing mechanism needs to take into account various factors impacting the latency time to complete the execution of VNF scaling, such as the time for auto-scale trigger to be introduced, time for auto- scale trigger to be detected, time for the required resources to be created/deleted, time for the new/ deleted virtual machine to start/stop running. Besides, an oscillation effect, that is, scaling actions executed too frequently, should be avoided 