In my previous blog post, The Relationship Between SDN and Cloud Computing, I described the problems facing cloud computing and the role of Software-Defined Networking (SDN) in solving them. I ended with a brief mention of Network Functions Virtualization (NFV), which I’ll expand on in this blog post.
SDN can be used independent of NFV, and NFV can be used without SDN, but there is great value in using both in many cases — especially in cloud computing. The relationship of the two concepts is illustrated in the graphic on the right.
As you can see from the graphic, SDN provides network automation of existing networking gear, while NFV provides the ability to automatically provision (and delete when no longer needed) virtual networking gear, such as virtual switches and routers, antivirus, intrusion detection and/or prevention devices, firewalls, load balancers, etc. Each is good individually, but the whole is much greater than the sum of the parts, such that 1+1 = 5 when you combine SDN and NFV.
In many virtualization scenarios — and virtually all cloud ones — virtual machines (VMs) need to connect to some other VMs and may have security, legal and/or regulatory reasons why they should not be able to talk to other VMs (and/or physical devices). While you can achieve this by routing traffic through a physical firewall for example, doing so can cause a large bottleneck on the firewall with all of the increased traffic, not to mention a large increase in network traffic sending the data to the firewall and getting them back again.
If the firewall rules were evaluated locally and applied locally, the network traffic would be reduced and the total load on the firewall from all of the VMs could be scaled across all of the physical hypervisor servers.
Another example is load balancers. Instead of having to reconfigure a load balancer each time a VM is created or deleted, NFV can create a load balancer for a given application / set of servers, and you can use SDN add or remove VMs from the load balancer as they are created or deleted as the load changes. You can then use NFV to remove the entire load balancer when the application is no longer used.
To summarize, while SDN and NFV are both great technologies, they are much better when used together, the whole being much greater than the sum of the parts.