Last week was exciting with //build. This week, the excitement continues with the general availability of Windows Server, version 2004 today.
Windows Server, version 2004 is a Semi-Annual Channel (SAC) Release. In our most recent Windows Server SAC releases, we’ve optimized for containers. In this release, we continued improving fundamentals for the core container platform such as performance and reliability. We’ve also worked with .NET team and PowerShell team and further optimized image size and performance for Server Core containers. We will share more details below. On container networking side, we implemented several improvements to allow for better scalability, robustness, and reliability. One example is additional changes and improvements to Direct Server Return (DSR).
Here’s how you can pull the new Windows Server, version 2004 base OS container images from MCR:
The Server Core container image is one of four Windows Base OS Images. It’s designed for maximum application compatibility so customers can modernize their traditional Windows Server applications. The majority of those apps are ASP.NET-based web apps. In Windows Server, version 2004, the Server Core container image no longer optimizes the .NET Framework for performance, which saves a lot of space. Instead, .NET Framework optimization (aka “NGEN”) is done in the higher-level .NET Framework runtime image.
The following table gives a quick overview of the image size reduction of Server Core container images among the three recent SAC releases. The Download size (or “Compressed ”) numbers were captured when running “docker pull” and Size on disk (or “Uncompressed size”) numbers were captured when running “docker images.” All values in this table are based on the latest images available today, including the RTM and monthly updates bits. In this case, the table reflects the May, 2020 monthly security updates, or the so called “5B” updates. For more information about Windows Container updates, see Update Windows Server containers.
Windows Server, version 1903
Windows Server, version 1909
Windows Server, version 2004
Download size (GB)
Size on disk (GB)
.NET Framework container images are also smaller. .NET Framework NGEN optimization in containers is now more targeted to ASP.NET applications and Windows PowerShell scripts. In addition, the change to optimizing assemblies in the .NET Framework Runtime image (and not the Server Core base image) led to technical benefits that also enabled us to reduce container size. For more details about the improvements, see the .NET Team blog published in Dec 2019.
In conversations with customers, we understand that Windows containers have provided a bright path forward to modernize traditional Server apps and leverage Kubernetes and other cutting-edge technologies. However, we also hear that the size of Windows containers, especially Server Core containers, is large enough to impact the time to download and decompress locally. We’ve heard your feedback, which is why we looked closely at multiple ways to optimize. This release is yet another leap forward for customers looking at scaling applications in production, CI/CD, and any other workflow that benefits from faster startup or pulls un-cached images. .
While we are all adjusting to a new normal for work and life, I’m always amazed by the innovations and new possibilities brought by technologies, and more importantly, by the amazing people behind the technologies: both my colleagues at Microsoft and you, our customers.