Модели сервисов облачных вычислений: Часть 3. Программное обеспечение как сервис

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

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

Дэн Орландо, главный исполнительный директор, Creative RIA

Дэн Орландо (Dan Orlando) – фотографияДэн Орландо (Dan Orlando) является признанным профессионалом в сообществе разработчиков корпоративных приложений. Его многолетняя деятельность в качестве консультанта и опыт работы с платформами Adobe, так же как и публикации на IBM developerWorks, Adobe Developer Connection и Amazon Web Services, очень востребованы лидерами отрасли. Дэн регулярно появляется в блоге на DanOrlando.com.



22.03.2012

Развить навыки по этой теме

Этот материал — часть knowledge path для развития ваших навыков. Смотри Облачные вычисления: Основы

Концепция "программное обеспечение как сервис" предусматривает предоставление доступа по сети к коммерческому программному обеспечению. Возможно, вы уже используете SaaS, даже не подозревая об этом. Примерами SaaS являются Netflix, Photoshop.com, Acrobat.com, Intuit QuickBooks Online, Gmail и Google Docs. Другой, возможно, менее очевидной, реализацией SaaS является значительная часть растущего рынка мобильных приложений.

Часто используемые сокращения

  • API: интерфейс прикладного программирования (Application Programming Interface).
  • GUI: графический пользовательский интерфейс (Graphical User Interface).
  • IT: информационная технология (Information Technology).
  • LAN: локальная сеть (Local Area Network).
  • ROI: окупаемость инвестиций (Return On Investment).
  • UI: пользовательский интерфейс (User Interface).

SaaS предоставляет дешевый способ использования программного обеспечения – использование по требованию вместо покупки лицензии на каждый компьютер, особенно когда большинство компьютеров не используется почти 70% времени. В отличие от покупки нескольких лицензий для одного пользователя, чем ближе время использования лицензии компанией к 100%, тем больше денег компания экономит.

Для удобства приводим еще раз перекрестную матрицу концепций, представленную в первой части данной серии статей.

Таблица 1. Перекрестная матрица концепций трех категорий облачных вычислений
Заменяемая парадигмаХарактеристикиОсновные понятияПреимуществаНедостатки и рискиКогда не стоит использовать
IaaSИнфраструктура как активОбычно не зависит от платформы; расходы на инфраструктуру разделяются и, следовательно, снижаются; соглашения SLA; оплата по факту использования; автоматическое масштабирование.Распределенные вычисления (grid computing), вычисления как коммунальная услуга (utility computing), вычислительный экземпляр (compute instance), гипервизор (hypervisor), выгрузка в облако (cloudbursting), вычисления с множественной арендой (multi-tenant computing), организация пулов ресурсов (resource pooling).Снижение капиталовложений в аппаратное обеспечение и трудовые ресурсы; снижение риска потери инвестиций; низкий порог внедрения; плавное автоматическое масштабирование.Бизнес-эффективность и производительность очень зависят от возможностей поставщика; потенциально большие долгосрочные расходы; централизация требует новых/других подходов к мерам безопасности.Когда капиталовложения превышают текущие расходы.
PaaSПриобретение лицензийПотребляет инфраструктуру облака; обеспечивает методы динамичного (agile) управления проектами.Стек решений (solution stack).Плавное развертывание версий.Централизация требует новых/других мер безопасности.Отсутствует
SaaSПрограммное обеспечение как актив (бизнеса и потребителя)Соглашения SLA; пользовательский интерфейс, предоставляемый приложениями тонких клиентов; компоненты облака; взаимодействие посредством API; не сохраняющий состояние (stateless); слабосвязанный (loosely coupled); модульный; семантическая совместимость.Тонкий клиент; клиент-серверное приложение.Снижение капиталовложений в аппаратное обеспечение и трудовые ресурсы; снижение риска потери инвестиций; плавное итеративное обновление.Централизация данных требует новых/других мер безопасности.Отсутствует

Четыре фактора повышения окупаемости инвестиций для SaaS

SaaS открывает новые возможности поставщикам программного обеспечения. В частности, поставщики SaaS-приложений называют четыре основных фактора повышения окупаемости инвестиций (ROI):

  • Увеличение скорости развертывания.
  • Улучшение принятия пользователями.
  • Уменьшение требований к поддержке.
  • Снижение стоимости реализации и обновлений.

Скорость развертывания

При развертывании традиционных настольных приложений традиционно возникают значительные трудности. Я лично несколько раз слышал, как разработчики настольных приложений называли обновление своих приложений "кошмаром развертывания". Как отмечает Тарик Ахмед (Tariq Ahmed) в первой главе своей книги "Flex 4 в действии" (Manning Press), "трудности логистики при попытке заставить тысячи, если не сотни тысяч, клиентов перейти на строго определенную версию вашей программы в строго определенное время поистине безграничны".

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

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

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

Рисунок 1. Простая схема взаимоотношений клиентских терминалов и мейнфрейма в простой локальной сети
Рисунок 1. Простая схема взаимоотношений клиентских терминалов и мейнфрейма в простой локальной сети

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

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

Рисунок 2. Простая схема взаимоотношений клиентских устройств и облака в SaaS
Рисунок 2. Простая схема взаимоотношений клиентских устройств и облака в SaaS

Улучшение освоения пользователями

Если ненадолго отвлечься от бизнеса и посмотреть, что SaaS дает обычному потребителю, можно увидеть, что SaaS делает доступным программное обеспечение, лицензии на использование которого прежде были слишком дороги для обычного потребителя. Хорошим примером являются инициативы Adobe по предоставлению в виде SaaS доступа к Adobe® Photoshop®. Хотя работы еще не завершены и эксперименты продолжаются, уже достигнут определенный прогресс. Например, я обнаружил, что все больше моих друзей и членов семьи предпочитают использовать для базового редактирования фотографий сайт Photoshop.com, а не загружать полную версию, когда необходимо выполнить только элементарные задачи редактирования. Здесь важно то, что люди, которым не нужна вся функциональность полной версии, теперь будут экономить деньги. В то же время Photoshop.com используют те пользователи, которые иначе и не пытались бы это делать, т.е. у Adobe появляется возможность получить в долгосрочной перспективе клиентов, к которым ранее не было доступа.

Наличие различных бизнес-моделей является особенно интересным аспектом SaaS. Например, Intuit предлагает сервисы QuickBooks Online в виде SaaS с помесячной оплатой. Как владелец бизнеса, вынужденный много путешествовать, я считаю эту модель очень полезной, особенно учитывая, что мой партнер живет за 400 миль в другом штате. В свою очередь, Adobe использует возможности SaaS в Photoshop.com и Acrobat.com, предлагая программное обеспечение как freemium-сервис – термин, придуманный для описания специфичной бизнес-модели, основанной на предложении в виде SaaS упрощенной версии лицензируемого программного продукта.

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

Уменьшение требований к поддержке

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

Кроме того, производители традиционного настольного программного обеспечения часто вынуждены поддерживать более одной платформы. Например, для разработчика, который должен поддерживать операционные системы Windows® 7 и Apple Mac OS X version 10.6, стоимость разработки практически удваивается, и это еще без учета проблем, которые возникают при поддержке нескольких версий операционной системы. Кроме того, поддержка нескольких версий операционной системы накладывает дополнительные ограничения.

Например, если вы создаете программу для Windows 7, которая должна быть совместима с Windows XP, необходимо быть очень внимательным, чтобы все функциональные возможности могли работать на обеих версиях; в противном случае придется делать ветку исходного кода для каждой версии, что неминуемо снизит производительность и эффективность, а также увеличит время разработки. Один из самых простых способов вызвать у начальства сердечный приступ – сообщить ему (или ей), что для соблюдения сроков стоимость работ на два следующих года должна быть удвоена. Если добавить сюда увеличение бюджета на поддержку различных операционных систем и различных их версий, то становится ясно, почему в настоящее время так высока доля неудачных проектов разработки программного обеспечения.

Снижение стоимости реализации и обновлений

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

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


SaaS и проектирование взаимодействия с пользователем

SaaS-приложения представляют новый подход к дизайну приложений. Хотя это, кажется, не обсуждалось явно ни в одном из документов, которые я видел до настоящего времени, мне кажется, что в SaaS-программах применяется современный подход к дизайну пользовательского интерфейса, больше согласующийся с процессом проектирования изделия в большинстве других отраслей. Такой подход включает в себя процесс, называемый проектированием взаимодействия с пользователем (User Experience Design – UXD), в котором графический пользовательский интерфейс разрабатывается отделом разработки продукта, а не отделом разработки ПО.

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


SaaS с точки зрения разработчиков

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

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

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


Заключение

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

ННадеюсь, после прочтения трех статей этой серии вы имеете четкое представление о том, что означают облачные вычисления для вашей будущей карьеры или бизнеса. В дополнение к ресурсам по IaaS и PaaS, предоставленным в двух предыдущих статьях, в разделе Ресурсы приведены ссылки на дополнительную информацию по SaaS.

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления, Information Management
ArticleID=806538
ArticleTitle=Модели сервисов облачных вычислений: Часть 3. Программное обеспечение как сервис
publish-date=03222012