With the development of network technology such as software-defined network (SDN) and network function virtualization (NFV), Internet service providers (ISPs) are increasingly placing the virtual network function(VNF) instances at the network edge to provide network service. However, there are some issues to be tackled in the distributed SDN/NFV enabled cloud. Firstly, VNF instances require to be chained in predefined order to provide network services. It is a challenge to optimally select and chain VNF instances from the multi-instances. Moreover, due to the capacity limitation of the distributed edge nodes. The capacity of the Virtual Machines (VMs) that host VNFs should be proactively adjusted to cope with traffic demands. Since most existing works ignore the vertical capacity scaling problem in routing commodities with Service Function Chain (SFC) requests. In this paper, a fine-grained scheduling scheme at VM-level is proposed. Firstly, we formulate the SFC chaining problem as an Integer Linear Programming (ILP) model aiming to embed SFC requests with minimum estimated latency cost. Furthermore, we formulate the adaptive VNF resource allocation (VNF-AR) problem as a convex optimization. The theoretical optimal capacity for each VM can be derived from the Karush-Kuhn Tucker (KKT) conditions. At last, a novel joint optimization approach of VNF chaining and adaptive scaling (VNF-CAS) is proposed to efficiently embed the SFC requests. Performance evaluation shows that VNF-CAS can achieve better performance in SFC requests acceptance rate, average effective throughput, average load utilization and VM load balancing when it is compared with other algorithms in existing works. INDEX TERMS Network function virtualization, service function chain, distributed cloud network, resource optimization.