Сравнения

Smppcube против однотенантных шлюзов (класс NowSMS / Ozeki)

Надёжные шлюзы, но для одного тенанта. Разбираем, где дерево реселлеров, биллинг клиентов и white-label-порталы полностью меняют сравнение.

Время чтения9 минОпубликованоОбновлено
Материал подготовила команда SmppcubeИнженеры, которые создают платформы обмена сообщениями с 2011 года, а не контент-маркетологи. О нас →
Smppcube против однотенантных шлюзов (класс NowSMS / Ozeki)
В этом руководстве
  1. В чём однотенантные шлюзы действительно сильны
  2. Слово «тенант» решает здесь всё
  3. Сравнение бок о бок
  4. Что придётся построить рядом, и сколько стоит каждая часть
  5. Три года расходов: честный расчёт
  6. Строка, которую никто не вносит в таблицу
  7. Когда однотенантный шлюз по-прежнему правильный выбор
  8. Как принять решение за полдня

Это сравнение мы регулярно проигрываем и относимся к этому спокойно. NowSMS, Ozeki и подобные им однотенантные шлюзы сделаны добротно. Они устанавливаются за полдня, держат подключения (bind), у них есть интерфейс, которым человек действительно может пользоваться, а их поставщики отвечают на письма. Для задачи, под которую они спроектированы, они часто оказываются лучшей покупкой, чем мы, и мы точно назовём эту задачу: одна организация отправляет собственные сообщения. Картина меняется в тот момент, когда через ваш сервер начинают проходить деньги второй компании, и меняется так, что список функций скорее скрывает это, чем показывает: пункт, который имеет значение, говорит «многопользовательский», а вы читаете «мультитенантный». Ниже: что этот класс продуктов действительно делает хорошо, где именно заканчивается его архитектура, сравнительная таблица, честные цифры и четыре случая, когда вам стоит купить один из этих продуктов, а не наш.

В чём однотенантные шлюзы действительно сильны

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

NowSMS. У шлюза компании Now Wireless долгая история и необычная специализация: он действительно силён в MMS и MM7, а не только в SMS, и это сегмент рынка, от которого большинство современных платформ тихо отказались. Он работает с SMPP и как клиент, и как сервер, управляет GSM-модемами, имеет веб-интерфейс настройки и грамотно задокументирован людьми, которые явно знают протоколы. Если в ваших требованиях есть буквы MMS, ему место в вашем коротком списке, и, скорее всего, на первой строке.

Ozeki. Ozeki SMS Gateway представляет ту часть этого класса, где всё делается в браузерном интерфейсе: длинный список подключений на сетевой стороне (SMPP, HTTP, модемы) и, что более характерно, длинный список коннекторов на стороне приложений: к базам данных, файлам, электронной почте и учётным системам предприятия. Правила маршрутизации, пользователи, приложения. Для предприятия, которому нужно «наша ERP отправляет SMS, а сервер в ведении ИТ-отдела», это аккуратное решение, и оно без лишних споров устанавливается на Windows, что для многих ИТ-отделов решает вопрос ещё до того, как открыта таблица функций.

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

Слово «тенант» решает здесь всё

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

Пользователь означает рабочее место. Логин, права доступа, возможно, лимит пропускной способности и маршрут, которым ему разрешено пользоваться. Он нужен для того, чтобы четыре отдела одной компании не делили один пароль. Всё, что делает пользователь, в конечном счёте остаётся деятельностью вашей организации: на счету вашей организации, за деньги вашей организации и в показателях вашей организации.

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

Вот практический тест, и с документацией любого поставщика он занимает девяносто секунд. Спросите в таком порядке: может ли у пользователя быть кредитный баланс, который проверяется до отправки? Может ли у этого пользователя быть цена, отличная от цены соседнего пользователя, по каждому маршруту и направлению? Может ли этот пользователь создавать собственных субпользователей? Показывает ли страница входа его логотип на его домене? Формирует ли система счёт? Могу ли я приостановить одного, и только одного из них? Если хотя бы на один вопрос ответ «нет», перед вами многопользовательский шлюз. Это не дефект. Просто это не платформа, на которой можно вести реселлерский бизнес, и чем раньше это станет ясно, тем дешевле обойдётся оценка.

Сравнение бок о бок

Класс NowSMS / OzekiSmppcube v9
Время до первого сообщенияЧасыЧасы, установка с сопровождением
Интерфейс администратораЕсть, хорошийПолноценный веб-интерфейс
SMPP-подключения (bind) к SMSCДаKannel внутри стека
SMPP-сервер, клиенты подключаются к вамДа, у большинстваДа, на порту 2775
GSM-модемы, MMS, MM7Сильная сторона, реальное преимуществоНе наш профиль
ПользователиРабочие места и приложения, одна организацияАдминистратор, сотрудники, реселлер, клиент
Дерево реселлеров, клиенты под клиентамиНетДа, с изоляцией
Тарифная сетка по клиенту, маршруту и направлениюНетДа
Проверка кредита до отправкиНетCreditRoute, WalletRoute и AutoRoute
Выставление счетовНетПредоплата, постоплата, регулярные счета, мультивалютность
White-label-портал для каждого клиентаНетДля каждого тенанта, свой логотип и домен
Отчёты, понятные клиентуНа уровне администратораДашборды и выгрузки по каждому тенанту
WhatsApp, RCS, голосПо-разному, в основном нетВ той же платформе
Модель лицензииЗа сервер, за уровень мощности, часто с ежегодной платой за обслуживание6 400 $ один раз, бессрочно
Второй узел, резервная площадка (DR) или вторая странаЕщё одна лицензияТа же лицензия
Исходный кодНетПередаётся
ПоддержкаПоставщикПоставщик, с SLA

Читайте таблицу двумя половинами. Верхняя, телекоммуникационная, даёт ничью, а в строках про модемы и MMS они нас безоговорочно обходят. Затем найдите строку, где впервые появляется слово клиент, и обратите внимание, что всё ниже неё разом меняет характер. Это не совпадение и не список задач, о котором поставщики забыли. Это граница продукта, проведённая там, где находится его целевой пользователь: ИТ-отдел, у которого нет клиентов, а значит, ему не нужны ни тарифные сетки, ни порталы, ни счета.

Что придётся построить рядом, и сколько стоит каждая часть

Вот разница, которая важнее всего, и её нет ни в одной таблице функций. С открытым кодом можно расширять сам продукт. С однотенантным шлюзом с закрытым кодом так не получится. Поэтому бизнес-уровень строится не поверх шлюза, а рядом с ним: второе приложение, которое ведёт клиентов, балансы, тарифы, порталы и счета и управляет шлюзом через его HTTP API. Тот же проект, минус работа над транспортным уровнем, плюс стык.

Мультитенантность и изоляция. Примерно от 1 до 2 человеко-месяцев. Учётные записи, дерево реселлеров, группы прав, изоляция контактов, рассылок и имён отправителей, приостановка, которая затрагивает ровно одного клиента. На вид это две недели CRUD, пока не случится ошибка в экспорте: из-за неё вам придётся сделать один звонок, и второго шанса не будет.

Биллинг и журнал операций. Примерно от 3 до 6 человеко-месяцев, и именно здесь проект гибнет. Резервировать кредит до отправки, тарифицировать по фактически использованному маршруту, возвращать средства при окончательной ошибке и не возвращать при временной, сделать каждую операцию идемпотентной, чтобы повторная попытка никогда не списывала деньги дважды, вести предоплату и постоплату параллельно, работать с валютами и формировать счёт, который примет финансовый отдел. Наше руководство по моделям биллинга подробно разбирает дисциплину журнала операций. Первая версия занимает месяц и выглядит готовой. Версия, которая выдерживает спор клиента из-за строки на 50,00 $, занимает шесть.

White-label-порталы и отчёты для клиентов. Примерно от 2 до 3 человеко-месяцев. Панель под брендом каждого тенанта: составить сообщение, загрузить список, проверить баланс, получить отчёт о доставке, скачать счёт. Плюс превращение сырых квитанций о доставке в то, что клиент может отфильтровать и понять, не звоня вам. С этой частью ваши клиенты работают каждый день, поэтому она не может выглядеть как внутренний инструмент, а именно внутренние инструменты и получаются при быстрой разработке.

Стык. Написать просто, сопровождать придётся всегда. Ваш журнал операций находится в вашем приложении, а сообщения проходят через шлюз, который ничего не знает о ваших клиентах. Поэтому вы храните соответствие между своими идентификаторами сообщений и идентификаторами шлюза, всегда. Вы сверяете его отчёты о доставке со своими списаниями, всегда. Вы решаете, что делать, если ваше приложение уже списало деньги, а вызов API завершился по таймауту, и делаете это правильно, всегда. Каждый из этих пунктов дёшево написать в обычный будний день и дорого исправлять при первом закрытии квартала, когда цифры не сходятся. Закладывайте от 20 до 30% стоимости разработки ежегодно на это и на обычное сопровождение: патчи, новый код ошибки у оператора, обновление от поставщика, изменившее формат ответа.

Итог: от 6 до 12 человеко-месяцев до первой версии, на которую можно поставить платящего клиента, плюс постоянная статья расходов на сопровождение, плюс уже оплаченная лицензия на шлюз. Лицензия дала вам транспортный уровень и графический интерфейс. Бизнеса она вам не дала.

Три года расходов: честный расчёт

В обеих колонках один и тот же бизнес: реселлер, которому нужно выставлять счета клиентам, на собственном сервере. Диапазон стоимости разработчика охватывает компетентного подрядчика на развивающемся рынке примерно за 3 000 $ в месяц и специалиста в Европе или Северной Америке примерно за 8 000 $ в месяц. Разброс огромный, и именно поэтому это решение выглядит в Лагосе иначе, чем во Франкфурте. Цены на лицензии шлюзов меняются в зависимости от уровня и года, поэтому мы не будем называть вам цифры конкурента: возьмите их из его прайс-листа и внимательно прочитайте, за что именно берётся плата.

Статья расходов, 3 годаОднотенантный шлюз плюс ваш собственный бизнес-уровеньSmppcube v9
Лицензия на ПОЗа сервер, за уровень, уточняйте актуальный прайс-лист6 400 $, один раз
Ежегодное обслуживание или обновленияКак правило, регулярный платёжВключено, бессрочная лицензия
Сервер, от 40 до 80 $ в месяцОт 1 440 до 2 880 $От 1 440 до 2 880 $
Разработка мультитенантности, биллинга и порталов, от 6 до 12 человеко-месяцевОт 18 000 до 96 000 $0 $
Сопровождение этого уровня, 2-й и 3-й годыОт 7 200 до 38 400 $Время вашей команды эксплуатации
Второй узел, резервная площадка (DR) или вторая странаЕщё одна лицензияТа же лицензия
Денежные расходы за три года без учёта лицензий шлюзаОт 26 640 до 137 280 $От 7 840 до 9 280 $

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

И обратите внимание на строку про второй узел, потому что именно она застаёт людей врасплох. Лицензирование по серверам вполне разумно для ИТ-отдела с одним сервером. Но если оператор получает клиента во второй стране или наконец строит пару Active-Active, которой требовал разговор о доступности, тот же рост, который приносит ему деньги, увеличивает и счёт за ПО. Бессрочная лицензия, которая принадлежит вам, так себя не ведёт.

Строка, которую никто не вносит в таблицу

Возьмите прикидку из руководства по перепродаже SMS: десять клиентов среднего размера, в среднем по 300 000 сообщений в месяц, дают 3 000 000 сообщений, и при спреде 0,0030 $ на сообщение это 9 000 $ валовой маржи в месяц. Отложите первого клиента на шесть месяцев, пока строите движок биллинга рядом со шлюзом, и вы потеряете 54 000 $ маржи, которой так и не было, причём при оптимистичном допущении, что клиенты подождут. Они не ждут. Они подписывают договор с тем, кто был готов в марте.

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

Честный контраргумент: всё это не имеет значения, если у вас нет клиентов. Если вы одна компания, которая отправляет собственный трафик, время до выручки в обоих случаях нулевое, а аргумент про бренд теряет смысл, потому что на эту страницу входа смотрите только вы.

Когда однотенантный шлюз по-прежнему правильный выбор

Четыре случая. Мы лучше потеряем сделку, чем продадим вам ПО за 6 400 $, которое вам не нужно.

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

Настоящее требование: MMS, MM7 или парк модемов. Если задача связана с мультимедийными сообщениями, MMS-интерфейсами операторов или стойкой с SIM-картами, NowSMS справится с ней лучше нас, и никакая мультитенантность не заменит протокол, который вам нужен, а для нас не является основным. Купите инструмент, который решает именно эту задачу.

Ваша компания работает на Windows и не собирается это менять. Наш стек построен на Linux: NGINX, PHP, Node.js, Redis, MySQL, Kannel. Если ваша команда эксплуатации живёт в Windows Server и это не изменится, шлюз, который нативно устанавливается в её привычную среду, она будет эксплуатировать лучше, чем наш, а хорошо эксплуатируемая достаточная система всегда выигрывает у плохо эксплуатируемой отличной.

Задача фиксированная и внутренняя. Оповещения от системы мониторинга. OTP для одного приложения. Напоминания о приёме из системы записи одной клиники. Это не вырастет в дерево реселлеров, вы знаете, что не вырастет, и ставить ради такой задачи мультитенантную платформу явно избыточно.

Заметьте, что три случая из четырёх сводятся к одному и тому же тесту в разной форме: сколько балансов вам нужно вести? Если ответ «один», эта статья советует вам закрыть вкладку и купить у них.

Как принять решение за полдня

Четыре вопроса, записанных там, где потом не получится подогнать ответы.

Первый: сколько балансов вы должны защищать? Если один, весь аргумент в пользу мультитенантности исчезает. Если больше одного, каждый пробел из этой статьи становится проектом с датой начала, и открытым остаётся только вопрос, кто его напишет и когда.

Второй: чей логотип на странице входа? Если честный ответ звучит как «поставщика, и мои клиенты это заметили», вы не строите собственное конкурентное преимущество, а берёте его в аренду. Посчитайте, во что это обойдётся при продлении, потому что ваш клиент тоже считает.

Третий: что будет, когда вы выйдете во вторую страну? Проведите лицензию по этому пути: второй узел, второй уровень, пара для аварийного восстановления, пара Active-Active. Если счёт за ПО растёт вместе с хорошими новостями, это структурное свойство модели ценообразования, и переговорами оно не исправляется.

Четвёртый: что вы делаете, когда их спецификация не совпадает с вашей потребностью? С закрытым кодом: подать запрос на функцию и ждать или строить рядом. С исходным кодом на руках: изменить его самим или заплатить тому, кто изменит. Это не деталь лицензии, а потолок того, насколько далеко ваш продукт сможет уйти от коробочной версии.

Затем примите решение и не сомневайтесь в нём. Если ответы указывают на однотенантный шлюз, у вас наше уважение и наша честная рекомендация: купите тот, который поддерживает действительно нужный вам протокол. Если они указывают в другую сторону, вы покупаете не транспортный уровень: у вас уже есть три хороших на выбор. Вы покупаете уровень, который превращает сообщения в счета: разовую лицензию на вашем собственном сервере, с уже написанными мультитенантностью, биллингом и white-label-порталами, а телеком-часть под ними делает ту работу, с которой этот класс ПО всегда справлялся хорошо.

ВОПРОСЫ

Поддерживают ли NowSMS и Ozeki мультитенантность?

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

А нельзя просто добавить биллинг поверх шлюза, который у меня уже есть?

Можно, и многие операторы так и делают, но нужно ясно понимать, где окажется код. Эти продукты распространяются с закрытым исходным кодом, поэтому вы не расширяете шлюз, а строите рядом с ним второе приложение, которое ведёт клиентов, балансы и порталы и управляет шлюзом через его HTTP API. Это от шести до двенадцати человеко-месяцев разработки до первой версии, на которую можно поставить платящего клиента. Оценка та же, что и при разработке поверх открытого кода, только без работы над транспортным уровнем и с точкой стыка, которую придётся сверять всегда. Лицензия на шлюз не уменьшает этот проект, она лишь даёт ему более удобную отправную точку.

Эти шлюзы дешевле Smppcube?

По строке лицензии, как правило, да; уточняйте актуальный прайс-лист поставщика, потому что уровни меняются. Решает не сама лицензия, а то, за какую единицу она берётся. Этот класс продуктов обычно лицензируется за сервер и за уровень мощности, часто с ежегодной платой за обслуживание, поэтому второй узел для аварийного восстановления или для второй страны означает второй расход, а с ростом цена пересматривается вверх. Smppcube стоит 6 400 $ один раз: бессрочная лицензия, исходный код передаётся вам. Честная формулировка такая: если дерево реселлеров вам никогда не понадобится, более дешёвая лицензия действительно дешевле, и её стоит купить.

Когда вы посоветуете купить NowSMS или Ozeki вместо Smppcube?

Когда вы одна организация, которая отправляет собственные сообщения и никому не выставляет счета; когда MMS, MM7 или парк GSM-модемов является реальным требованием, а не сноской; когда ваша команда эксплуатации работает на Windows и намерена оставаться на этой платформе; или когда задача фиксированная и внутренняя, например оповещения от системы мониторинга или OTP для одного приложения. В этих четырёх случаях однотенантный шлюз будет лучшей покупкой, а мультитенантная платформа станет грузом, который вы понесёте впустую. Мы предпочитаем сказать это здесь, а не продать вам не то.

Все руководства