Компания Red Hat открыла код облачной PaaS-платформы OpenShift
30 апреля 2012 года
Спустя почти год с момента начала тестирования PaaS-платформы OpenShift компания Red Hat анонсировала полное открытие связанных с данной платформы исходных текстов и создании открытого варианта платформы - OpenShift Origin. Код не был открыт сразу после начала тестирования, так как платформа базируется на стороннем продукте, полученном после поглощения фирмы Makara, что потребовало дополнительного времени на согласование юридических вопросов. Кроме того, компания Red Hat хотела вначале довести код до готового к промышленной эксплуатации состояния, и открыть код уже полнофункционального и отлаженного продукта. Код открыт под лицензией Apache и размещён на GitHub.
Примечательно, что OpenShift Origin позиционируется как полностью открытый проект, не только в смысле открытости кода, но и открытости процесса разработки. Любой желающий может присоединиться к разработке и предоставить свою порцию улучшений в кодовую базу OpenShift. Red Hat выступает лишь спонсором, предоставляя необходимые ресурсы, но участвуя в разработке наравне с другими представителями сообщества в соответствии с принципами меритократии, при которых решения принимают представители сообщества, вносящие наибольший вклад в развитие проекта. Коммерческий PaaS-сервис Red Hat будет строится непосредственно на открытой кодовой базе OpenShift Origin, без сокрытия кода дополнительной функциональности. Все развиваемые в рамках коммерческого сервиса наработки будут сразу возвращаться в основной открытый проект.
Подобный подход к разработке позволит гарантировать отсутствие привязки к определённому вендору и избежать контроля разработки со стороны одного производителя. В сочетании с либеральной лицензией Apache данные обстоятельства делают проект привлекательным для участия в его развитии сторонних производителей. В этом плане OpenShift напоминает проект OpenStack. Поясняя связь между OpenShift и OpenStack компания Red Hat указывает на то, что данные проекты взаимно дополняют друг друга, развиваясь при этом отдельно и нацеливаясь на разные сегменты облачных систем: IaaS (инфраструктура как сервис) работает на уровне обеспечения запуска операционной системы, а PaaS (платформа как сервис) предоставляет сервис на уровне выполнения отдельных приложений). OpenShift Origin не является частью OpenStack, но может работать поверх инфраструктуры поддерживаемой OpenStack, примерно, как Apache и MySQL не являются частью Linux, но могут работать в составе дистрибутивов Linux.
Для упрощения знакомства с платформой подготовлен поддерживающий работу в VirtualBox образ LiveCD с преднастроенным окружением OpenShift Origin. Используя OpenShift Origin можно легко развернуть PaaS-инфраструктуру, как на ноутбуке разработчика, так и в датацентре предприятия. Использование OpenShift на локальных системах разработчиков позволят упростить отладку и тестирование развёртывания приложений для PaaS-систем, а также проведения адаптации своих фреймворков для PaaS. Создание локальной PaaS-инфраструктуры предприятия даёт возможность избавиться от зависимости от внешних сервисов и сохранить полный контроль над своими данными, обеспечив их полную изоляцию от внешнего мира.
OpenShift предоставляет разработчикам возможность запуска приложений, написанных на языках Java, Python, PHP, Perl, JavaScript и Ruby, с использованием фреймворков JBoss, Spring, Node.js, Seam, Weld, CDI, Rails, Rack, Symfony, Zend Framework, Twisted, Django и Java EE. Из баз данных поддерживаются MySQL, EnterpriseDB (PostgreSQL), SQLite, Couchbase, MongoDB, Membase и Memcache. Для управления доступны как интерфейс командной строки, так и наглядный web-интерфейс. Доступны средства для создания собственных плагинов, расширяющих возможнолсти OpenShift и позволяющих использовать новые фреймворки, языки и СУБД. PaaS-платформа, в отличие от IaaS, избавляет разработчика от необходимости обслуживания ОС и системных компонентов, таких как СУБД, языки программирования, программные фреймворки и т.п. В PaaS от пользователя требуется только загрузка приложения, которое будет запущено в готовом окружении, предоставляемом платформой.
Архитектура OpenShift Origin состоит из нескольких взаимосвязанных компонентов, позволяющих создавать окружения, проводить развёртывание приложений и управлять приложениями в облачной PaaS-инфраструктуре. В том числе предоставляются средства для выделения приложениям дискового пространства, ресурсов CPU, памяти, а также доступа к серверам Apache или JBoss. В зависимости от типа размещаемого в PaaS приложения предлагается набор шаблонов, определяющих состав файловой системы окружения (например, шаблоны для php, python, perl).
В состав платформы входят:
- Брокер (Broker) - центральный сервис, предоставляющий REST API для пользователей и координирующий работу узлов с контейнерами приложений. Отвечает за выполнение всех действий, связанных с управлением приложениями, в том числе управление логинами, обновлением DNS, контролем за состоянием приложений и размещением приложений;
- Картриджи с реализацией функциональности, необходимой для запуска определённых типов приложений пользователя. Например, картриджи для языков программирования, СУБД, фреймворков и т.п. Из картриджей необходимой функциональности формируются Gear-окружения, в которых непосредственно выполняются приложения (например, Gear может состоять из картриджей PHP и MySQL). В свою очередь, несколько Gear-окружений для совместного использования ресурсов (по аналогии с shared-хостингом) могут запускаться на одной виртуальной машине или физическом хосте, которые в терминологии OpenShift именуются узлом;
- Система обмена сообщениями (Messaging System) - обеспечивает связь между StickShift и каждым узлом;
- Система аутентификации пользователей - подключаемый компонент для обеспечения аутентификации. По умолчанию для хранения параметров аутентификации используется MongoDB;
- Управления доменными именами (Domain Name Management) - сервис регистрации и управления DNS, выполненный на базе сервиса BIND;
- Клиент управления через командную строку (rhc) - позволяет подключиться к OpenShift через REST API;
- Git-репозиторий - код выполняемого в PaaS-приложения помещается в отдельный Git-репозиторий, для помещения проекта в PaaS-окружение или для внесения изменений достаточно выполнить "git push".
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.