Стал доступен полугодовой релиз Windows Server, версии 2004 (Semi-Annual Channel, SAC). В последних релизах команда разработки, выполняла оптимизации для контейнеров. Данный релиз не стал исключением, и разработчики продолжили улучшать основы для базовой платформы контейнеров, такие как производительности и устойчивость. Совместно с командами .NET и PowerShell продолжили оптимизировать производительность и размер образа для контейнеров с ядром сервера (Server Core). В части сети контейнеров было реализовано несколько улучшений для обеспечения масштабирования, надёжности и устойчивости.
Пример развертывания нового образа контейнера Windows Server версии 2004 из MCR:
docker pull mcr.microsoft.com/windows/servercore:2004
docker pull mcr.microsoft.com/windows/nanoserver:2004
docker pull mcr.microsoft.com/windows:2004
Образ контейнера с ядром сервера (Server Core) – это один из четырех образов базовой операционной системы Windows. Он спроектирован для максимальной совместимости приложений, чтобы клиенты могли модернизировать свои традиционные приложения Windows Server. Большинство таких приложений – это веб-приложения ASP.NET. В версии 2004 образ контейнера Server Core более не оптимизирован для производительности .NET Framework, что позволило сократить размер. Вместо выполнения оптимизации .NET Framework (такой как NGEN) в базовом образе, она выполнена в образе более высокого уровня.
Следующая таблица содержит краткую сводку о сокращении размера образа контейнера с ядром сервера (Server Core) в последних трёх полугодовых релизах (SAC). Загружаемый размер (или “сжатый”) обозначает размер получаемого образа при запуске команды docker pull, а размер на диске (или “распакованный”) обозначает размер полученного образа, при выполнении команды docker images. Все значения в таблице основаны на значениях RTM-образов c ежемесячными обновлениями за май 2020-го года.
Размеры | Версия 1903 | Версия 1909 | Версия 2004 |
Загрузка | 2.311 ГБ | 2.257 ГБ | 1.830 ГБ |
Размер на диске | 5.1 ГБ | 4.97 ГБ | 3.98 ГБ |
Образ контейнера .NET Framework также стал меньше. Оптимизация NGEN для .NET Framework в контейнерах теперь больше нацелена на приложения ASP.NET и скрипты Windows PowerShell. Дополнительное изменение оптимизации сборок в образе .NET Framework (а не в базовом образе ядра сервера) обеспечивает технические преимущества, которые позволяют сократить размер контейнера.
Из обратной связи, которая приходит от клиентов Microsoft, можно сделать следующие выводы: контейнеры Windows предоставляют простой путь модернизации традиционных серверных приложений и обеспечивают возможность применения Kubernetes и прочих ультрасовременных технологий, однако размер контейнеров Windows, особенно контейнеров с ядром сервера, достаточно большой, что требует много времени на загрузку и локальную распаковку. Microsoft рассматривает несколько путей для оптимизации и решения данной проблемы. Данный релиз является ещё одним шагом вперёд для клиентов, заинтересованных в масштабировании производственных приложений, CI/CD и любом другом рабочем процессе, который получает преимущества от более быстрого запуска и распаковки не кэшированных образов.
Команда разработки будет рада услышать любую обратную связь (win-containers@microsoft.com).
P.S. А с новыми возможностями полугодового релиза Windows 10 можно познакомиться при помощи моей статьи: «Новое в Windows 10 версии 2004».
Комментариев нет:
Отправить комментарий