Главная > Open Source, PHP, веб-обзоры, Разное, Стартапы > Мгновенное развёртывание open-source инфраструктуры: MAMP/LAMP/RAMP Stack от BitNami

Мгновенное развёртывание open-source инфраструктуры: MAMP/LAMP/RAMP Stack от BitNami

17 ноября 2007

bitnami.pngДумаю, что многие пользователи, да и разработчики, частенько хотят попробовать какие-то серверное ПО, например, тестируя и выбирая платформу для нового проекта, или нужно продемонстрировать решение для заказчика или начальника. Да и просто с минимальными усилиями попробовать популярные веб-приложения, оценить, что это такое и с чем его едят. Но как это сделать, не выделяя отдельный сервер, зачастую на новой ОС (Linux или что-то аналогичное), не заморачиваясь с установкой виртуальных машин (хотя такое решение и одно из самых лучших), или не влезая в дебри конфигурации под свою рабочую ОС, не скачивая с десятков узлов различное программное обеспечение и не примеряя на себе звание тестировщика по совместимости. Для этого есть специальные решения.

Немного раньше, в начале периода бурного расцвета виртуализации, компания VMware призывала создавать разработчиков образы своих программ, которые могли бы запускаться в среде её виртуальных машин, таким образом распространялось бы сразу и ПО и все зависимости и даже операционная система, а пользователь, используя бесплатный VMPlayer мог запускать заранее сконфигурированную среду, в которой все сразу работает "с коробки". Многие воспользовалась этой идеей, особенно это хорошо подходит для очень тяжёлых приложений, которые требовательны к настройке своего окружения, да и сами по себе являются сложными комплексами - во многих случаях средний пользователь или администратор только так может оценить то или иное решение. Но есть и обратная медаль этого - такие приложения очень уж большие, ведь им нужно за собой тянуть всю систему, включая ОС, все зависимости и дополнительное ПО, что сказывается на размере (редко когда он меньше среднего однодисковго дистрибутива), да и требования к компьютеру для запуска таких виртуальных машин достаточно большие. А ведь многие опен-сорс приложения сами по себе совсем небольшие, от пары мегабайтов до сотни-двух, включая необходимое окружение.

Вот для таких случаев существует проект BitNami, предоставляющий как инфраструктурную основу для развёртывания приложений, так и поставляющий набор заранее сконфигурированных и снабжённых инсталлятором приложений. Основной ориентир разработчики сделали на приложения, использующие PHP, Java и Ruby. Модель BitNami включает в себя два компонента - инфраструктурный стек и сами приложения.

Существует три варианта стеков - WAMPStack, LAMPStack и MAMPStack.

  • WAMPStack - пакет для Win32 платформы, включающий в себя веб-сервер Apache 2 с дополнительными модулями, MySQL СУБД вместе со средствами администрирования и язык РНР (кстати, довольно новая версия, как ни странно для такого рода проектов, обычно используется консервативный подход).
  • MAMPStack - такой же пакет, только для систем на основе MacOS. Есть версии как для Intel-based, так и PowerPC. Заметьте, что под последней версией MacOS X Leopard пакет не работает, разработчики обещают выпустить дополнение.
  • LAMPStack - это пакет для Linux-систем.
  • RubyStack - сейчас в бета-варианте, но уже доступен для Win32 платформы. Включает в себя Apache2, MySQL, Subversion и фреймворк Ruby on Rails.

Сами стеки не такие и большие, размер колеблется в районе 30 - 50 Мб, поэтому даже для медленных каналов это не станет сложностью.

Далее следует определится с приложениями, которые мы хотим попробовать развернуть на этой платформе. На сайте есть набор из 15 приложений, которые вы можете попробовать уже сейчас. Это и блоговые платформы (WordPress и Roller), системы баг-трекинга и управления проектами (Mantis, Redmine), CMS (Drupal, Joomla), а также форумы, вики и несколько других систем. Все пакеты содержат все необходимые данные и настройки и поставляются в виде платформо-зависимого инсталлятора. Обращу ваше внимание, что некоторые пакеты достаточно большие, так как включают все недостающие компоненты, например для Java-приложений в пакет входит JDK и другие необходимые программы. Не все программы правда, доступны для всех платформ, но это пока можно списать на недоработки, авторы обещают исправить положение. Правда, на мой взгляд, скорее нужно сосредоточится на развитии и расширении базовых стеков, включая туда все необходимые языковые платформы и библиотеки, что позволит распространять приложения на каждый пакет и одновременно уменьшить их размер.

bitnami_soft.png

И так, какой же вердикт? Безусловно, проект очень интересный и полезный, он нацелен на правильную нишу - так как популярность различных open-source решений растёт, то и вырастает число пользователей и компаний, которые хотят попробовать, но их отпугивает сложность построения инфраструктуры и отсутствие, зачастую, демонстрационных версий и документации. По крайней мере одну проблему BitNami успешно решает. Проект сразу нацелен на все популярные платформы, в этом явно чувствуется профессиональный подход. Хотя есть и минусы, вернее, просто недоработки или даже желаний на будущее. Не хватает стека для Java приложений (в форуме разработчики рассказали, что готовят платформу на основе Apache Tomcat и Glassfish), не хватает именно единого универсального стека, который бы включал все языки и серверные платформы, возможно даже различные СУБД (ведь не все проекты заточены именно под MySQL). И, конечно, не хватает набора всего ПО в одном пакете, без необходимости скачивать и устанавливать каждое приложение в отдельности. Да, для рядового использования это приемлемо, но если задаться целью сразу испытать несколько программ, то это отнимает время. Еще очень бы хотелось увидеть подробное руководство по самостоятельному созданию инсталляционных пакетов, тогда пользователи и разработчики могли бы сами готовить свои приложения для распространения под стеком от BitNami. Такая среда выглядела бы уместно в виде плагина или даже самостоятельного приложения на основе Eclipse.

Кстати, дарю идею - ведь Eclipse это уже кросс-платформенная среда, работающая под всеми распространёнными операционными системами. Если встроить в неё веб-сервер, дистрибутивы всех платформ и браузер, то получится отличная среда для развёртывания демонстрационных приложений, а обновления и инсталляция при помощи уже встроенной инфраструктуры обновления очень легко и такое решение обладает необходимой гибкостью и универсальностью.

Комментирование отключено.