Network functions virtualization (NFV) allows network services to be virtualized. NFV enables functions, such as firewalls, caching, routing, security services, and load balancers, to be carried out by virtual machines running inside a datacenter, instead of running on dedicated (and often proprietary) devices. It's often linked with software-defined networking (SDN).