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

В мире о ASPLinux уже знают. Например, на сайте www.linux.com он упоминается среди дистрибутивов, распространяемых в мире

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

ASPLinux, вторгшаяся на этот рынок, — российская компания, отпочковавшаяся от SWSoft. Штаб-квартира последней находится в Сингапуре (работают там в основном выходцы из России), и еще есть офисы в США и Европе. SWSoft занимается разработкой программного обеспечения и телекоммуникационного оборудования, продвигает продукты Pervasive (бывшей bTrieve) и Solomon Software. Недавно, как и Solomon, компания сделала решительные шаги в сторону стремительно развивающегося (на Западе) рынка аренды приложений (ASP — application service providing). Вовремя открытый SWSoft портал ASPStreet.com завоевал в этом виртуальном мире значительную популярность.

Исходя из того, что рынок ASP — не выдумка американских маркетологов, руководство ASPLinux объявило своей целью разработку и продвижение дистрибутивов, ориентированных на ASP, в какой бы части света они ни находились.

«Мы всерьез решили, — утверждает Максим Цыпляев, менеджер направления, связанного с дистрибутивом, — делать бизнес на рынке ASP. Нам нужен свой дистрибутив для того, чтобы чувствовать себя уверенно: дистрибутив для нас абсолютно прогнозируем, потому что он наш».

Судя по определенным признакам, компания рассчитывает добиться успеха в Азии. Linux довольно популярна на Дальнем Востоке: в Китае она объявлена официальной операционной системой, а в Японии, по некоторым данным, установлена на 70% домашних компьютеров, обычно как вторая ОС наряду с Windows. Сегодня там более популярен дистрибутив TurboLinux, так как в нем лучше решены проблемы локализации, нетривиальной для азиатских языков. Кроме того, TurboLinux дальше других продвинулась в кластеризации. ASPLinux делает ставку на удобство: этот дистрибутив базируется на Red Hat.

«Наши надежды на продвижение на Восток, — рассказывает Цыпляев, — как раз основаны на том, что Red Hat в целом заведомо более популярная платформа, чем TurboLinux, под нее приложения пишут в первую очередь. У TurboLinux в Азии позиция твердая, но не очень активная, они слишком инертны, поэтому вполне можно с ними конкурировать».

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

В мире о ASPLinux уже знают. Например, на сайте www.linux.com он упоминается среди дистрибутивов, распространяемых в мире, где из русскоязычных присутствует только KSI Linux родом из Киева, судьба которого, после того как его автор, Сергей Кубушин, перебрался на Запад, не ясна. Появляются упоминания о ASPLinux как о первом дистрибутиве, нацеленном на рынок ASP. Если посмотреть на свежесобранные дистрибутивы, видно, что сейчас авторы пытаются сделать все возможное для удобства установки и настройки. В ASPLinux включено новое ПО: инсталлятор, позволяющий устанавливать Linux по сети без предварительной разметки диска на разделы; утилита под названием ExpressoDownload (пользуясь ею, можно в любой момент прервать соединение и потом продолжить сгружать файл с того самого места, до которого он был скачан); есть собственный загрузчик ASPLoader и конфигуратор дисков ASPDiskManager (он умеет, не разрушая данных, создавать раздел Linux не только на FAT16/32, но и на NTFS, и в этом он, кажется, уникален). Однако эти добавления — лишь тонкий слой косметики по сравнению с проектом ASPComplete.

Проектом ASPComplete руководит главный архитектор компании Александр Тормасов. Одновременно он преподает и отвечает за преподавание специальных компьютерных дисциплин в МФТИ, в помещении которого, кстати, находится офис ASPLinux. Еще он успевает отвечать на технические вопросы в форумах на www.beta.asplinux.ru. Проект, которому полтора года, родился из исследовательской работы пятилетней давности — распределенной системы хранения информации в Internet. Тормасову, его ученикам и сотрудникам удалось разработать математические модели, позволяющие создать модель эффективного распределенного хранения файлов таким образом, что появляется возможность создания высокопроизводительного и безопасного хранилища поверх Internet. Эта серьезная работа не остановлена, но несколько потеснена разработкой ASPComplete, в отличие от ASPLinux обладающей рядом существенных черт. Прежде всего речь идет о механизме Virtual Environment (VE), распределенной файловой системе и кластеризации. Эти средства, по мнению своих создателей, формируют стройную единую концепцию (недаром они назвали эту версию ОС ASPComplete), которая должна будет обеспечить управляемость и одновременно независимость виртуальных хостов, надежность и разумное использование вычислительных ресурсов.

ASPDiskManager, вошедший в состав ASPLinux, умеет, не разрушая данных, создавать раздел Linux не только на FAT16/32, но и на NTFS

Степень подробности описания проекта ограничивает довольно необычное положение, в котором оказались разработчики. Компания разрабатывает конечный продукт с открытым кодом, базирующийся на продуктах также с открытым кодом. Однако, рассчитывая на свою долю на рынке программного обеспечения для ASP, ASPLinux находится в условиях жесткой конкуренции со стороны других компаний, рвущихся на этот рынок. В основном они разрабатывают решения, вовсе не предполагающие обнародование кода; более того, технические подробности, которые можно получить от них, довольно скудные. Видимо, в сходном направлении ведет свои разработки, например, молодая американская компания Ensim, которая специализируется на инфраструктуре для провайдеров.

В целом продукт находится сейчас в стадии бета-тестирования, но различные компоненты существуют в разной степени готовности. VE работает, файловая система, как объявлено, будет дописана в ближайшее время, по балансировке нагрузки в узлах сервера еще много предстоит сделать, но ожидается, что скоро должна появиться первая макетная рабочая версия системы. Бета-тестирование заключается в том, что несколько серверов в Москве и Сингапуре (а скоро это произойдет и в США) работают фактически в режиме ASP, только бесплатно. Это значит, что арендатор получает права суперпользователя внутри каждого отдельно взятого VE и имеет возможность устанавливать на сервере свое ПО (в том числе собственный Web-сервер), не думая об окружающих. Сейчас на российском сервере зарегистрировалось более 1500 «арендаторов», которых призывают ставить как можно более сложные и «тяжелые» приложения. В своем крайнем выражении эта идея воплощена инженерами IBM, приспособившими мэйнфрейм с виртуальными машинами (среда VM) для того, чтобы предоставить каждому арендатору по собственному экземпляру Linux (а всего на одной машине запускалось в тестовом режиме до 15 тыс. копий Linux). В случае ASPComplete ядро Linux единое, но изоляция полная (во всяком случае, теоретически так получается), что позволяет экономить ресурсы.


ASPcomplete

Технология, которая насквозь пронизывает решение ASPcomplete, — виртуальное окружение (VE — Virtual Environment). Каждый арендатор сервера получает в свое распоряжение не просто место на диске и вычислительные ресурсы, а права суперпользователя внутри своего VE, от других же VE он полностью изолирован и ощущает себя полным хозяином компьютера.

Virtual Environment

Традиционно такая задача решается созданием виртуальных машин. За изоляцию приходится расплачиваться производительностью. Компания ASPLinux пошла по другому пути. В мире Unix используются виртуальные среды, построенные на утилите chroot для запуска команд с имитацией другой корневой директории. Но chroot не обеспечивает должной степени изоляции и никоим образом не дает возможности разделения процессов. Часть проблем решает системный вызов JAIL (буквально «тюрьма»), реализованный в FreeBSD: эта среда обеспечивает собственный адрес внутри VE, следовательно, можно уже реализовывать внешний доступ к VE, не зависящий от других VE. Cуществуют способы взлома JAIL, то есть вторжения в другие VE. В ASPcomplete изоляция осуществляется на другом уровне: разработана своя концепция, которая теоретически должна обеспечить полную изоляцию объектов, созданных внутри разных VE. Дело за реализацией: пока она еще не свободна от «дырок», но уже имеющиеся «заплатки» позволяют практически полностью исключить отказ в обслуживании VE, связанный с действиями других VE.

Файловая система

Файловая система тоже подвергается существенным переделкам в соответствии с концепцией VE. Логически каждый VE имеет собственную копию файловой системы, включающую, например, собственный дистрибутив Linux и служебные файлы. Сейчас в качестве базовой файловой системы используется свободно распространяемая система reiserFS с возможностями журналирования, которая, кстати, в основном разрабатывается в России.

Кластеризация

Третья составляющая концепции VE — это ПО кластеризации. Оно позволяет управлять набором физических машин (узлов кластера), осуществляя управление и контроль за поведением отдельных VE и эффективностью использования машин. Это решение не самое эффективное для кластера из двух машин, но оно очень хорошо масштабируется на их большее количество. Кластерный подход интегрируется с концепцией VE. Если по каким-то причинам узел в кластере «падает», всегда есть возможность рестартовать с VE, а это значит — обеспечить отказоустойчивость работы пользователя. Если, скажем, кто-то обращался к Web-серверу, когда узел «упал», прервется связь с компьютером, но затем автоматически через какое-то время такой же VE и такой же сервер Apache восстановится на другом узле. С точки зрения внешнего мира как бы произойдет перезапуск компьютера. Такой подход позволяет существенно повысить управляемость ПО и облегчить нелегкую жизнь администраторов, в распоряжении которых могут находиться тысячи компьютеров, сотни маршрутизаторов и десятки сетевых соединений. Ситуация оказывается еще более сложной для провайдера в случае, когда каждый пользователь подписал с ним соглашение об уровне обслуживания (SLA — service level agreement).