Продолжим перевод статей Нэта Фридмана. Ссылка на оригинал статьи.

Это первая из серии статей, которые я пишу о SUSE Studio и программных решениях.

Одной из основных задач при создании SUSE Studio была цель сделать таким образом, чтобы разработчики программного обеспечения могли распространять свои приложения в качестве программных решений. Но что представляет собой программное решение, и почему разработчики должны беспокоиться об этом?

Другими словами, какую проблему мы пытаемся здесь решить?

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

Я удалил все страницы, которые не содержат пошаговых технических инструкций, таким образом осталось примерно 68 страниц, которые необходимо будет прочитать бедному айтишнику.

Первые 55 страниц “preinstallation” - это те вещи, которые необходимо сделать для подготовки операционной системы к установке приложения. 55 страниц до того момента, как вы просто сможете прикоснуться к приложению!

Руководство даже предоставляет неоходимую таблицу параметров ядра и их значение, которые айтишнику придется набирать руками:

Это ужасно, но в мире программного обеспечения это способ слишком часто встречается.

Конечно, многие приложения устанавливаются гораздо проще, чем в описанном примере. Но установка даже относительно простых приложений может закончиться неудачей из-за невозможности разрешить зависимость, несовместимой библиотеки или версии ядра. Это происходит и на Linux, и на Windows. Это происходит повсеместно.

Фактически, каждый человек, которых я знаю, имел опыт попытки и неудачной установки приложения. И отступал.

Я знаю, о чем я говорю: это случалось и с вами.

И еще, в этот самый момент тысячи людей устанавливают те же самые приложения на свои сервера. И не у всех это получится.

Такие системы репозиториев свободного программного обеспечения как apt-get, yum или OBS, которые заново компонуют общее множество приложений каждый раз при изменении основных библиотек, способны помочь. Но не все программное обеспечение свободно, и эти системы также подвержены ошибкам.

Разговаривая с продавцами программного обеспечения за последние два года, я выяснил, что неправильно установленное программное обеспечение является причиной почти 50 процентов обращений в службу поддержки.

Таким образом, современные способы установки программ разочаровывают конечных пользователей и затратны для разработчиков.

Что мы можем с этим сделать?

Введение программного решения.

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

Вы можете рассматривать это в качестве экстремальной формы статической линковки.

Программные решения приходят в виде файлов, которые могут быть образом виртуальной машины, образом диска, образом для установки на USB-брелки или Amazon EC2 AMI.

Ниже приведено небольшое изображение.

(/images/2009/07/31/susestudio/appliance-tax.png)

Вместо обращения к своим клиентам для сборки приложений, операционных систем и промежуточное ПО вместе, поставщики программного обеспечения могут просто распространять готовый к использованию комплект, который загружает мастер установки.

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

Старый путь

Путь программного решения.

Формат программного решения может облегчить разработчикам продажу их программного обеспечения, поскольку им не придется направлять предварительно “коммерческих инженеров” для установки приложения в случае, если клиенты хотят проверить приложение или получить общее представление.

Достоинство очевидно: как можно больше облегчить для людей возможность попробовать вашу разработку. Так что мы увидим большее количество разработчиков и opensource-проектов, размещающих образы VMware и образы Live CD на своих веб-сайтах для того, чтобы люди могли проверить их в работе.

Мы также выяснили, что компании, продающие большие, комплексные программы, могут использовать программные решения для продажи их небольшим компаниям, не имеющим в своем составе опытного IT-отдела. Некоторые из самых крупных софтверных компаний в мире, например SAP или Oracle, практически достигли предела в увеличении продаж среди крупнейших клиентов, и одна из возможностей роста для них - “downmarket”, более мелкие компании, которые хотят более легкой установки и обслуживания.

Между прочим, я полагаю, что это одно из преимуществ, что Oracle смог добиться приобретения Sun: теперь они могут предоставить своим клиентам совершенный экспириенс ( :) так и не смог нормально перевести, от переводчика), связав приложения Oracle и PeopleSoft вместе с Solaris в единое решение.

Мастер установки

Конечно, подготовленное программное обеспечение в програмном решении не исключает одельных шагов в процессе установки.

Тенденцией, на данный момент, является обеспечение запуска мастера установки при первой загрузке. Обычно это веб-интерфейс, запускаемый удаленно. В некоторых случаях он автоматически настраивается через систему управления.

Мастер установки, запускающийся при загрузке, похож на установку беспроводной точки доступа, поскольку это подобно тому, как вы настраиваете ваш Linksys.

(/images/2009/07/31/susestudio/linksys350.png)

Пробуйте

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

Заключительняа мысль. Автомобильные компании не просят нас покупать отдельно двигатель, трансмиссию и колеса и собирать их вместе в одном корпусе. Люди, которые тратят свое время, собирая автомобили, называются увлеченными, это их хобби. Почему же конечные пользователи вынуждены еще что-то собирать в мире программного обеспечения?

Готовьтесь к следующим статьям в этой серии!