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

Начнем с определений.

SaaS (Software as a Service) или Сервис — [программное обеспечение как услуга], это модель предоставления программного обеспечения(ПО) при которой потребитель использует готовое ПО “онлайн”, чаще всего через браузер или API, наряду с другими пользователями.

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

Как правило распространяется “по подписке”.

Коробочное решение — модель распространения, при котором пользователь приобретает копию готового ПО.

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

Чаще всего код приложения закрыт (для защиты от несанкционированного копирования) но встречаются и Open Source лицензии.

Распространяется по лицензии, с разовым платежом и/или через подписку.

Собственная разработка — это разработка ПО внутри компании или заказная разработка с передачей прав на интеллектуальную собственность.

Устанавливается на собственные вычислительные мощности и эксплуатируется, дорабатывается, поддерживается самостоятельно (возможен аутсорсинг).

Итого

 SaaSКоробочное решениеСобственная разработка
Собственник ПОВладельцы сервисаРазработчики,
У вас — неисключительные права
Заказчик
Пользователи Неопределенный круг лицТолько выТолько вы
Затраты на поддержкуВладельцы сервисаЗависит от лицензииТолько вы
Затраты на эксплуатациюВладельцы сервисаТолько выТолько вы
ОбновленияВладельцы сервисаРазработчик ПОТолько вы
Доступ к исходному кодуНетДа*Да
Регулярная оплатаДаДа**Нет***

* — для “Open Source” решений
** — для подписочной модели
*** — только “свои” затраты (аутсорсинг)

Сколько это стоит?

Запуск

Самый “дешевый” запуск (как по времени так и по деньгам) — это SaaS обычно это стоимость подписки (для типовых задач) или стоимость подписки + установочный платеж (если требуются уникальные настройки).

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

Собственная разработка — самый дорогой и самый требовательный к “заказчику” вариант. Составление Технического Задания и разработка — займет не мало времени и средств, но поможет избежать регулярных затрат на подписку.

Эксплуатация

Для автоматического мониторинга цен постоянно требуются:

  • Хостинг/вычислительные мощности
  • Прокси 
  • Разгадывание “капч” (для обхода блокировок)

И периодически:

  • Изменения в алгоритмах сбора данных
  • Внедрение новых методов обхода блокировок

Для SaaS — все эти расходы лежат на провайдере услуг (но включены в стоимость подписки).
Для собственной разработки и коробочного решения: хостинг, прокси, капчи — оплачиваются самостоятельно. Периодическое обновление ПО — неизбежные затраты для собственной разработки, а для коробочных решений зависят от пакета лицензии (чаще всего предоставляются “бесплатно” или по подписке).

Стоимость подписки для SaaS на небольших и средних объемах мониторинга цен часто оказывается ниже чем просто приобретение этих пакетов для своего парсера. Это не парадокс, а достигается как за счет масштаба (1 прокси в пакете на 100 тысяч стоит в разу дешевле чем в пакете из 30 штук) так и за счет того что эти прокси “деляться” между различными клиентами в разное время.

Стоимость внесения изменений прогнозируется слабо, на этом аспекте можно как сэкономить (если нет никаких изменений), так и “серьезно потратиться” (если изменения серьезные). 

По стоимости эксплуатации — SaaS или Коробочное решение выигрывают на небольших и средних масштабах. Собственная разработка окупается при обеспечении полной загрузки.

Добавление новых функций

Благодаря тому что Собственное Решение дает полный контроль над исходным кодом — вы можете вносить в него любые изменения (аналогично для Open Source коробочных решений). 

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

Если вам не хватает критичных функций — SaaS и Коробочное Решение без открытого исходного кода — вам не подойдут.

Интеграция

Собственная Разработка дает все-возможные варианты интеграции с другим ПО которое используется внутри компании. При этом, безусловно, это не бесплатно и требует аккуратной разработки.

Коробочные решения и SaaS — как правило имеют набор готовых модулей интеграции и/или API для работы с ними, либо включенные в подписку или относительно не дорого.

Если у вас типовая задача по интеграции — собственно решение будет достаточно дорогим, но если вам нужно что-то необычное — может окупиться.

Возможности

Производительность и масштабируемость.

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

Коробочные решения и собственная разработка лишены этого недостатка, но максимальная скорость в них, как правило сильно ниже, и для ее увеличения потребуются дополнительные расходы на вычислительные мощности и другие материалы, а если объем собираемых данных обеспечивает лишь частичную загрузку — это значит что солидную часть времени приходится оплачивать “воздух”

Если для вас важна пиковая скорость сбора данных — не забудьте провести необходимые расчеты и уточнить это у сервиса.

Экспертная поддержка

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

Отчеты, визуализации, другие возможности

SaaS как правило аккумулировал опыт работы с сотнями и тысячами клиентов, ваша задача скорее всего не просто не уникальна, а довольно типовая и уже решалась не раз и не два. Если это так — то вы можете быстро опробовать инструменты для ее решения. Хороший “коробочный” вариант обычно не настолько развит в плане функций, но и там они в избытке (нужны не все).

Собственная разработка — позволяет иметь только то что сделано, это и хорошо (не отвлекает от главного), и плохо (для того чтобы что-то “попробовать” — нужно вложиться в разработку фичи).

Так что же выбрать?

С высокой долей вероятности, если вы читаете эту статью, собственное решение вам не нужно: это серьезные инвестиции с большими рисками провала и длительным сроком внедрения. При этом, если стоимость подписки под ваши требования приближается к семизначным суммам — этот вариант стоит рассмотреть.

Если задача достаточно проста и понятна и не меняется, а технический уровень пользователей позволяет использовать коробочное решение — они могут стать неплохим выбором если стоимость лицензии невысока (и не предполагает рекуррентных платежей).

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