Over the last few releases, Microsoft has significantly changed how it supports networking in Windows Server, taking advantage of improvements in both network cards and in server hardware as well as in its own software. As networking hardware has grown more powerful, more and more functionality is offloaded from the OS to the card, requiring more complex and powerful drivers as well as supporting new server features like Storage Spaces Direct and Azure Stack HCI.
SEE: Google Workspace vs. Microsoft 365: A side-by-side analysis w/checklist (TechRepublic Premium)
As drivers and cards have grown more complex, it’s become harder to find the right card for the right job. The choice of card and drivers has been made more complex by the increasing amount of detail in the Windows Server Catalog, as cards add features and gain additional certifications.
A complex catalog
Microsoft’s Hardware Lab Kit is used to run tests against features and scenarios, giving certifications for supporting specific requirements. As more tests are passed, more qualifications are added to the device’s listing in the Windows Server Catalog, with devices that pass multiple tests gaining a long list of these “additional qualifications.”
There’s a problem here, in that the names of the various certifications don’t actually describe what the functions are for. What do “Kernel Mode Remote Direct Memory Access” or “Receive Segment Coalescing” mean for your network or your applications? They’re certainly useful functions, but how are they used by your applications and services?
It’s not only a problem for users: It’s also an issue for network card vendors. Microsoft’s tests put restrictions on fast network cards that meant they weren’t tested for all possible use cases, resulting in possible issues when cards were deployed. At the same time, network cards are becoming more complex, often operating as simple servers in their own right. Microsoft is already experimenting with running its own CBL-Mariner Linux on these cards, hosting networking functions in containers and running them right where they’re most effective.
When it comes to network operations, faster doesn’t always mean better, as more complex use cases are not supported by Microsoft or the network card vendor. You’d buy a set of cards for your data center, because they work with your new 10 Gbps switches, try to set them up for Storage Spaces Direct, only to discover that your scenario wasn’t supported by Microsoft, despite the apparent certification. A card might well be fast enough to get a certification, only to not have the processing power or memory necessary for modern operations in a high-density environment running distributed applications and storage.
Time for new certifications
After working with both end users and network card vendors, Microsoft is changing how it certifies cards, with the intent of clarifying how cards are going to be used and whether those use cases are supported or not. Instead of using speeds and features as a method of certifying cards, they’re now certified by intended task, with new certifications already used for Windows Server 2022 and Azure Stack HCI.
It’s interesting to note that Azure Stack HCI’s networking definitions are being used as part of Windows Server’s certifications. That’s not surprising — it’s rapidly becoming a major driver of Windows Server development and is Microsoft’s preferred way of delivering hybrid cloud features to its on-premises customers.
The three traffic categories the Windows Server Catalog now uses are compute, storage, and management. Compute traffic is for connections to and from virtual machines and container hosts, while storage traffic is connections using common storage protocols like SMB. Management traffic is data used for management tooling, as well as for storage replicas and backups. Azure Stack HCI needs cards that support all three roles, but in your own clusters you may prefer specific roles for specific servers like cards rated for management traffic on systems that handle key Active Directory roles.
As well as the standard certifications, there’s a premium certification option for both Compute and Storage. This is for network cards that support the latest standards. For example, a Compute Premium card may offer Dynamic VMMQ support. This is an update to a set of different features that tune connections to specific cores, allowing VMs to operate consistently even with irregular workloads.
Similarly, while the Standard Compute certification supports Remote Direct Memory Access, offloading CPU network operations to the network card, Premium Compute supports the new Guest RDMA standard, giving virtual machines the same direct access to network cards as physical CPUs.
Choosing a network card with Microsoft’s new certifications
How do you go about choosing a card and a driver with the new certifications? Microsoft uses an example of a simple connection for a database server. If you’re not using a virtual machine to host the database, then you can use any network card in the catalog, as it doesn’t need any special qualifications.
If, however, the database is running on a VM, then you need a card that has Compute Standard or Premium certification. Adding support for remote desktop requires a card that now supports Management. If that database is using clustered storage to host its content, it’ll need a card that supports Storage (either Standard or Premium). These features can run on one or more cards, with full support if the right traffic is directed over the right cards.
It’s important to keep track of the Windows Server Catalog as new devices are added and older cards are recertified with the new Hardware Lab. The site can be filtered by certification type, helping you choose cards for your servers. Older certifications are still valid for older Windows Server releases and won’t be removed until those versions drop out of support.
Microsoft believes that this approach should simplify choosing network cards for Windows Server 2022. There’s no need to match features to your use cases: You now simply have to compare your needs to the three types of network feature, then pick the appropriate card from the catalog. If you need more performance, then pick a device with a Premium certification. You can still use a card that doesn’t have those certifications for basic network operations, like running a web server or simple file and print.
While you’re performing maintenance on your network cards, take the opportunity to inventory your server with our Server Inventory Checklist from the experts at TechRepublic Premium.
Subscribe to the Developer Insider Newsletter
From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays