Журнал «Компьютерра» 2008 № 43 (759) 18.11.2008 (Журнал «Компьютерра») - страница 30

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

Компания Google попыталась изменить ситуацию, выпустив Google Chrome - этот браузер позиционируется прежде всего как оболочка для запуска веб-приложений. Имея быстрый движок JavaScript и возможность создавать ярлыки для запуска веб-приложений, Chrome предлагает неплохой вариант для работы с SaaS (кстати, эта статья была целиком написана при помощи Google Documents и Chrome). Google также продвигает интересную технологию Gears, которая позволяет продолжать работу с веб-приложениями даже в случае временного отсутствия связи с Интернетом.

Некоторые вендоры выбирают другие технологии для создания клиентской части своих приложений. Из них наиболее интересны Adobe AIR и Microsoft Silverlight.

Обсудив варианты создания клиентской части SaaS-приложений, обратим внимание на не менее важный компонент - серверную часть. Часто выбор серверной платформы определяется исключительно вкусами вендора. Это может быть PHP, Java, .NET. При этом каждый разработчик должен решить для себя следующие вопросы:

Как обеспечить масштабируемость сервиса? (Желательно иметь возможность просто установить еще один сервер, когда существующие компьютеры перестают справляться с нагрузкой.)

Как наладить резервное копирование данных пользователей и где эти данные хранить?

Как справляться с физическими поломками серверов? (В идеальном случае пользователи не должны их замечать.)

Как обеспечить и поддерживать постоянное интернет-соединение для всех своих серверов?

Около двух лет назад появились сервисы, предлагающие готовое решение для этих задач. Их назвали PaaS (Platform as a Service). Фактически PaaS - это типичный продукт SaaS, предназначенный для самих вендоров SaaS. Нередко PaaS называют еще одним модным термином - cloud computing (вычисления в облаке). Под облаком здесь подразумевается Интернет, из которого волшебным (для пользователей) образом появляются результаты вычислений - сервисы.

На практике использование PaaS выглядит так: вендор покупает необходимое количество виртуальных серверов и дискового пространства и платит за использованные гигабайты и серверное время (вспоминается полузабытый термин "машинное время"). При увеличении нагрузки можно купить дополнительные серверы. Если нагрузка вырастает только в рабочие часы - можно использовать большее количество серверов только с 9:00 до 18:00.