Network virtualization moves network intelligence out of hardware and into software to make running and managing the network faster and easier. Conceptually, it’s similar to server virtualization in that the infrastructure is virtualized and grouped into pools of resources. With server virtualization, you can programmatically create, snapshot, delete, and restore software-based virtual machines (VMs) on demand. In much the same way, network virtualization makes it possible to programmatically create, provision, and manage networks in software. The underlying physical network acts as a simple packet-forwarding backplane, providing a pool of transport capacity that can be used and repurposed as needed. In a virtual network, network and security services in software are distributed to hypervisors. These are then “attached” to individual VMs based on networking and security policies defined for each connected application. When you move a VM to another host, its networking and security services move right along with it. If you need to create new VMs to scale an application, the necessary policies are dynamically applied to those VMsan approach that is much faster and far more efficient than applying policies one by one.