Sunday, October 28, 2012

Impact of Server Virtualization on Networking - 2


[Read my previous post - Impact of Server Virtualization on Networking - 1 for continuity if you did not read it]

Problems with increased network complexity


While there could be several problems raised because of network complexity, I feel there are five important issues those really changed networking scenario because of server virtualization. I will list them here and explain them to the best of my knowledge.

Before explaining these problems, let me first introduce current data center architecture and how server virtualization invokes issues in there.

Typically data centers use 3-tier architecture consisting of three types of switches:

(i)  Core Switches:  It lets all nodes connected to the network get full available bandwidth on the network.
(ii) Aggregation Switches: Aggregates traffic from core-switches. L2 stuff is mainly run here.
(iii) Edge Switches: These are called Top-Of-Rack (TOR) switches/End-Of-Row(EOR) switches. Typically this is the switch which connects a campus or company network to backbone/servers. These are the switches which connect directly to servers. Normally, Blade servers are connected to these switches. These switches are also referred as Access Switches some times. Obviously, you can see that these are the switches those will be affected because of server virtualization.

Ok. I got it..It could be boring if I explain it as if a professor explains it at your class-room. So, obviously a picture would help.


 Problem 1: Additional Tiers to switching traffic – Increased latency, power consumption and Management Complexity

In this kind of architecture, because of server virtualization, first problem that arises is addition of extra tiers. With the advent of server virtualization, a new Software came in servers – called Hypervisor.  Hypervisors add an additional layer with software switch (also known as a virtual switch/ vSwitch - Yes! I like the open version) to manage intra-hypervisor traffic. Some servers may use intelligent NICs with hardware port virtualization, while blade chassis often have switch modules, each of which adds another switching tier. So, Aside from merely increasing the number of network devices, virtualization adds tiers to the switching fabric, increasing latency, power consumption and management complexity.


Problem 2: Increase in VM consolidation ratio: Affecting Switching Scalability and  Performance, Also reducing Effectiveness of VLANs

By the way, I forgot to introduce an important term here – Virtual Machine (VM) Consolidation Ratio. Consolidation ratio is the number of VMs run on each virtualization host server. Obviously, this is an important parameter that decides how much money an organization can save in terms of power, space and technical expertise. I could access a survey that is done in this regard. 


 This consolidation of Virtual machines affects switching scalability and performance. As processor technology is progressing, processors in servers are moving from dual-core to six-core, eight-core and even 10-core(WOW…That’s really a WOW to me). By exploiting this multi-core processing, one would obviously want to increase VM consolidation ratio – That is hosting more VMs on server. That sounds like obvious use case, but here is a catch. Currently, a hypervisor virtual switch with a workload of 10 to 15 VMs per system extracts a modest overhead of about 10% to 15%, but that figure that will undoubtedly increase when handling scores of VMs. 

Additionally, because virtual switches operate at Layer 2, their proliferation implicitly changes the LAN topology to one that is larger and flatter. VM consolidation ratios also limit the effectiveness of VLAN partitioning. Because virtual switches operate at Layer 2, and look more like bridges to the external network, and because VLAN tags are also port-based, any application-specific VLANs are visible to all VMs on a system. Thus, if more VMs share the same Ethernet port, and different applications on those VMs are members of different VLANs, then each port could conceivably need access to many more VLANs, which greatly limits their effectiveness.

Problem 3: Increase in magnitude of Software Switching: Complicating Management & Security

The third problem I see is that with the amount of increase in software switching, Network management and Security is complicated. As it is software, obviously everything cannot be done at wire-speed. Network monitoring, management, traffic reporting and security tools use standard protocols operating on physical ports, but as more traffic is switched within the hypervisor, these tools lose visibility into a significant amount of network activity.  There are some commercial vendors which solve this problem, but they are available with only few vendors and obviously come with additional license cost.

Problem 4:  VM movement: Hard to retain network policies across

One advantage that virtualization that brought into picture was dynamic movement of application workloads from one server to another. This can be achieved through VM movement. But, this ability to seamlessly and transparently move VMs from one physical server to another complicates management and security. It becomes a headache in a scenario – An application is aligned with some network policies. This particular application is served by an VM which is moved to another server connected to another network. So, does this VM has to honor old network policies or network policies corresponding to new network to which this VM is moved?
It is quite common that IT administrators/Network managers may bind different application servers to specific VLANs, or assign application network flows different QoS priorities and security ACLs. But if the VM moves to another server, on a completely different LAN, how does the network management system know to migrate the policies accordingly? Today, it doesn’t, unless the networking vendor has integrated its switching products with the hypervisor. While binding these policies to specific VMs is problematic enough, keeping them in sync as VMs move between servers is even more difficult.
VXLAN comes into picture here, which is all together another topic to discuss. I will try to take some time for that.

Problem 5: Virtualization demands Shared Storage: Complexity in scaling and managing SAN.

Equation of Storage changes with introduction of virtualization. Virtualization exacerbates demands for shared storage, due to the inherent need to decouple OS images(one for each VM), applications and data from the underlying server hardware. Current traditional solution for this issue has been a separate, dedicated SAN, which to most people still means Fibre Channel. Yet SANs are expensive and complex to manage, adding an entirely new network protocol, switching fabric and (often) management team. As the number of VMs and their storage demands increase, scaling and managing the SAN becomes as challenging and complex as scaling the data network.



(To be continued)
[Next post contains – What caused these problems precisely? VEB,SR-IOV]

Saturday, October 27, 2012

Impact of Server Virtualization on Networking -1


Now a days almost every engineer in “Traditional” Networking industry hears term Virtualization. While some engineers vaguely understand how virtualization relates to L2 switches/L3 switches / Blade Switches/ protocols that they work upon while some do not. This post is an attempt to explain how virtualization (specifically server virtualization) industry impacted existing networking arena and what problems did it rise in current Networking setup.
 
What is Virtualization, Server Virtualization? What will it fetch? 

Well – virtualization can take many forms while virtualization that is most prominent and relevant to networking industry is Server Virtualization (SV).  Let me just take some space to explain what is SV and why it is needed. Business applications of an organization need support of servers in order to automate its business. These servers are normally maintained by IT wing of organization. Typically these servers are x86 servers which cost companies quite a money in terms of real-estate, power and technical expertise. Virtualization has evolved to software technology that is helping to transform the IT landscape and fundamentally changing the way people utilize computing resources. Today’s powerful x86 computer hardware, which was designed to run a single OS and a single application, is being vastly underutilized in this capacity. One solution to this underutilization involves a type of virtualization that allows users to run multiple virtual machines on a single physical machine, thereby sharing the resources of that single computer across multiple environments. Within IT data center environments, server virtualization has been getting most of the attention because of the many benefits associated with it. Server virtualization is a concept where one physical machine is divided into many virtual servers. The main incentive for IT organizations to use this technology is that many of the servers across the enterprise are underutilized, based on the existence of multiple processors, lots of memory, and huge amounts of disk space. By adopting server virtualization, IT organizations can then consolidate multiple servers into a single physical server, thereby reducing the number of physical servers required by optimizing the resources of the one server

Server Simplicity Vs Network Complexity  

Early server virtualization implementations have demonstrated significant cost savings while greatly enhancing deployment flexibility and adaptability. Next-generation server hardware will support scores of VMs, and most software is designed with virtualization in mind—meaning no enterprise application is off limits. This prospect has significant network implications: It imposes unprecedented demands on bandwidth and switching capacity, greatly increases topological complexity, and complicates management and support by erasing the lines between physical and virtual, network and server, and blurring the distinction between data and storage networks.

When I think of the paradox of server simplicity vs. network complexity,it is analogous to what would happen if thousands of commuters gave up their individual cars for shared cabs, with each passenger going to a different destination. While this would reduce the number of vehicles on the road, it doesn’t reduce the number of trips—the driver still must crisscross dropping off passengers at their offices. It also greatly complicates the routing calculus. Instead of each commuter finding the quickest path between home and office, the cab driver must optimize the pickup and delivery schedule to minimize drive time and distance. Think of cab/cab driver as a Top of Rack Switch in Data Center and Commuters as Servers.

(To be continued)
[Next post contains – Problems with Increased Network Complexity]