Компания Red Hat открыла код облачной PaaS-платформы OpenShift
Примечательно, что 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".
Источник: http://www.opennet.ru/opennews/art.shtml?num=33737
|
0 | Tweet | Нравится |
|