Зачем мы открыли код Virtuozzo
«Всего» 16 лет назад мы разработали первый концепт технологии контейнерной виртуализации, который позднее стал серверным продуктом мирового класса. В 2005 году стартовал проект OpenVZ, в рамках которого разрабатывалась открытая версия коммерческого продукта. Несмотря на то, что OpenVZ уступает коммерческому продукту по функциональности, это решение часто используют как на рынке хостинга, так и в небольших проектах, где требуется легковесная виртуализация. Сейчас контейнеры становятся намного популярнее: если раньше единственной областью их применения был хостинг (и этот сегмент контейнеры захватили на 90%), то сегодня их все чаще используют на корпоративном рынке — от разработки ПО до промышленных систем (OpenVZ используют в Pixar, Atlassian, Яндекс и др.). В них заинтересованы и «большие» ребята — Google, IBM, Facebook и так далее. В принципе, это уже часть ответа на вопрос «Зачем мы объединили кодовые базы коммерческого и открытого проектов, и анонсировали открытую разработку OpenVZ?», но под катом мы хотели бы подробнее рассказать, зачем это сделали.Поскольку в ходе создания наших продуктов мы по мере возможности отдаём все наши наработки в основное ядро (upstream), большая часть кода для функциональности контейнеров в современном ядре Linux была написана либо нашими сотрудниками, либо на основании патчей и идей, предложенных нашими сотрудниками.Принимая во внимание (см. выше) растущую популярность технологии контейнеров, мы анонсировали два серьёзных изменения в разработке:
Объединение исходного кода компонентов OpenVZ и Virtuozzo, и их превращение в один дистрибутив Перенос процесса разработки в сообщество OpenVZ в максимальной степени, чтобы позволить всем желающим принять в нем участие Цель этих изменений — сделать открытую платформу для построения решений виртуализации, и, прежде всего, контейнерной виртуализации. Теперь все, кто уже пользуется открытой или коммерческой версией решения, могут решать свои задачи с помощью открытого продукта, который развивается в соответствии с нуждами пользователей.
С точки зрения пользователей будет один дистрибутив — Virtuozzo, который будет предоставлять все возможности контейнерной и гипервизорной виртуализации без ограничений. Для платных пользователей будет доступна дополнительная функциональность, которую можно будет установить как набор пакетов. То есть переустановки или апгрейда одного продукта на другой не потребуется.
Такие изменения позволят получить больше плюсов пользователям и открытой, и закрытой версий:
Для пользователей открытой версии будет доступна функциональность, которая раньше была только у коммерческих пользователей. В будущем большинство функций, которые разрабатываем мы, и 100% функций, которая приходящих из сообщества OpenVZ, будет в открытой части. С точки зрения разработчика API-интерфейсы обоих версий будут идентичными (разумеется, коммерческая версия может иметь дополнительные API для расширенной функциональности). Совместимость API — это один из наших приоритетов; она необходима для построения экосистемы — время изолированных продуктов давно прошло. Для своих коммерческих пользователей мы сфокусируемся не только и не столько на расширенном наборе функциональности, сколько на том, чтобы превратить коммерческий продукт из платформы для виртуализации в полноценное решение для сервисных и облачных провайдеров, за счет дополнительных сервисов. Уже сейчас есть такие сервисы (включая решение для хранения данных, которое может интегрироваться с Virtuozzo), и в будущем их станет только больше. С открытием исходного кода продукта и процесса разработки у пользователей появляется возможность вносить изменения в продукт самостоятельно. Вы можете самостоятельно реализовать те технологии, которые смогут улучшить ваш бизнес. Вы можете присоединиться к разработке OpenVZ, а в комментариях задать вопросы и высказать все, что вы об этом думаете. Так же мы постоянно сообщаем о новостях проекта в социальных сетях.На прошлой неделе мы запустили опрос для пользователей OpenVZ, чтобы лучше понимать, как люди используют OpenVZ-контейнеры, какие плюсы и минусы они видят в этом решении виртуализации. Если вы пользуетесь наработками проекта, то ответить на вопросы можно здесь.
Статья была написана в соавторстве с Андреем Моруга.