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

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

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

Недавно я тестировал два продукта для создания программных конструкторов на базе Linux — Novell SUSE Studio 1.0 и rPath rBuilder 5.2.1. Каждый из них решает определенные задачи в этой области и ориентирован на свою группу пользователей. Однако оба они обеспечивают впечатляющий набор инструментов для преобразования многоуровневых наборов ПО в облегченные, легко управляемые комплексы.

SUSE Studio

SUSE Studio представляет собой свободно доступный через Интернет сервис и является составной частью Novell SUSE Appliance Program — инициативы, имеющей целью упростить независимым продавцам ПО (ISV) распространение и обслуживание продуктов. ISV получат возможность снабдить свои продукты всем необходимым для их непосредственного развертывания в рамках виртуальной, физической или использующей “вычислительные облака” инфраструктуры.

Однако SUSE Studio может оказаться весьма полезным пакетом для любого человека или организации, которые пользуются дистрибутивами Novell Linux. Это объясняется следующим. Хотя Novell Linux включает широкий ассортимент типовых ролей (таких, как установка файл- или веб-сервера, настройка настольной среды GNOME или KDE), предусмотренные по умолчанию варианты допускают настройку под нужды пользователя в сравнительно узких пределах.

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

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

В частности, я обнаружил, что SUSE Studio существенно упрощает локализацию приложений или тех их версий, которые отсутствуют в используемых по умолчанию репозитариях Linux, благодаря интеграции с сервисом openSUSE Build Service. Build Service дает пользователям возможность создавать пакеты для различных дистрибутивов Linux на основе их исходного кода. Это очень напоминает сервис Personal Package Archives для Ubuntu Linux. Когда я не мог найти конкретный пакет в используемых по умолчанию репозитариях, SUSE Studio предлагал поискать его во всех совместимых репозитариях Build Service.

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

rBuilder

SUSE Studio — не первый инструмент или сервис для создания программных конструкторов на базе Linux. Выпущенный несколько лет назад rBuilder компании rPath позволяет решать более широкий спектр задач по управлению и развертыванию системы, чем SUSE Studio. Например, у него есть управляющая консоль, с помощью которой можно конфигурировать хостовые системы виртуализации и связывать их с rBuilder.

Я мог выбрать VMware ESX Server или Citrix XenServer в качестве хостовой системы или же предпочесть “вычислительные облака” Amazon EC2 либо Globus Workspaces Cloud. Я провел тестирование с VMware vSphere и с Amazon EC2. В обоих случаях я видел список запущенных экземпляров системы, а с помощью rBuilder мог запускать или прекращать исполнение новых экземпляров.

У меня была возможность создавать виртуальные образы практически в любом формате, в том числе для Microsoft Hyper-V, Virtual Iron, Parallels, QEMU, инсталляционных образов ISO на дисках DVD или CD, а также в виде простых архивов TAR.

SUSE Studio в отличие от rBuilder поддерживает меньшее число форматов и не позволяет развернуть созданные комплексы непосредственно на хостовых или облачных платформах виртуализации. Более того, SUSE Studio работает только с дистрибутивами Linux, выпускаемыми компанией Novell, в то время как rBuilder позволил мне создавать конструкторы на основе SUSE Linux Enterprise, CentOS 5, Ubuntu Hardy Heron и собственного дистрибутива Linux компании rPath. Кроме того, rBuilder позволил мне “перебазировать” мои конструкторы с одного дистрибутива на другой.

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

Для тестирования rBuilder я использовал главным образом приложение Mediawiki, которое применяется в онлайновой энциклопедии Wikipedia. Мне было известно, что это приложение очень хорошо настраивается с помощью инструментов компании rPath, поскольку она предлагает загрузить со своего сайта общедоступное устройство Mediawiki. Первоначальная настройка этого устройство производится с помощью веб-интерфейса управления. Кроме того, оно обладает отличной функцией резервного копирования как загруженных файлов, так и базы данных Mediawiki.

Создание устройства Mediawiki собственными силами было далеко не простым делом.

Например, хотя rBuilder смог автоматически определить и установить большинство связей с операционной системой, необходимых для моих тестовых приложений, продукт не сумел самостоятельно справиться со всеми задачами, а мне не удалось выяснить, не упустил ли rBuilder какие-то необходимые компоненты. Для этого нужно было создать и запустить мои конструкторы. Чтобы настроить всё должным образом, мне пришлось многократно запускать процессы определения, создания и запуска конструкторов. Кроме того, для грамотного определения пакетов мне потребовалось изучить язык команд rPath.