Network Functions Virtualization (NFV) is the concept of replacing/visualizing dedicated network appliances — such as routers, switches, firewalls etc. with software running on commercial/commodity servers.

The aim of NFV is to separte network functions(control plane) from dedicated hardware devices(data plane) and allow network services that are now being hosted on routers, firewalls, load balancers and other dedicated hardware devices to be hosted on virtual machines (VMs). Once the network functions are under the control of a hypervisor(What is a Hypervisor?), the services that once require dedicated hardware can be performed on standard x86 servers.

With help of NFV, network administrators have no need to purchase dedicated hardware devices (costing hundreds of dollars) in order to build a service chain. Because server capacity will be able to be added through software, there will be no need for network administrators to over-provision their data centers which will reduce both capital expenses (CAPex) and operating expenses (OPex). If an application running on a VM required more resources(CPU/RAM/HDD etc.), the administrator can dynamically do that or can move the VM to another physical server as per the requirement. He can also provision another virtual machine on the original server to balance the load earlier shared by single VM. Having this flexibility will allow an administrator to adapt to network requirements in a more agile manner and to changing business goals and network service demands.