Windows Server Version 2004 Reaches General Availability

At the end of May, Microsoft released the Windows 10 May 2020 Update to ‘seekers’ via Windows Update. For more information on that release, check out Everything You Need to Know About Windows – May 2020 on Petri. Along with the Windows 10 feature update, Microsoft also made available Windows Server version 2004 for customers on the Semi-Annual Channel (SAC).

As a reminder, the Windows Server SAC is for customers that want to take advantage of new operating system features at a faster pace than those on the Long-Term Servicing Channel (LTSC). LTSC customers get feature updates once every 2-3 years. Windows Server SAC releases, which happen biannually, don’t include the Desktop Experience server role.

Improved container performance and reliability

Like recent Windows Server SAC releases, Windows Server version 2004 brings further optimizations for containers. Microsoft worked with the .NET and PowerShell teams to further optimize image size and performance of Server Core containers. There are also some networking improvements that bring better scalability, robustness, and reliability.

To reduce size, the Server Core container image doesn’t optimize the .NET Framework for performance. Optimization is instead performed in the higher-level .NET Framework runtime image. In the table below, you can see how Microsoft has been able to considerably reduce container image size in Windows Server version 2004. As I wrote on Petri last year, the Server Core image size is smaller by 40%.

Figure 1

Investigations started at Microsoft a year ago based on the premise that the way the .NET Framework is packaged and installed doesn’t work well with Docker layers. On the back of this research, Microsoft defined three criteria to reduce image sizes.

  • There should be a single copy of each file in the .NET Framework, across all container image layers published by Microsoft.
  • NGEN images that are created by default should align with default use cases.
  • Maintain startup performance as container image size is reduced.

.NET Framework container images are also smaller because performance optimization is targeted at ASP.NET and Windows PowerShell apps.

Modernizing traditional Windows Server apps

While containers on Windows Server might seem like an unpopular choice for developers, there is a large base of legacy apps running on Windows Server that organizations want to modernize. Microsoft says that based on feedback from its customers, Windows containers have been a popular means of modernizing legacy Windows Server apps and for leveraging Kubernetes and other DevOps technologies.

But customers complained that Server Core images, while already optimized, were still too large to download and decompress. Microsoft says that the developments in Windows Server version 2004 should make it easier to scale apps in production, continuous integration and continuous delivery (CI/CD), and other development practices that need fast startup or ‘pulls’ of un-cached images.