With the explosion of job-specific data center appliances, it is common today to find several appliances monitoring a single resource. A typical scenario, for example, is three appliances monitoring the same connection, with one monitoring flows, another doing performance analysis and a third providing intrusion detection functionality.
Since cost, space and power are major issues for data centers, reducing the appliance footprint is becoming a major consideration. While some appliances require all the processing power they can get and cannot share resources -- such as 10 Gigabit Ethernet Intrusion Prevention Systems -- there are a number of monitoring, analysis and security appliances that do not require as much processing resources and can be consolidated onto a single server.
If all appliances are based on the same operating system, it is possible to consolidate them using intelligent network adapters that can distribute and share data between multiple applications. Such solutions exist today.
However, if the appliances are based on different operating systems or expect to have full control over available hardware resources, virtualization can be used. A number of solutions are possible depending on data sharing and distribution needs. The following describes various consolidation approaches based on VMware.
Using VMware Direct Path
VMware Direct Path allows a virtual machine to control a physical network adapter. This allows existing appliance applications to be transferred to a virtual environment.
This is the first step in consolidation. To the application, it still appears as if it is running on its own server with full control of the intelligent network adapter. The driver software has been updated to support VMware Direct Path, but otherwise, no changes need to be made. This can be repeated for multiple network appliances.
As can be seen, each network appliance can be based on a different operating system and execution environment, but still be supported on the same physical server. The only restriction is that each virtual machine needs its own network adapter as only one virtual machine can control a given network adapter at one time.
Sharing network adapters
While the above implementation works, it still requires a network adapter to be dedicated to each virtual client. This limits the number of applications to the number of slots in the server. If all the virtual clients need to access the same point in the network, a separate load balancer would be required to distribute data between the network adapters.
By distributing data within VMware, we can eliminate the load balancer and reduce the number of network adapters required.
By using a data distribution VM as a server VM machine based on VMware's VMCI (Virtual Machine Communication Interface), it is possible to distribute and replicate data to multiple VM machine clients. The data distribution VM can thus distribute or replicate data captured by a single intelligent network adapter to multiple client VMs each supporting a separate network appliance.
Distributing data on a per physical or virtual port basis
One method of distributing data to multiple client VMs machines is by physical port.
In the example above, data on each port of the network adapter is mapped to a separate client VM. However, this limits the solution by the number of physical ports on the network adapter.
A more interesting solution is to use logical ports.
Some intelligent network adapters are capable of identifying flows and thus defining logical ports providing specific flow data. These logical ports can be mapped to VMCI ports allowing specific data to be distributed to dedicated network appliances running on client VMs. The number of virtual ports that can be supported is limited by the implementation on the network adapter, but can be up to 32.
Sharing data between multiple virtual machine clients
As mentioned, it is not uncommon for multiple network appliances to need to access the same data at the same point in the network at the same time. The captured data needs to be shared and replicated to multiple network appliances.
The data distribution VM can be used to replicate the data captured by the intelligent network adapter to each virtual machine that requires that data. The only limitation is the bandwidth of the VMCI interface itself, which is dependent on the processing power of the supported CPU chipset.
Implementations of the solutions described have been made providing a benchmark for expected performance. It has successfully been demonstrated that the VMCI interface can support up to 30Gbps of data replication and distribution to multiple VMs. This allows any combination of port speeds and number of virtual clients to be implemented as long as the total consumed VMCI bandwidth does not exceed 30Gbps.
Obviously not all network appliances can be virtualized, especially high-speed, high-performance appliances that require all the processing resources available. However, for less processing-intensive appliance applications, there is an opportunity for consolidation that is compelling.
One of the advantages of using virtualization for consolidation is that each network appliance can be reused to a large extent, with the same operating system and environment. This also means that it is possible to upgrade the physical hardware without needing to upgrade the supported network appliance virtual machines. As physical servers continue to increase in power and performance, even more appliances can be consolidated onto a single physical server.
As network interface speeds change, it is possible to upgrade the intelligent adapter to support a higher-speed interface without having to change the support network appliance VMs. This approach can also be used to upgrade existing network appliances to support higher-speed interfaces in a fast and effective way.
For example, a 10Gbps network appliance can be upgraded to support 40Gbps by porting four instances of the appliance software to four virtual machines running on a single server supported by a single 40Gbps intelligent network adapter. Four logical ports are created to distribute the data between the four VMs making sure that none of the VMs receive more than the expected 10Gbps of data. Thus, a 10Gbps network appliance becomes a 40Gbps network appliance without having to re-haul the network appliance application software.
This approach can also be used to upgrade older network appliances supporting legacy operating systems or where resources to update the network appliance application software no longer are available.
Consolidation of network appliances is the last frontier of virtualization in the data center. While many high-speed, high-performance network appliances already make optimal use of the server resources available to them, there are many opportunities to consolidate appliances, especially as we move to higher network speeds and ever more powerful physical servers.
Sign up for Computerworld eNewsletters.