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