Network Functions Virtualization (NFV) , as described by the ETSI NFV Industry Specification Group (ISG), involves the implementation of network functions in software that can run on a range of industry standard server hardware, and that can be moved to, or instantiated in, various locations in the network as required, without the need for installation of new equipment. Network functions such as Load balancing, Firewall, DPI, WAN optimization, etc. can now be virtualized and deployed along with the actual application workloads in private clouds or public clouds. The NFV technology is embraced by the network operators who aim to benefit with reduced OPEX costs through reduced equipment costs and power consumption, greater flexibility to scale up or down, and quick deployment of newer network services, to name a few benefits. In this talk, we focus on the deployment of these NFV services in multiple NFV Data Centers (DCs) interconnected by MAN/WAN using a cluster of OpenStack instances. The problem of achieving network efficiency and simultaneously energy efficiency with NFV DC deployments comprises of the following steps 1) Choosing the right set of energy efficient physical servers in the NFV DC 2) Consolidating Virtual Machines (VMs) used by a NFV network function such as virtual CDN into a minimal set of servers 3) Optimizing network distance while being of aware of application characteristics. We have already proposed constraint-based SolverSchedulers in the Openstack compute project Nova , where we can specify varied constraints and cost metrics to optimize and thus enable optimal compute placements. Using this SolverScheduler, we can model the NFV placement problem as a constraint optimization problem achieving increased network and energy efficiency by optimally placing NFV VMs in OpenStack Clouds.