4. Enhanced quality of service
In the section titled Hyper-V extensible switch, we looked at the new bandwidth
management capabilities found in Hyper-V, which allows for guaranteeing
a minimum amount of bandwidth and/or enforcing a maximum amount of
bandwidth for each VM running on a host. This is just one example,
however, of the powerful new bandwidth management capabilities built into Windows Server 2012. The term quality of service (QoS) refers to technologies used for managing network
traffic in ways that can meet SLAs and/or enhance user experiences in a
cost-effective manner. For example, by using QoS to prioritize
different types of network traffic, you can ensure that
mission-critical applications and services are delivered according to
SLAs and to optimize user productivity.
As we’ve previously seen in the earlier section, Hyper-V in Windows
Server 2012 lets you specify upper and lower bounds for network bandwidth
used by VMs. This is an example of software QoS at work where packet
scheduling is implemented by the operating system. But Windows Server
2012 also supports implementing QoS through the use of network adapter
hardware that use Data Center Bridging (DCB), a technology that provides performance guarantees for different types of network traffic. DCB is typically found in 10 GbE network adapters and certain kinds of switching fabrics.
The enhanced QoS capabilities included in Windows Server 2012 are
particularly useful in shared cloud environments, where the cloud
provider wants to ensure that each customer (or business unit for
shared private clouds) is able to access the computing, storage, and
network resources they need and have paid for or been guaranteed.
Customers (and departments of large enterprises) need predictable
performance from applications and services they access from the cloud,
and the enhanced QoS capabilities in Windows Server 2012 can help
ensure this.
But these enhanced QoS capabilities also can provide benefits to the
cloud provider. Previously, to ensure that all customers accessing a
shared cloud have enough computing, storage, and network resources to
meet their needs, cloud
providers often overprovisioned VMs on the hosts in their datacenter by
running fewer VMs on more hosts, plus extra storage and network
resources to ensure that each customer has enough. For example, the
cloud provider might use separate networks for application, management,
storage, and Live Migration traffic to ensure that each type of
workload can achieve the required level of performance. But building
and managing multiple physical networks like this can be expensive, and
the provider may have to pass the cost on to the customer to ensure
profitability.
With the enhanced QoS capabilities in Windows Server 2012, however,
cloud providers can ensure that SLAs are met while using their physical
host, storage, and network resources more efficiently, which means cost
savings from needing fewer hosts, less storage, and a simpler network
infrastructure. For example, instead of using multiple overlapping 1
GbE networks for different kinds of traffic, the provider can use a
single 10 GbE network backbone (or two for high availability) with each
type of traffic carried on it being prioritized through the use of QoS
policies.
From the perspective of enterprises wanting to build private clouds
and hosting providers wanting to build public clouds, QoS allows
replacing multiple physical networks with a single converged
network carrying multiple types of traffic with each traffic type
guaranteed a minimum amount of bandwidth and limited to a maximum
amount of bandwidth. Implementing a QoS solution thus can save
enterprises and hosting providers money in two ways: less network
hardware is needed and high-end network hardware such as 10 GbE network
adapters and switches can be used more efficiently. Note, however, that
the converged fabric still needs to be carved up into Management and
Production networks for security reasons.
The bottom line is that the old approach of overprovisioning the
network infrastructure for your datacenter is inefficient from a cost
point of view and now can be superseded by using the new QoS
capabilities in Windows Server 2012. Instead of using multiple physical
network fabrics like 1 GbE, iSCSI, and Fibre Channel to carry the
different kinds of traffic in your multi-tenant datacenter, QoS and
other enhancements in Windows Server 2012 now make it possible to use a
single converged 10 GbE fabric within your datacenter.
There are a number of different ways of implementing software-based control of network traffic in Windows Server 2012. For example:
-
You can configure Hyper-V QoS as described previously by enabling bandwidth
management in the settings of your VMs to guarantee a minimum amount of
bandwidth and/or enforcing a maximum amount of bandwidth for each VM.
-
You can use Group Policy to implement policy-based QoS by tagging packets with an 802.1p value to prioritize different kinds of network traffic.
-
You can use PowerShell or WMI to enforce minimum and maximum bandwidth and 802.1p or Differentiated Services Code Point (DSCP) marking on filtered packets.
There are additional ways of implementing QoS as well. The method(s)
you choose will depend upon the network infrastructure you have and the
goals that you are trying to achieve. See the “Learn more” section for
more information about QoS solutions for Windows Server 2012.
In terms of which QoS functionality to use in a given scenario, the
best practice is to configure Hyper-V QoS for VMs and then create QoS
policies when you need to tag traffic for end-to-end QoS across the
network.
If you are a hosting provider or a large enterprise that wants to deploy a shared
private cloud that provides “servers for rent” to customers or business
units, there are several ways that you can configure Hyper-V QoS to
assign a minimum bandwidth for each customer or business unit that
access applications and services from your cloud:
-
Absolute minimum bandwidth
In this scenario,
you could set different service tiers such as bronze for 100 Mbps
access, silver for 200 Mbps access, and gold for 500 Mbps access. Then
you can assign the appropriate minimum bandwidth level for customers
based on the level of their subscription.
-
Relative minimum bandwidth
In this scenario,
you could assign different weights to different customer workloads such
as a weight of 1 for normal priority workloads, 2 for high-priority
workloads, and 5 for critical-priority workloads. Then you could assign
a minimum bandwidth to each customer based on their workload weight
divided by the total weight of all customers accessing your cloud.
Note that minimum bandwidth
settings configured in Hyper-V QoS are applied only when there is
contention for bandwidth on the link to your cloud. If the link is
underused, the configured minimum bandwidth settings will have no
effect. For example, if you have two customers, one with gold (500
Mbps) access and the other with silver (200 Mbps) access, and the link
between the cloud and these customers is underused, the gold customer
will not have 500/200 = 2.5 times more bandwidth than the silver
customer. Instead, each customer will have as much bandwidth as they
can consume.
Absolute minimum
bandwidth can be configured using the Hyper-V Settings in Hyper-V
Manager. Absolute minimum
bandwidth also can be configured from PowerShell by using the Set-VMSwitch cmdlet. Relative minimum bandwidth can be configured from PowerShell only by using the Set-VMSwitch cmdlet.
As far as configuring maximum bandwidth is concerned, the reason for
doing this in cloud environments is mainly because wide area network
(WAN) links are expensive. So if you are a hosting
provider and a customer accesses its “servers in the cloud” via an
expensive WAN link, it’s a good idea to configure a maximum bandwidth
for the customer’s workloads to cap throughput for customer connections
to their servers in the cloud.
Data Center Bridging (DCB)
Data Center Bridging (DCB) is an IEEE standard that allows for hardware-based bandwidth allocation for specific types of network
traffic. The standard is intended for network adapter hardware used in
cloud environments so that storage, data, management, and other kinds
of traffic all can be carried on the same underlying physical network
in a way that guarantees each type of traffic its fair share of
bandwidth. DCB thus provides an additional QoS solution that uses
hardware-based control of network traffic, as opposed to the
software-based solution described previously.
Windows Server 2012 supports DCB, provided that you have both
DCB-capable Ethernet network adapters and DCB-capable Ethernet switches
on your network.