Встреча разработчиков Linux-контейнеров

imageВ этом году проекту OpenVZ исполнится 10 лет. Мы разрабатывали технологию изолированных окружений для ОС Linux ещё тогда, когда это было не модно. 19 сентября мы собираем первую встречу людей из OpenVZ-сообщества, тех, кто пользуется нашими технологиями и Linux-контейнерами вообще. Послушать доклады пользователей и разработчиков OpenVZ, задать им вопросы, пообщаться в перерывах.

Откроет сессию докладов заслуженный спикер компании Parallels/Odin и разработчик проектов OpenVZ и CRIU Павел Емельянов со своим докладом о миграции контейнеров. Павел занимался технологией миграции контейнеров в Virtuozzo/OpenVZ, а позднее стал инициатором и ментейнером проекта CRIU, поэтому на миграции он уже собаку съел. Павел расскажет о всех плюсах и минусах живой миграции контейнеров, о принципах работы CRIU и расскажет и новом подпроекте P.Haul (он же «пихль»).

Долгое время в OpenVZ была собственная реализация технологии управления памятью контейнеров. Разработчики прошли через огонь, воду и медные трубы несколько реализаций этой технологии, но в Virtuozzo 7 на базе RHEL7 ядра управление памятью будет реализовано только на основе технологий ванильного ядра. Таким образом в этой части ядра OpenVZ не останется вообще наших патчей к ядру. Обо всём этом подробнее расскажет автор новой технологии управления памятью в OpenVZ Владимир Давыдов.

Есть несколько парадигм использования контейнеров: использование как полноценной операционной системы, изолированной от хостовой ОС (LXC, OpenVZ/Virtuozzo) и как изолированное окружение для одного приложения (Docker). LibCT — библиотека, которая позволяет создавать изолированные среды и управлять ресурсами. Основная идея в том, чтобы принести контейнеры на уровень приложений. Сейчас применение контейнерной функциональности затрудняется сложностью использования интерфейсов ядра и неоднородностью управления ресурсами на пользовательском уровне. Кроме того, разные операционные системы имеют разные интерфейсы. LibCT поможет забыть об этих проблемах и предоставит единый интерфейс. Саша Бурлука занимается разработкой LibCT, поэтому он сможет ответить даже на самые каверзные вопросы об этой библиотеке.

Хостинг — это только один из вариантов применения Linux-контейнеров. Контейнеры изменили представление о DevOps-процессах, позволяя плавно переходить от одного этапа развития приложения к другому (разработка, тестирование, стейдж и продакшн), а также использовать микросервисную архитектуру. Именно поэтому многие облачные платформы уже внедрили контейнерные технологии в «конвейер» разработки и запуска приложений. DevOps и контейнеры помогают эффективнее реализовывать бизнес-планы. В докладе мы рассмотрим текущую ситуацию на рынке DevOps и контейнеров. Также мы обсудим известные проблемы этого направления и способы их решения для высоконагруженных комплексных приложений, размещённых в контейнерах. Дмитрий Лазаренко из компании Jelastic расскажет о своём опыте использования OpenVZ для задач DevOps.

Изначально контейнеры позиционировались как технология для хостинга — провайдер должен был иметь возможность разделять окружения разных пользователей, задавать разные параметры для этих окружений в зависимости от тарифного плана и т.д. То есть идея использования контейнеров в хостинге не нова. OpenVZ пользуется заслуженной популярностью среди хостеров. Но чтобы привлекать к себе пользователей, хостеры должны друг от друга отличаться. Русоникс — одна из старейших компаний на рынке хостинга в Рунете и тех компаний, которые выбрали OpenVZ. Константин Анисимов (генеральный директор Русоникс) в своём докладе расскажет о причинах, по которым они выбрали Virtuozzo и какие плюсы даёт хостинг-провайдеру использование технологии контейнеров.

CloudLinux — дистрибутив Linux со своими фишками для shared-хостинга (LVE (lightweight virtual environment), CageFS). Руслан Купреев работает в компании CloudLinux и в то же время является разработчиком CRIU (Checkpoint and Restore In Userspace). Они в компании используют CRIU в модуле веб-сервера Apache mod_lsapi для ускорения запуска PHP. Как это работает и насколько ускоряется запуск PHP вы узнаете из доклада Руслана.

После того, как случился бум в подходе к управлению контейнерами, и на рынке появился Docker, пользователи хостинга захотели иметь возможность запускать контейнеры Docker в обычных VPS. OpenVZ предоставляет такую возможность. Павел Тихомиров расскажет о том, как использовать Docker внутри контейнеров Virtuozzo, чем отличаются подходы к контейнерам в Virtuozzo и Docker, в чём состоят их плюсы и минусы и почему их полезно сочетать. Кроме того, будут рассмотрены некоторые технические решения, примеры использования Docker в Virtuozzo и текущие планы.

Большинство существующих решений виртуализации используют виртуальные диски (блочные устройства). Важнейшее свойство таких дисков — «thin provision» (способность выделять место только в случае необходимости). Но серьёзный минус этого свойства — «размазывание» данных по диску в процессе работы. Размер образа диска постоянно растёт, даже если объем реально используемых данных остаётся постоянным. В результате на виртуальном диске накапливаются блоки, которые выделены, но файловой системой не используются. Дмитрий Монахов расскажет, как команды проектов Virtuozzo и CRIU совместно с LKML решают эту проблему и почему существующих механизмов недостаточно.

Участие во встрече бесплатное, однако нужно зарегистрироваться.

Если вы по каким-то причинами не сможете участвовать, то можно будет посмотреть записи выступлений, которые Яндекс обещал выложить.

© Habrahabr.ru