«В будущем разработчик приложения, имеющего Windows-компоненты, сможет управлять им с помощью Docker», — пообещал Соломон Хайкс, создатель и ведущий разработчик Docker, а также директор по технологиям одноименной компании.
До сих пор технология Docker работала только на Linux. Партнеры создадут ее вариант под названием Docker Engine, который сможет функционировать в следующей версии Windows Server и в облаке Microsoft Azure.
По замыслу, в будущем архитекторы смогут строить распределенные системы, содержащие программные компоненты как для Windows, так и для Linux. «Станет гораздо проще компоновать гибридные системы, состоящие из различных модулей, подбираемых в зависимости от потребностей приложения», — добавил Хайкс.
Судя по всему, в Microsoft придерживаются той же точки зрения, что и в Google, где рассматривают систему контейнерной виртуализации Docker как важный компонент инфраструктурных облачных сервисов.
Возможность размещения Linux-контейнеров Docker в облаке Microsoft Azure предлагается еще с июня. Теперь же там появятся и контейнеры для Windows Server, работающие быстрее.
В Microsoft не стали создавать проприетарный вариант технологии. Docker Engine — это подпроект с открытым кодом в рамках проекта Docker, в развитии которого в Microsoft тоже собираются активно участвовать.
«Мы создаем механизм поддержки контейнеров в Windows Server, с которым Docker для Linux сможет связываться с помощью уровня оркестровки», — сообщил Джейсон Зандер, руководитель разработки Microsoft Visual Studio.
Контейнеры Docker, созданные для Linux, в Windows Server работать не смогут, по крайней мере в нативном режиме, как и Windows-контейнеры — в Linux. Но у версии для Windows Server будет тот же набор функций, что и в Linux-варианте, благодаря чему обоими можно будет управлять с помощью одного и того же набора инструментов, пояснил Хайкс.
Система контейнерной виртуализации Docker вызывает большой интерес на рынке облачных вычислений с самого своего появления в марте 2013 года. Подобно виртуальной машине, контейнер Docker содержит приложения и освобождает разработчика от необходимости реализации низкоуровневых системных функций. Но, в отличие от полноценной виртуальной машины, контейнер Docker не имеет полной операционной системы — он пользуется операционной системой хоста, на котором работает.
Вследствие этого контейнеры Docker могут выполняться быстрее и требовать меньше ресурсов, чем виртуальные машины. На создание и запуск полноценной виртуальной машины может понадобиться несколько минут, тогда как контейнер можно проинициализировать за считаные секунды. Контейнеры также позволяют своим приложениям выполняться быстрее, чем на виртуальных машинах, для которых характерны непроизводительные затраты, связанные с работой под управлением гипервизора.
Помимо Google еще ряд операторов облаков и разработчиков программного обеспечения поддерживают Docker, в том числе Digital Ocean, Amazon Web Services и VMware, а также создатели дистрибутивов Linux уровня предприятия — Red Hat и CoreOS.
«В Microsoft приняли разумное решение, предоставив разработчикам Windows-приложений доступ к Docker», — считает Эл Хилва, директор исследований IDC.
По его мнению, активность Microsoft свидетельствует о том, что в корпорации меняют отношение к открытому коду, который раньше рассматривали как конкурентную угрозу.
«Microsoft явно стала действовать быстрее и более открыто, демонстрируя готовность кооперироваться и взаимодействовать с разработчиками конкурентных технологий», — добавил Хилва.
В онлайн-репозитории Docker Hub, который ведет компания Docker, теперь появится раздел для Windows-контейнеров. Сейчас в репозитории около 45 тыс. контейнеров с приложениями для Linux. Microsoft и Docker также обеспечат связь между Docker Hub и облаком Windows Azure.
Разработка проекта с открытым кодом Docker контролируется одноименной компанией, ее финансирует группа венчурных фондов: AME Cloud Ventures, Benchmark, Greylock Partners, Insight Venture Partners, Sequoia Capital и Y Combinator.