пользователей».

Само по себе название – «ПО как сервис» – позволяет довольно широко трактовать это понятие. Тем более что четкого и общепринятного определения SaaS на сегодня нет. Во многом это объясняется объективной причиной: содержание данного понятия быстро трансформируется по мере практического продвижения SaaS на рынок, развития технологических возможностей и изменения рыночного спроса.

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

Более точное, но все же уже устаревшее (на наш взгляд) определение дает английская Википедия: «SaaS – это модель развертывания ПО, при которой провайдер лицензирует приложения таким образом, чтобы потребители могли использовать их как сервис по требованию». Но очевидно, что в этом случае к такой модели (она более точно сейчас называется Software on Demand, SoD) относятся и самые различные варианты аренды программных продуктов, и получение ПО по подписке.

Уточним: SaaS подразумевает, что заказчик вместо развертывания ПО у себя на площадке использует его возможности в виде услуги «сервис-провайдера» через Интернет. В этом отношении более точным видится формулировка русской Википедии: «SaaS – это модель продажи ПО, при которой поставщик разрабатывает Web-приложение и самостоятельно управляет им, предоставляя заказчикам доступ к программному обеспечению через Интернет.»

Но это определение описывает хотя и очень характерный, но лишь частный сценарий, поскольку нередко поставщик SaaS-решения использует программы другого разработчика (например, Microsoft CRM), а предоставляемое пользователю ПО не является Web-приложением (например, почтовый сервер или антивирусный экран).

Тут самое время вспомнить об «облачных» вычислениях и посмотреть, как соотносятся понятия Cloud Computing и SaaS. В русской Википедии приводится такое определение: «Облачные вычисления – технология обработки данных, в которой программное обеспечение предоставляется пользователю как Интернет- сервис». Ясно, что такое описание вполне подходит и для SaaS.

Более правильная формулировка имеется в английской Википедии: «Cloud Computing – это стиль разработки и использования компьютерных технологий (вычислений), при котором динамично масштабируемые ресурсы предоставляются через Интернет как сервис». Обратите внимание: речь идет не только о ПО, но об ИТ-ресурсах в целом, и что важно – динамично масштабируемых.

При такой постановке вопроса в Cloud Computing входят модели трех уровней:

• IaaS (Infrastructure as a Service) – предоставление аппаратной ИТ-инфраструктуры (серверы, сети, устройства хранения и пр.);

• PaaS (Platform as a Service) – IaaS плюс операционная система и, возможно, ее API;

• SaaS – приложения для конечных пользователей с доступом через Интернет.

Однако в такой формулировке SaaS – практически синоним другой, известной еще с конца 1990-х гг., модели – ASP (Application Service Providing), или Hosted Applications. Более того, среди ИТ-специалистов сегодня часто бытует мнение, что SaaS – это тот же ASP, но из маркетинговых соображений названный по- другому. Но c такой оценкой вряд ли можно согласиться.

SaaS и ASP

Четкого и общепризнанного водораздела между SaaS и ASP нет, в целом большинство экспертов сходятся на том, что эти термины близки и в некоторых случаях могут употребляться как синонимы. Тем не менее, на наш взгляд, есть несколько аспектов, которые позволяют отделить SaaS от ASP.

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

Настоящее SaaS-решение подразумевает использование мультиарендной (многоклиентской) архитектуры, для которой необходимо наличие единой программной среды и общего аппаратного решения для всех клиентов (клиент – это предприятие-заказчик, а не одно рабочее место), чтобы обеспечить максимальную эффективность реализации ресурсов и добиться максимальной производительности. В отдельных случаях клиенту предоставляется собственная база данных для обеспечения лучшей защищенности и подконтрольности данных, однако довольно часто именно для защиты данных используется дефрагментация и распределенное хранение информации клиента (это, в частности, реализуется Salesforce).

Такая архитектура требует качественно иных технических подходов к решению вопросов масштабирования и повышения производительности системы. Традиционные варианты масштабирования, используемые в ASP, когда увеличение числа клиентов обеспечивается благодаря соответствующему числу серверов (в том числе с использованием виртуализации), не есть «чистое» SaaS, и его, скорее, можно назвать «квази-SaaS».

Сегодня SaaS чаще ассоциируется с использованием бизнес-программ (т. е. не с инфраструктурными, а с деловыми задачами предприятия).

Говоря о различиях SaaS и ASP (или по-другому – SaaS как новый этап развития ASP), стоит выделить некоторые моменты:

• ASP была рассчитана на крупных корпоративных клиентов. SaaS – в первую очередь на SMB (это стало во многом возможно благодаря широкополосному Интернету);

• SaaS предоставляет клиенту не ПО, а реализацию бизнес-функций. В общем случае клиенту все равно, на каком ПО все это построено;

• SaaS-поставщик, кроме того, должен решать вопросы интеграции своего сервиса в ИТ-систему заказчика;

• иначе выглядят вопросы лицензирования (отношения с поставщиком базового ПО);

• поставщик SaaS больше заинтересован в повышении эффективности своего внутреннего хозяйства (поскольку он не сдает в аренду ресурсы, а предоставляет бизнес-функции);

• реализация SaaS непосредственно связана с использованием новых архитектурно-технологических решений – SOA (как внутри SaaS-проекта, так и при стыковке сервиса с ИТ заказчика), виртуализации и пр.;

• иначе стоит вопрос «монетизации» услуг. ASP – это чистая арендная плата. В SaaS большое значение играет рекламная составляющая.

Технологические уровни зрелости SaaS

Еще в 2007 г. Microsoft проработала технологическую схему модели SaaS, выделив ее ключевые атрибуты (конфигурируемость, multi-tenant и масштабируемость) и сформулировав на их основе четыре уровня зрелости SaaS.

1. Ad-Hoc/Custom (специальный). Каждый пользователь имеет собственную настроенную под него версию приложения, используемого в режиме хостинга. Миграция традиционного приложения (в том числе клиент-серверного) в модель SaaS на этом уровне снижает операционные затраты благодаря консолидации аппаратных средств (серверов) и систем администрирования.

2. Configurable (конфигурируемый). Заказчик имеет возможность настраивать нужное ему ПО через метаданные, таким образом несколько пользователей используют собственные экземпляры ПО, но с одним и тем же программным кодом. Это позволяет поставщику снизить затраты при удовлетворении потребностей разных клиентов.

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

4. Scalable, Configurable, Multi-Tenant-Efficient (масштабируемый, конфигурируемый, многоарендный). В дополнение к третьему уровню добавляется масштабируемость благодаря многоуровневой архитектуре ПО, балансировке нагрузок с использованием большого набора серверов. Мощность системы может легко изменяться путем подключения – отключения серверов без внесения каких-либо изменений в ПО.

Строго говоря, только варианты Multi-Tenant-Efficient относятся к «настоящему» SaaS.

Преимущества и проблемы

Основное преимущество модели SaaS для

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату