Компания Red Hat представила предварительный выпуск проекта OpenShift, в рамках которого развивается специально оптимизированное для разработчиков открытого ПО PaaS-решение (платформа как сервис), предназначенное для выполнения конечных приложений в облачных окружениях (для сравнения, IaaS-платформы обеспечивают запуск образов готовых операционных систем). Платформа предоставляет разработчикам возможность запуска приложений, написанных на языках Java, Python, PHP и Ruby, с использованием фреймворков JBoss, Spring, Seam, Weld, CDI, Rails, Rack, Symfony, Zend Framework, Twisted, Django и Java EE. Из баз данных поддерживаются MySQL, EnterpriseDB (PostgreSQL), Couchbase, и mnogoDB.
Система основана на разработках компании Makara, купленной Red Hat в ноябре прошлого года. Некоторые компоненты OpenShift пока остаются закрытыми, но со временем платформа будет полностью переведена в разряд продуктов с открытым исходным кодом. По своим функциям OpenShift напоминает открытую в прошлом месяце PaaS-платформу VMware Cloud Foundry, которая пока поддерживает запуск приложений на языках Java и Ruby. Из других существующих PaaS-платформ можно отметить Zend PHP Solution Pack, Google App Engine и Windows Azure, недостатками которых является недостаточная универсальность и необходимость использования специального API.
OpenShift предоставляет три сервиса:
- Express - позволяет организовать выполнение приложений на языках PHP, Ruby и Python. Окружение рассчитано на перенос уже разработанных приложений и позволяет запустить проекты такого уровня, как Drupal и MediaWiki. Управление производится через набор работающих в режиме командной строки утилит. Запуск приложения сводится к регистрации аккаунта, установки пакета rhc (доступен в форматах deb и rpm), созданию rhc-домена (rhc-create-domain -n имя), регистрации в нем приложения (rhc-create-app -n phpapp -t php-5.3.2) и установки приложения (git commit -a; git push)
- Flex - позволяет организовать работу в окружениях, запущенных на стороне сертифицированных провайдеров облачных окружений (например, Amazon EC2), т.е. Flex предоставляет возможность автоматизации запуска приложений в IaaS-системах, беря на себя заботы по формированию образа операционной системы. В отличие от варианта Express, управление во Flex производится через графический интерфейс пользователя, в котором реализованы функции создания, развертывания, конфигурирования, помощи в миграции и мониторинга. Поддерживаются языки PHP и Java (JBoss, Java EE6), web-сервер Apache, серверы приложений JBoss AS, Tomcat, базы данных MySQL, MongoDB и Memcached.
- Power - позволяет размещать в cloud-окружениях любые приложения, работающие в Linux, включая приложения на языке Си и программы, содержащие бинарные компоненты и не привязанные к web-технологиям (например, клиент-серверные приложения, торговые системы, системы моделирования и т.п.). Архитектура рабочего окружения может быть сформирована самостоятельно, при этом пользователю предоставляется низкоуровневый доступ к конфигурации рабочего окружения на уровне операционной системы. Среди доступных пользователю функций: настройка содержимого образа виртуального окружения, система шаблонов, библиотека типовых образов и возможности по динамической генерации образов, в зависимости от типа используемой системы виртуализации.
В настоящее время использование вариантов Flex и Express доступно после регистрации для бесплатного тестирования (число участников тестирования ограничено). Тестовый запуск сервиса Power ожидается в ближайшее время.