This post will be more conceptual than technical. I recently was asked how Cisco's UCS & HP's Flex-10 network design approaches affect vSphere designs. Even though the industry is moving towards a unified 10GB fabric, there are different ways to move data through this big "pipe" and still ensure/prioritize delivery. As you would guess, Cisco and HP approach this problem very differently. Cisco takes a network centric approach to the problem and HP takes a server centric approach to the problem.
HP's Flex-10
HP Flex-10 takes a 10GB connection and carves it up into multiple virtual NICs. The size of the "pipes" can be turned up and down to match the amount of bandwidth needed for the NIC. Think of it as placing smaller pipes in the big 10GB pipe. This approach is great for vSphere admins because the virtual switches in vSphere can be configured to look just like they did with a bunch of 1GB links into the server. The transition to this technology is seamless for the vSphere administrator. I'll borrow a diagram from
Barry's awesome article on Flex-10. If you haven't read it, please do!
What is the down side to this method?
The down side to this approach is by placing multiple pipes within the larger pipes, you have now placed a CEILING on how much data can pass through that particular pipe. Let's say you present a 1GB vNIC to vMotion and during a vMotion it would be to your advantage to have access to more bandwidth. Too bad, 1GB is all you will ever get.
Cisco UCS's QoS
Cisco UCS uses a method known as Quality of Service (QoS). Most of us "server guys (and gals)" have no idea what this is. Here is how I have come to understand it. If this is wrong, please correct me. Network traffic is given a priority and this priority kicks in
WHEN THERE IS CONTENTION on the network. So, instead of smaller pipes inside a large pipe, you have more of a priority system in place to guarantee certain levels of service. Think of this as a
FLOOR model. You can have as much as you want as long as everyone else gets their minimums (they get their quality/guarantee of service). If something needs to spike and there is room, it can spike and then return to normal. Here is a diagram of our Cisco UCS with traditional switches. This isn't 1000v but you get the idea. As you can see, two big 10GB pipes into the virtual switches instead of smaller pipes into multiple virtual switches.
As the vSphere administrator, this looks very different from my old multiple 1GB links into my multiple virtual switches!
What is the down side to this method?
At this time, QoS for Cisco UCS appears complex to configure and represents a shift in thinking for the vSphere administrator.
How is the QoS implemented for Cisco UCS and VMware?
That is a very good question. I can't seem to find any documentation on how to actually do this yet. I'm sure there is a Cisco internal doc somewhere but I haven't found anything public that lays out the hardware that is needed (do I need 1000v or Palo for this, can I use a CNA and the standard switches?) nor have I found a "cook book" that documents how to properly make QoS happen in a vSphere environment. I'm sure this will happen in time and if you have a link, please leave a comment!
Which is better?
It depends on your point of view and the comfort level of your team. I can easily see advantages to both approaches. One is easier to implement, the other appears to be a more elegant (but complex) solution. Cisco has once again brought a disruptive technology to the table that can't be ignored. What are your thoughts?