I. Introduction
Network Function Virtualization (NFV) [1] brings scalability, flexibility, and rapid development for network functions. A cluster of Virtual Network Functions (VNFs) can serve massive fluctuating traffic flows by distributing packets across multiple instances. However, the advantages of a VNF cluster come with new challenges. First, the flows need to be scheduled optimally across multiple VNF instances while preserving flow migration cost. Second, the VNF cluster needs to scale in/out adaptively in time to meet the demand of input traffic while preserving VNF running cost. How to schedule the flows and manage VNF scaling coordinately in a VNF cluster remains an open question.