Мониторинг цен. Сервис (SaaS), коробочное решение, собственная разработка? Что выбрать?
В этой статье я хочу помочь проанализировать сильные и слабые стороны различных типов решений для мониторинга цен.
Начнем с определений.
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 лет - это выгоднее с точки зрения финансов для подавляющего числа компаний которым требуется мониторинг цен.