Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Running Windows Containers on AWS

You're reading from   Running Windows Containers on AWS A complete guide to successfully running Windows containers on Amazon ECS, EKS, and AWS Fargate

Arrow left icon
Product type Paperback
Published in Apr 2023
Publisher Packt
ISBN-13 9781804614136
Length 212 pages
Edition 1st Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Marcio Morales Marcio Morales
Author Profile Icon Marcio Morales
Marcio Morales
Arrow right icon
View More author details
Toc

Table of Contents (22) Chapters Close

Preface 1. Part 1: Why Windows Containers on Amazon Web Services (AWS)?
2. Chapter 1: Windows Container 101 FREE CHAPTER 3. Chapter 2: Amazon Web Services – Breadth and Depth 4. Part 2: Windows Containers on Amazon Elastic Container Service (ECS)
5. Chapter 3: Amazon ECS – Overview 6. Chapter 4: Deploying a Windows Container Instance 7. Chapter 5: Deploying an EC2 Windows-Based Task 8. Chapter 6: Deploying a Fargate Windows-Based Task 9. Part 3: Windows Containers on Amazon Elastic Kubernetes Service (EKS)
10. Chapter 7: Amazon EKS – Overview 11. Chapter 8: Preparing the Cluster for OS Interoperability 12. Chapter 9: Deploying a Windows Node Group 13. Chapter 10: Managing a Windows Pod 14. Part 4: Operationalizing Windows Containers on AWS
15. Chapter 11: Monitoring and Logging 16. Chapter 12: Managing a Windows Container's Image Life Cycle 17. Chapter 13: Working with Ephemeral Hosts 18. Chapter 14: Implementing a Container Image Cache Strategy 19. Chapter 15: AWS Windows Containers Deployment Tools 20. Index 21. Other Books You May Enjoy

Understanding Windows container base images

When building your Windows application into a Windows container, it is crucial to assess the dependencies it carries, such as Open Database Connectivity (ODBC) drivers, a Dynamic-Link Library (DLL), and additional applications. These entire packages (meaning the application plus dependencies) will dictate which Windows container image must be used.

Microsoft offers four container base images, each exposing a different Windows API set, drastically influencing the final container image size and on-disk footprint:

  • Nano Server is the smallest Windows container base image available, exposing just enough APIs to support .NET Core or other modern open source frameworks. It is a great option for sidecar containers.
  • Server Core is the most common Windows container base image available. It exposes the Windows API set to support the .NET Framework and common Windows Server features, such as IIS.
  • Server is smaller than the Windows image but has the full Windows API set. It fits, in the same use case mentioned previously, applications that require a DirectX graphics API.
  • Windows is the largest image and exposes the full Windows API set. It is usually used for applications that require a DirectX graphics API and frameworks such as DirectML or Unreal Engine. There is a very cool community project specifically for this type of workload, which can be accessed at the following link: https://unrealcontainers.com/.

Important note

The Windows image is not available for Windows Server 2022, as Server is the only option for workloads that require a full Windows API set.

Enumerating the Windows container image sizes

You have probably already heard about how big Windows container images are compared to Linux. While, technically, the differences in sizes are exorbitant, it doesn’t bring any value to the discussion since we won’t address Windows-specific needs with Linux, and vice versa. However, selecting the right Windows container base image directly affects the solution cost, especially regarding the storage usage footprint, drastically influencing the container host storage allocation.

Let’s delve into Windows container image sizes. The values in the following table are based on Windows Server 2022 container images:

Image name

Image size

Extracted on disk

Nano Server

118 MB

296 MB

Server Core

1.4 GB

4.99 GB

Windows Server

3.28 GB

10.8 GB

Table 1.1 – Windows container image sizes

As discussed in the previous section, the difference in size refers to the amount of the Windows API set exposed to the container, addressing different application needs. The Extracted on disk column is crucial information because, on AWS, one of the price compositions for the block storage called Amazon Elastic Block Storage (EBS) is the amount of space provisioned; you pay for what you provision, independent of whether it is used or not, thereby influencing the EBS volume size you will deploy on each container host.

We’ll dive deep into this topic in greater detail in Chapter 14, Implementing a Container Image Cache Strategy.

You have been reading a chapter from
Running Windows Containers on AWS
Published in: Apr 2023
Publisher: Packt
ISBN-13: 9781804614136
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image