Автор:
Михаил Филиппов
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
В начале октября 2014 года Microsoft объявила о партнерстве с Docker, в рамках которого будет представлена реализация контейнеров для будущей версии ОС Windows Server.
Реализацию своих контейнеров Microsoft предлагает выполнять по новой концепции – NanoOS – значительно редуцированной OC Windows. Отказавшись от графической подсистемы, Microsoft получила очень компактный образ ОС, обладающий высокой надежностью и по статистике требующий меньшее количество обновлений безопасности. Оборотная сторона – потеря совместимости со всеми приложениями, взаимодействующими с пользователем черезграфический интерфейс.
Контейнеры Parallels
Увеличение мощностей вычислительных систем продолжает подчиняться закону Мура, но как эффективно использовать эти системы с минимальными накладными расходами? Одним из возможных решений является применение контейнеров для контроля ресурсов и изоляции приложений, запущенных разными пользователями.
Пионером и лидером в продвижении контейнерных технологий является компания Parallels, которая вот уже без малого 10 лет предлагает свою собственную реализацию контейнеров для Windows. Подход, реализованный в Parallels, основан на виртуализации ядра ОС, которое после модификаций становится способным запускать произвольное количество пользовательских окружений Windows.
Пользовательское окружение размещено на виртуальном диске, содержащем ссылки на файлы ОС Windows и свой собственный системный реестр; с этого же диска запускаются системные файлы ОС Windows, которые формируют окружение для пользователей (в том числе администратора), приложений и сетевого взаимодействия через виртуальный адаптер. Это то, что мы называем Parallels контейнер для Windows.
А что под капотом?
Контейнеры Parallels для ОС Windows полагаются на модификации в ядре. При разработке контейнеров Parallels центральное место занимают две технологии: реверс-инжиниринг и обновление программного кода во время исполнения. Вся технология виртуализации работает в ядре ОС, что позволяет разделять объекты ядра между контейнерами, изолируя контейнеры друг от друга. Каждый контейнер имеет свой собственный набор процессов, сессий и драйверов, а также реестр и дерево объектов ядра.
Для применения в жизни приложения внутри контейнеров необходимо ограничивать, поэтому контроль ресурсов – ключевая функциональная возможность контейнеров Parallels. Можно контролировать потребление контейнером вычислительной мощности процессоров, памяти, занимаемого места на СХД и сетевого трафика.
Шаблоны
Самый эффективный способ установки приложений внутри контейнеров Parallels – использовать шаблоны приложений. Физически шаблон – это файл, в котором хранится информация, воспроизводящая оригинальное размещение файлов, папок и ключей реестра. Для создания шаблона приложения используется инструмент, который отслеживает все изменения на файловой системе и в реестре, которые вносит установщик приложения. Применение получившегося шаблона приложения к контейнеру эквивалентно установке этого приложения. Пользователь контейнеров Parallels может самостоятельно создать шаблон из любого приложения, которое можно установить внутрь контейнера.
Файловая система с поддержкой копирования при записи
Контейнеры Parallels делят друг с другом не только ядро, но и все файлы, установленные на хост из дистрибутива OC Windows. Дедупликация данных осуществляется на файловом уровне с помощью шаблонов и специальной файловой системы с поддержкой копирования-при-записи. Для каждой поддерживаемой версии ОС Windows Parallels выпускает шаблон ОС.
Изнутри контейнера обращение к файлам из шаблона ОС выглядит абсолютно прозрачно, создавая целостное представление файловой структуры ОС Windows, состоящее из общих и приватных для контейнера файлов. Поддержка вфайловой системе копирования-при-записи позволяет избежать модификации файлов из шаблона ОС, сохраняя изменения только внутри контейнера.
Кому это нужно?
Продукты хостинга на базе контейнеров Parallels предлагают ведущие мировые провайдеры, такие как AT&T, 1&1, GoDaddy и HostEurope. Контейнеры Parallels идеально подходят для виртуализации рабочих столов, для которых Parallels впартнерстве с интегратором IBS предлагает сертифицированное ФСТЭК решение.
Проект стартовал в мае 2002 года и уже пережил семь публичных релизов, было выпущено без малого 300 обновлений, а кодовая база превысила 1 300 000 SLOCs. Количество контейнеров, созданных с использованием технологий Parallels, превысило 1 000 000!
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
|