Сдерживание облака: начало работы с контейнерами Windows

Опубликовано: 17 Апреля, 2023
Сдерживание облака: начало работы с контейнерами Windows

Большая часть ИТ-инфраструктуры основана на виртуализации, когда на виртуальных машинах размещаются монолитные приложения. Однако есть более модульный метод разработки облачных приложений — контейнеры. Контейнеры всегда были основой систем Linux, но только недавно они были представлены в Windows Server. Их растущая популярность связана, прежде всего, с их небольшими размерами, портативностью и высокой скоростью.

Вместо монолитных тяжеловесных приложений и виртуальных машин контейнеры позволяют разработчикам создавать приложения с использованием групп легковесных микросервисов. Это позволяет вашему бизнесу раскрыть весь потенциал Windows Server 2016. Но сначала вы должны ознакомиться с операциями контейнера. Вот что вам нужно знать.

Что такое контейнеры Windows Server?

Средство для виртуализации операционных систем, контейнеры помогают запускать приложения в системах с изолированными ресурсами. Упаковывать конфигурации приложений, коды и зависимости проще с помощью контейнеров, поскольку они разбиты на простые строительные блоки для обеспечения операционной эффективности, согласованности среды, контроля версий и производительности разработчиков. Контейнеры обеспечивают детальный контроль над различными ресурсами, повышая эффективность вашей инфраструктуры. Каждый контейнер содержит минимальное количество ресурсов, и любой ресурс, специфичный для ОС, собирается из базовой операционной системы. В серверах Windows контейнеры имеют собственный реестр, файловую систему и сеть. Когда контейнер должен взаимодействовать с этими системами, он использует хост-ОС.

Типы контейнеров Windows

Контейнеры в Windows Server 2016 сгруппированы в две категории — Hyper-V и Windows Server.

Разновидность Windows Server ведет себя аналогично контейнерам, присутствующим в системах Linux. Это связано с тем, что их формат является взаимозаменяемым и совместимым как для узлов контейнеров Hyper-V, так и для узлов контейнеров Windows Server. Они очень легкие и используют одно и то же базовое сетевое соединение, базовую файловую систему и ядро ОС.

Изображение 14602
thomasmaurer.ch

Контейнеры Hyper-V, с другой стороны, в основном представляют собой контейнеры Windows Server, которые работают в разделе Hyper-V. Уровень безопасности очень высок, и они работают на облегченной виртуальной машине Hyper-V, которая полностью отделяет ее от хоста. Более того, контейнеры Hyper-V не имеют никакой доли операционной системы базового хоста. Вместо этого они используют базовую ОС виртуальной машины. Это создает среду, которая не только более безопасна, но и требует больше накладных расходов.

Microsoft представляет новый режим установки контейнеров Windows Server 2016. Этот вариант, известный как Nano Server, предназначен для использования в качестве облачной платформы, способной запускать контейнеры Hyper-V и Windows Server.

Начальные шаги

Первое, что вам нужно сделать, чтобы начать работу с контейнерами Windows Server 2016, — это выбрать правильный метод. Доступно несколько вариантов. Вы можете выбрать облачную службу, например службу контейнеров Azure. Это избавляет от необходимости запускать какое-либо физическое оборудование или оборудовать новую виртуальную машину для размещения контейнера. Размещение контейнеров также возможно с помощью PowerShell, который настраивает любую машину под управлением Windows Server 2016.

Микросервисы и контейнеры Windows Server

Контейнеры Windows Server 2016 имеют микросервисную архитектуру, которая представляет собой не что иное, как средство развертывания приложений, состоящих из небольших, независимо развертываемых модульных сервисов. Каждый из этих сервисных кластеров запускает уникальный процесс, и они взаимодействуют с другими сервисами через стандартный взаимоприемлемый протокол. Такой набор сервисов составляет последнее поколение приложений, предназначенных для бизнеса.

Микросервисные приложения следующего поколения часто называют Mode 2, поскольку многие разработчики, особенно с открытым исходным кодом, твердо убеждены, что контейнерные микросервисы станут тенденцией в будущем. Они рассматриваются как основа того, как будут создаваться приложения будущих поколений. Будучи независимыми по своей природе, микросервисы часто идеально подходят для разработки DevOps, когда приложения обновляются быстро и непрерывно. Обновления контейнера не влияют на все приложение.

Контейнеры Windows Server совместимы с микрослужбами, поскольку они не имеют состояния и имеют небольшой размер, в отличие от виртуальных машин. Их также легко обновлять и развертывать. Таким образом, когда контейнер выходит из строя вместе с запущенной микрослужбой, отказавший контейнер можно легко заменить новым контейнером.

Контейнеры Linux и узел контейнеров Windows

Технически невозможно запустить контейнеры Linux в любом контейнере Windows Server. Дело в том, что контейнеры зависят от функции ядра ОС, предоставляемой хостом, и из-за такой зависимости их невозможно запускать на разных операционных системах хоста. Таким образом, на данный момент нет мер, позволяющих запускать контейнеры Linux на Windows Server 2016 и наоборот.

Контейнеры и приложения для Windows

Контейнеры в системе Windows Server 2016 еще не приспособлены для запуска всех видов приложений. Такая поддержка все еще находится на ранних стадиях, и контейнеры не способны поддерживать все различные приложения. Существует ограниченное количество приложений, которые Microsoft сделала совместимыми для работы с контейнерами Windows Server.

Контейнеры Docker и Windows Server

Среди пользователей существует ошибочное мнение, что Docker необходим для использования контейнеров Windows Server. Это неправда, так как Docker по сути является инструментом управления. Да, он поддерживается контейнерами Windows Server, но не является обязательным. Пользователи также могут управлять контейнерами Windows Server 2016 с помощью PowerShell. Microsoft тесно сотрудничала с Docker, чтобы перенести инструмент на Windows. Преимущество использования Docker заключается в том, что он предлагает один и тот же инструмент развертывания и управления контейнерами как для Linux, так и для Windows Server 2016, что создает ощущение единообразия.

Контейнеры — это быстро развивающаяся технология, которая произвела фурор в мире Windows Server. Контейнеры предлагают множество преимуществ для предприятий, ориентированных на технологии, но еще есть возможности для совершенствования. Например, перемещение корпоративных приложений требует много времени и ресурсов. Таким образом, вместо того, чтобы преобразовывать целые приложения за один раз, лучше, если бизнес со временем преобразует отдельные монолитные разделы приложений в микросервисы.

Внедрение контейнеров в Windows Server 2016, вероятно, приведет к бимодальному пути роста ИТ в будущем. В такой среде ИТ-отдел будет работать с устаревшими приложениями, чтобы придумать новые контейнерные технологии.