Программное обеспечение как услуга ( SaaS / s æ s / [1] ) — это модель облачных вычислений , в которой поставщик предлагает клиенту использование прикладного программного обеспечения и управляет всеми необходимыми физическими и программными ресурсами. [2] В отличие от других моделей поставки программного обеспечения , она разделяет «владение и право собственности на программное обеспечение от его использования». [3] Использование SaaS началось около 2000 года, и к 2023 году стало основной формой развертывания программных приложений.
SaaS обычно доступен через веб-приложение . В отличие от большинства программных продуктов с самостоятельным размещением, существует только одна версия программного обеспечения и поддерживается только одна операционная система и конфигурация. Продукты SaaS обычно работают на арендованной инфраструктуре как услуга (IaaS) или платформе как услуга (PaaS) системах, включая оборудование и иногда операционные системы и промежуточное программное обеспечение , чтобы приспособиться к быстрому росту использования, обеспечивая при этом мгновенную и непрерывную доступность для клиентов. Клиенты SaaS имеют абстракцию безграничных вычислительных ресурсов, в то время как экономия масштаба снижает стоимость. Архитектуры SaaS, как правило, являются многопользовательскими ; обычно они разделяют ресурсы между клиентами для эффективности, но иногда они предлагают изолированную среду за дополнительную плату. Обычные модели доходов SaaS включают freemium , подписку и плату за использование. В отличие от традиционного программного обеспечения, редко можно купить бессрочную лицензию на определенную версию программного обеспечения.
Не существует конкретных практик разработки программного обеспечения , которые отличали бы SaaS от разработки других приложений, хотя часто основное внимание уделяется частому тестированию и выпускам.
Инфраструктура как услуга (IaaS) — это самая базовая форма облачных вычислений , где инфраструктурные ресурсы, такие как физические компьютеры, не принадлежат пользователю, а арендуются у облачного провайдера. В результате инфраструктурные ресурсы можно быстро увеличить, не ожидая неделями доставки и настройки компьютеров. IaaS требует времени и опыта для использования инфраструктуры в форме операционных систем и приложений . [4] Платформа как услуга (PaaS) включает операционную систему и промежуточное программное обеспечение , но не приложения. [5] [6] Поставщики SaaS обычно используют службы PaaS или IaaS для запуска своих приложений. [5]
Без IaaS было бы крайне сложно сделать продукт SaaS масштабируемым для переменного числа пользователей, обеспечивая при этом мгновенную и постоянную доступность, которую ожидают клиенты. [7] Большинство конечных пользователей потребляют только продукт SaaS и не беспокоятся о технической сложности физического оборудования и операционной системы. [8] Поскольку доступ к облачным ресурсам возможен без какого-либо человеческого взаимодействия, клиентам SaaS предоставляется абстракция безграничных вычислительных ресурсов, в то время как экономия за счет масштаба снижает стоимость. [9] Еще одной ключевой особенностью облачных вычислений является то, что обновления программного обеспечения могут быть развернуты и предоставлены всем клиентам практически мгновенно. [10] В 2019 году, по оценкам, SaaS составлял большинство, 43 процента, рынка облачных вычислений, в то время как IaaS и PaaS вместе составляют приблизительно 25 процентов. [11]
В 1960-х годах была изобретена многозадачность , что позволило мэйнфреймовым компьютерам обслуживать нескольких пользователей одновременно. В течение следующего десятилетия разделение времени стало основной бизнес-моделью для вычислений, а кластерные вычисления позволили нескольким компьютерам работать вместе. [9] Облачные вычисления появились в конце 1990-х годов с такими компаниями, как Amazon (1994), Salesforce (1999) и Concur (1993), предлагающими интернет -приложения на основе оплаты за использование. Все они были сосредоточены на одном продукте, чтобы захватить большую долю рынка . [12] Начиная с Gmail в 2004 году, службы электронной почты были одними из первых продуктов SaaS, которые были массово проданы потребителям. [13] Рынок SaaS быстро рос в начале двадцать первого века. [14] [11] Первоначально рассматриваемый как технологическое новшество, SaaS стал восприниматься скорее как бизнес-модель. [15] К 2023 году SaaS стал основным методом, с помощью которого компании доставляют приложения. [16]
Популярные потребительские продукты SaaS включают все сайты социальных сетей , почтовые службы, такие как Gmail и связанные с ним редакторы Google Docs , [17] Skype , Dropbox , [18] и развлекательные продукты, такие как Netflix и Spotify . [19] Корпоративные продукты SaaS включают программное обеспечение для управления взаимоотношениями с клиентами (CRM) Salesforce , SAP Cloud Platform и Oracle Cloud Enterprise Resource Planning . [18]
Некоторые поставщики SaaS предлагают потребителям бесплатные услуги, которые финансируются такими способами, как реклама , партнерский маркетинг или продажа данных потребителей. [20] Одной из самых популярных моделей для интернет-стартапов и мобильных приложений является freemium , где компания взимает плату за постоянное использование или более высокий уровень обслуживания. Даже если пользователь никогда не переходит на платную версию, это помогает компании захватить более высокую долю рынка и вытеснить клиентов у конкурента. [21] Однако стоимость хостинга компании увеличивается с количеством пользователей, независимо от того, успешно ли она пытается склонить их к использованию платной версии. [22] Другая распространенная модель — когда бесплатная версия предоставляет только демонстрационную версию ( crippleware ). Онлайн-рынки могут взимать плату за транзакции, чтобы покрыть расходы поставщика SaaS. [20] Раньше продукты SaaS чаще предлагались за единовременную плату, но эта модель теряет популярность. [20] Некоторые [20] продукты SaaS имеют открытый исходный код, называемый открытым SaaS. Эта модель может обеспечить такие преимущества, как снижение затрат на развертывание, меньшие обязательства перед поставщиками и более портативные приложения. [23]
Наиболее распространенные модели доходов SaaS включают подписку и оплату за использование. [24] Для клиентов преимущества включают снижение первоначальных затрат, повышенную гибкость и более низкую общую стоимость по сравнению с традиционным программным обеспечением с бессрочными лицензиями на программное обеспечение . [25] В некоторых случаях высокие единовременные затраты, требуемые продавцами традиционного программного обеспечения, были недоступны для малого бизнеса , но модели SaaS с оплатой за использование делают программное обеспечение доступным. [3] Использование может взиматься на основе количества пользователей, транзакций, объема используемого дискового пространства или других показателей. [26] Многие покупатели предпочитают оплату за использование, поскольку считают, что они относительно мало используют программное обеспечение, а продавец получает выгоду, охватывая случайных пользователей, которые в противном случае не купили бы программное обеспечение. [26] Однако это может вызвать неопределенность доходов для продавца и увеличить накладные расходы на выставление счетов . [27]
Подписная модель SaaS предлагает провайдеру постоянный и возобновляемый поток доходов, хотя и уязвимый к отмене. [3] Если значительное количество отменяется, жизнеспособность бизнеса может оказаться под угрозой. [3] Легкость отмены подписки и перехода к конкуренту оставляет клиентам рычаг, позволяющий им добиваться уступок от продавца. [28] Хотя повторяющиеся доходы могут помочь бизнесу и привлечь инвесторов, потребность в навыках обслуживания клиентов , чтобы убедить клиента продлить подписку, является проблемой для провайдеров, которые переключаются на подписку с других моделей доходов. [29]
Продукты SaaS обычно доступны через веб-браузер как общедоступное веб-приложение . [30] [16] Это означает, что клиенты могут получить доступ к приложению в любом месте с любого устройства без необходимости его установки или обновления . [16] [31] Поставщики SaaS часто пытаются свести к минимуму сложность регистрации для продукта. [32] Многие извлекают выгоду из сервисно-ориентированной структуры, чтобы реагировать на отзывы клиентов и быстро развивать свой продукт для удовлетворения потребностей. Это может позволить клиентам поверить в постоянное улучшение продукта и помочь поставщику SaaS получить клиентов от устоявшейся традиционной компании-разработчика программного обеспечения, которая, вероятно, может предложить более глубокий набор функций. [33] [34]
Хотя локальное программное обеспечение часто менее безопасно, чем альтернативы SaaS, [35] безопасность и конфиденциальность являются одними из основных причин, которые называют компании, которые не принимают продукты SaaS. [36] SaaS-компании должны защищать свои общедоступные предложения от злоупотреблений, включая атаки типа «отказ в обслуживании» и взломы. [37] Они часто используют такие технологии, как контроль доступа , аутентификация и шифрование , чтобы защитить конфиденциальность данных . [36] Тем не менее, не все компании доверяют поставщикам SaaS сохранение конфиденциальных данных в безопасности. [36] Поставщик несет ответственность за обновления программного обеспечения , включая исправления безопасности , и за защиту данных клиентов. [31] SaaS-системы по своей природе имеют большую задержку , чем программное обеспечение, работающее локально, из-за времени, необходимого для доставки сетевых пакетов в облачное хранилище. Это может быть недопустимо для некоторых видов использования, таких как срочные промышленные процессы или складирование. [38]
Рост популярности SaaS-продуктов является одним из факторов, побудивших многие компании переключиться с бюджетирования ИТ как капитальных затрат на операционные расходы . [39] Процесс перехода на SaaS и его поддержка также могут быть значительными расходами, которые необходимо учитывать. [40] [29]
Проблема для поставщиков SaaS заключается в том, что спрос заранее неизвестен. Их система должна иметь достаточно резервов, чтобы иметь возможность обрабатывать всех пользователей, не отказывая никому, но и не платя за слишком много ресурсов, которые будут ненужными. Если ресурсы статичны, они гарантированно будут тратиться в непиковое время. [42] Иногда предлагаются более дешевые тарифы вне пикового времени, чтобы сбалансировать нагрузку и сократить отходы. [43] Ожидания непрерывного обслуживания настолько высоки, что сбои в работе программного обеспечения SaaS часто освещаются в новостях. [44]
Не существует конкретных практик разработки программного обеспечения , которые отличают SaaS от разработки других приложений. [45] Продукты SaaS часто выпускаются раньше и часто, чтобы воспользоваться гибкостью модели поставки SaaS. [46] Гибкая разработка программного обеспечения обычно используется для поддержки этого графика выпуска. [47] Многие разработчики SaaS используют разработку через тестирование или иным образом подчеркивают частое тестирование программного обеспечения из-за необходимости обеспечения доступности своих услуг и быстрого развертывания. [48] Проектирование на основе домена , в котором бизнес-цели стимулируют разработку, популярно, потому что продукты SaaS должны продавать себя клиенту, будучи полезными. [49] Разработчики SaaS не знают заранее, с каких устройств клиенты будут пытаться получить доступ к продукту, например, с настольного компьютера, планшета или смартфона, и поддержка широкого спектра устройств часто является важной задачей для команды разработчиков front-end . [50] Прогрессивные веб-приложения позволяют некоторым функциям быть доступными, даже если устройство находится в автономном режиме. [51]
Приложения SaaS в основном предлагают протоколы интеграции и интерфейсы прикладного программирования (API), которые работают в глобальной сети . [52]
Архитектура SaaS значительно различается от продукта к продукту. [53] Тем не менее, большинство поставщиков SaaS предлагают многопользовательскую архитектуру. [30] В этой модели для всех клиентов («арендаторов») используется одна версия приложения с одной конфигурацией ( оборудование , сеть , операционная система ). [54] Это означает, что компании не нужно поддерживать несколько версий и конфигураций. [16] Архитектурный сдвиг от каждого клиента, запускающего свою собственную версию программного обеспечения на своем собственном оборудовании, влияет на многие аспекты дизайна приложения и функций безопасности. [54] В многопользовательской архитектуре многие ресурсы могут использоваться разными арендаторами или совместно использоваться несколькими арендаторами. [55]
Структуру типичного приложения SaaS можно разделить на плоскости приложений и управления. [56] Продукты SaaS различаются тем, как эти плоскости разделены, которые могут быть тесно интегрированы или слабо связаны в модели, управляемой событиями или сообщениями. [57] Плоскость управления отвечает за управление системой и охватывает такие функции, как подключение арендаторов, выставление счетов и метрики, а также систему, используемую поставщиком SaaS для настройки, управления и эксплуатации сервиса. [56] Многие продукты SaaS предлагаются на разных уровнях обслуживания по разным ценам, называемых многоуровневым размещением. Это также может повлиять на архитектуру для обеих плоскостей, хотя обычно она размещается в плоскости управления. [58] В отличие от плоскости приложений, службы в плоскости управления не предназначены для многопользовательской среды. [59]
Плоскость приложения, которая сильно различается в зависимости от характера продукта, реализует основную функциональность продукта SaaS. [59] Ключевые вопросы проектирования включают разделение различных арендаторов, чтобы они не могли просматривать или изменять данные или ресурсы других арендаторов. [61] За исключением самых простых приложений SaaS, некоторые микросервисы и другие ресурсы выделяются на основе каждого арендатора, а не распределяются между всеми арендаторами. [62] Функциональность маршрутизации необходима для направления запросов арендаторов в соответствующие службы. [60]
Некоторые продукты SaaS не разделяют ресурсы между арендаторами — это называется силосованием. Хотя это сводит на нет многие преимущества эффективности SaaS, это упрощает миграцию устаревшего программного обеспечения в SaaS [64] и иногда предлагается как премиум-предложение по более высокой цене. [65] Объединение всех ресурсов может позволить достичь более высокой эффективности, [66] но отключение влияет на всех клиентов, поэтому доступность должна быть приоритетной в большей степени. [67] Многие системы используют комбинацию обоих подходов, объединяя некоторые ресурсы и силосуя другие. [68] Другие компании группируют нескольких арендаторов в поды и делятся ресурсами между ними. [69]
В Соединенных Штатах конституционные законы об ордерах на обыск не защищают все формы динамически хранимых данных SaaS. В результате правительства могут запрашивать данные у поставщиков SaaS без согласия владельца. [70] [71]
Некоторые лицензии с открытым исходным кодом, такие как GPL-2.0, явно не предоставляют права, разрешающие распространение в качестве продукта SaaS в Германии. [72]