I. Introduction
Network Function Virtualization (NFV) has become a modern trend of cleaving traditional hardware-based middleboxes into software pieces for network functions implementation (i.e., firewalls, load balancers, network address translation (NAT), and intrusion detection systems (IDS)) in virtual machines (VMs) running on heterogeneous commodity servers [1]. Using NFV, network traffic is needed to by-pass through and get processed by a set of VNFs in a predefined order before reaching its destination called as service function chaining (SFC) [5]. NFV helps to significantly reduce CAPital EXpenditure (CAPEX) and OPeration EXpenses (OPEX) and increase network scalability and flexibility. Motivated by the advantages, organizations have started to replace their hardware middlebox infrastructure with NFV. Current initiatives support the outsourcing of packet processing to the cloud [2]. The cloud service providers (CSPs) or third-party companies themself may serve as NFV service suppliers by offering a Network-as-a-Service (NaaS) solution [3] to build and deploy the on-demand customer requested VNF instances and subsequently, configure the service function chaining. Outsourcing of packet processing to CSPs is advantageous as clients can leave the provisioning and complicated scheduling jobs to the resource providers. In this work, we consider the NFV business environment, where the customer request for software-level packet processing services and NFV provider offer the cloud resources. With the help of past traffic behaviors of VNFs, the NFV provider predict the future resource demand and reprovisions the VNF instances for better utilization of limited resources over time. Through prediction, the auto-scaling can be enabled to dynamically scaled up or down the VNF instances in near-future. However, there are several critical challenges to offer such scaling decision: (i) The demand prediction must be efficient and robust since the over-provisioning and under-provisioning of VNF instances drastically impact the profit of NFV provider, (ii) Effective feature processing technique to predict the upcoming resources accurately. (iii) Which type of VNF instances should be scaled to process the varying demand of network functions [4]. (iv) What will be the location of newly launched VNF instances for better service availability (v) Selection of links for routing the flows of new VNF instances under the bandwidth availability constraints. (vi) Stability of VNF deployment solutions based on the given set of preferences. Nevertheless, the existing dynamic resource provisioning approaches [9] [6] extensively neglects these key challenges while solving the deployment and traffic-steering problems. Moreover, the existing studies of VNF scaling are reactive and degrade the overall performances while launching the new VNF instances. After launching the instances, it is being presumed that enough bandwidth can be provided for traffic steering of ordered VNFs. The approach reported in [10] provide vertical scaling decision. Although it is not feasible in many cases because of rebooting [4]. In [6], a graph-based neural network (NN) method is proposed to forecast upcoming VNF demands, that may not be suitable due to variance in resource requirements [7]. Some other schemes of VNF scaling presented in [13], [4] are reactive and may degrade the service performance while launching the new VNF instances.