Контейнерные технологии в приоритете у Microsof

25 Августа 2015
В версии Windows Server 2016 под названием Technical Preview 3 включена поддержка контейнеров и технологии Docker. Что же предлагает Windows Server 2016 в этом плане?

Различные возможности для того, чтобы запускать «контейнеризованные» приложения в последней версии включают в себя:

  • Docker Engine for Windows Server
  • Docker Command Line Tools
  • Visual Studio 2015 Tools for Docker

У Microsoft было два варианта развития контейнерной технологии в Windows: собственный API Windows или Docker-совместимый API. Выбрав последнее, компания может поддержать экосистему Docker через поддержку существующих средств и расширений. Средства координации, такие как Docker Swarm, Kubernetes и Mesosphere могут сразу «общаться» с контейнерами, развернутыми на Windows. Microsoft и Docker тесно поработали, чтобы внедрить Docker Engine на Windows, заменив Linux-специфичные системные вызовы на внутренний API Windows.

Средства для работы с командной строкой Docker запускаются «нативно» на Windows, позволяя командам разработчиков управлять движком Docker, запущенным на Windows-сервере, или даже на удаленных Linux-хостах. Интерфейс командной строки Docker и команды PowerShell дают возможность автоматизации работы с контейнерами. Администраторы могут выбрать какой-то из этих методов для интеграции со скриптами автоматизации.

Microsoft делает все в своих силах, чтобы привлечь не-.NET разработчиков, включая программистов на Node.js, Python и Ruby, к использованию Visual Studio. С появлением Visual Studio 2015 Tools for Docker, флагманская среда разработки Microsoft теперь поддерживает публикацию кода напрямую в контейнер. Разработчики могут расставлять точки остановки и пошагово исполнять код, запущенный в контейнере. Такая интеграция улучшает производительность разработчиков, которые разрабатывают для контейнерной среды.

Важно понимать, что поддержка контейнеров в Windows направлена на различные средства и совместимость, а не на кросс-платформенные приложения. На Windows Server нельзя запустить контейнер Linux и наоборот. Однако средства на обоих платформах смогут управлять обоими контейнерами.

Microsoft сейчас предлагает работу с контейнерами двух типов: легкие контейнеры Window Server и основанные на виртуализации контейнеры Hyper-V. Обе версии работают с Docker API и могут управляться через средства командной строки Docker.

Контейнеры Windows Server делят между собой ядро ОС. Такая архитектура позволяет быстрее запускать и эффективно «упаковывать» контейнеры, в то же время давая возможность запускать несколько контейнеров на одном хосте.

Контейнеры используют те же локальные данные и API с низкой изоляцией между ними. Такая архитектура дает меньше надежности.

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

Контейнеры Hyper-V предлагают «лучшее из двух миров»: виртуальные машины и контейнеры. Поскольку каждый контейнер содержит копию ядра Windows и памяти, контейнеры Hyper-V лучше изолированы и надежны, по сравнению с контейнерами Windows Server. Контейнеры Hyper-V предпочитаемы для сред, которые используются несколькими командами, например такими как публичные облака.

Важно понимать, что оба вида контейнеров – и Windows Server и Hyper-V – совместимы с Docker.

Microsoft сделал еще один шаг вперед в тесной кооперации с Docker.

По материалам TechRepublic 
Получить консультацию специалиста