Создание SaaS-сервиса IP-телефонии с нуля: опыт WEZOM

Евгений
Евгений
CBDO
29.11.2022
29.11.2022
4.0
2125
12 мин
0

В WEZOM обратился один из наших старых клиентов, крупный хостинг-провайдер. У компании была очень амбициозная и перспективная идея - запустить собственный облачный VOIP-сервис, который превзошел бы всю доступную на рынке онлайн-телефонию. Мы взялись за проект в новой для нас нише и выложились на 100%, чтобы сделать действительно достойный продукт.

Суть проекта

Это не первая наша работа с командой клиента, ранее мы помогали ей создавать успешные продукты для хост-провайдинга. Так что когда у клиента возникла идея по запуску нового направления бизнеса, он без раздумий обратился к нам.

В чем заключалась эта идея? Клиент видел, что рынок IP-телефонии стагнирует. Его делят между собой крупные провайдеры, которые работают на устаревших технологиях и предлагают слабый сервис: низкое качество связи, жесткие тарифы, сложная кастомизация услуг, слабая техподдержка. 

Пример из жизни: если клиент крупного провайдера сталкивается с техническими проблемами, то вынужден звонить в поддержку, где ему дают советы из бородатых анекдотов о сисадминах: “перезагрузите компьютер”, “не используйте ваш вай-фай”, etc. 

В B2B-сегменте давно появился запрос на качественную и удобную IP-телефонию, и у компании клиента было все, чтобы выйти на этот рынок с новыми решениями: оборудование, технологии, команда. Они хотели создать платформу, предоставляющую услуги по модели SaaS - за ежемесячную плату. Клиенты такого сервиса могли бы пользоваться гибкими тарифными планами и тонко настраивать свою телефонию без обращения в техподдержку. Но для этого нужно было построить обширную VOIP-инфраструктуру. 

Что нужно было разработать?

Клиент обратился к нам без полноценного ТЗ, но у него была технически подкованная команда и четкое видение финального продукта. На этапе сбора требований и консультаций мы подробно проработали архитектуру проекта и оформили ее в виде блок-схем. 

Цель разработки команда WEZOM определила так: создать VOIP-платформу с микросервисной архитектурой, которая будет включать в себя несколько продуктов для предоставления услуг по модели SaaS. 

Эта цель требовала решения ряда задач: 

  • Построение VoIP-инфраструктуры для сервиса
  • Создание веб-платформы для презентации и продажи услуг
  • Создание личного кабинета с обширными настройками VOIP
  • Создание клиентского сервиса непосредственно для совершения звонков

Когда концепцию продукта согласовали, детализировали и утвердили, можно было браться за проработку ТЗ и формирование стека технологий.

Выбор технологий и формирование команды

Справедливо будет уточнить важную деталь - на момент обращения клиента у нас не было достаточной экспертизы в области VOIP, и мы честно сказали об этом клиенту. Наш devops Евгений прекрасно разбирался в тонкостях работы IP-телефонии и концептуально продумал архитектуру всего проекта, которую мы затем и воплотили в жизнь. Но этого было недостаточно.

Для полноценной работы над продуктом нужно было найти VoIP-инженеров, так что мы с одобрения клиента взяли в штат трех специалистов, которые занимались развитием инфраструктуры - настройкой серверов, развертыванием цифровых АТС, терминацией транков. 

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

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

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

Сфера VOIP опирается на ряд общепринятых правил и стандартов, поэтому “изобретать велосипед” в ней нежелательно. В системе посредством API используются готовые решения и сервисы для организации онлайн-телефонии (к примеру, системы для биллинга). Это не только позволило сэкономить на разработке, но и обеспечило ей наилучшую совместимость с нормами индустрии.

Как проходила разработка 

Команда сформировала пул задач и двигалась по ним через большие месячные спринты. 

Мы действовали по принципам SCRUM и практиковали итеративный подход - сначала сфокусировались на разработке ключевого функционала, а потом последовательно совершенствовали его на основании фидбека от клиента. 

Параллельно с разработкой клиент анализировал свою бизнес-логику и добавлял в пул задач все новые функции и фичи. По ходу разработки проект сильно трансформировался и значительно отдалился от первоначальной концепции. Но команда была готова к этому и внедряла функционал гибко и последовательно, в несколько итераций. 

Ключевая часть работы над проектом заняла порядка 10 месяцев, после нее команда сосредоточилась на доработках и дальнейшем развитии платформы.

Коммуникация, отчетность, поиск решений

Хотя команда клиента была хорошо подкована технически, во многом ее представления о разработке были слишком упрощенными. В начале проекта они были убеждены, что создать подобную систему можно очень легко и быстро, “на коленке”. Но наши специалисты последовательно отстаивали другую точку зрения: мало накодить что-то, что будет “просто работать”. Такой проект нуждается в развитой архитектуре, которая обеспечит ему надежность и длительный жизненный цикл. 

Да, такая работа отнимет больше времени. Но если на старте не заложить в архитектуру платформы правильные решения, то спустя несколько лет бесконтрольного развития она обрастет “костылями” и утратит потенциал для роста. Поддерживать такой проект будет практически невозможно, легче создать новый. Это значит, что инвестиции в данную разработку просто испарятся. 

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

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

Кроме того, мы всегда даем нашим клиентам доступ к таск-трекингу команды разработчиков. Они всегда понимают, на каком этапе работа пребывает прямо сейчас. 

Что мы разработали

C точки зрения пользователя система выглядит очень просто. Рассмотрим ее по частям:

  • Есть веб-платформа - сайт, который презентует сервис, продает услуги и предоставляет доступ к личному кабинету.
  • Есть личный кабинет пользователя сервиса. В нем можно пополнить счет, выбрать виртуальный номер, воспользоваться дополнительными сервисами и провести тонкую настройку своей телефонии.
  • Есть функционал для VoIP-звонков. По сути это цифровой IP-телефон, который выглядит и работает соответственно. У него есть цифровая панель для набора номеров, журнал контактов, список абонентов, функционал записи звонков и прочее.

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

Личный кабинет пользователя призван максимально упростить процесс тонкой настройки VOIP-телефонии, который у многих провайдеров организован очень сложно и требует привлечения службы поддержки. 

К примеру, в ЛК пользователь может настроить такие функции:

  • автоответчик
  • голосовое меню
  • перевод/перехват/переадресацию звонков
  • запись и статистику разговоров

Там же доступны и дополнительные сервисы, такие как инструменты для маршрутизации звонков.

Функционалом VOIP-звонков можно воспользоваться двумя способами. 

Первый - скачать один из множества сторонних SIP-клиентов - приложений для онлайн-телефонии (Zoiper, Phonerlite и подобные). Такое приложение можно поставить, к примеру, на ПК, и использовать его как телефон. Единственная сложность заключается в том, что настройки для связи нужно будет внести в приложение вручную.

Второй способ - использовать встроенный клиент для звонков, который доступен прямо в личном кабинете пользователя через веб-оболочку.  Это крайне удобно, ведь для связи потребуется только браузер.

Все это выглядит очень просто и максимально удобно для пользователя. Но “под капотом” этого сервиса скрыта большая распределенная микросервисная экосистема. 

Уникальные фишки продукта

Чем продукт существенно отличается от аналогичных решений на VOIP-рынке? В чем его киллер-фичи?

  • Цифровой телефон, доступный прямо из браузера. У конкурентов на сегодня ничего подобного нет, по крайней мере, с аналогичным функционалом и уровнем качества. 
  • Тонкие настройки телефонии в личном кабинете. Скажем, пользователь может без помощи поддержки настроить шаблоны интерактивного голосового меню (IVR). Возможности личного кабинета рассчитаны на профессионалов - специалистов, которые понимают, чего хотят добиться от телефонного сервиса.
  • Простота интеграции. Благодаря облачной инфраструктуре, любой пользователь может подключить онлайн-телефонию для своего офиса буквально за 15 минут.

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

Результаты разработки

Хотя у нас ранее не было релевантного опыта в области IP-телефонии, разработка платформы прошла гладко. Проект успешно запущен и в полной мере оправдывает ожидания клиента. В его ближайших планах - расширение географии работы сервиса, добавление функций СМС-рассылки и готовых модулей для интеграции телефонии в популярные CRM-системы. 

Работа над проектом продолжается и сейчас. Команда планомерно вводит в систему новый функционал и модули, расширяет возможности личного кабинета и интеграции со сторонними сервисами.

Новая платформа отличается продуманной архитектурой и хорошо исполнена технически. Это масштабный облачный сервис самых высоких стандартов, ради полировки которого команда не жалела сил и времени. Мы гордимся этим кейсом, ведь нам удалось не только сделать качественный продукт, но и обрести опыт в новой для себя индустрии. 

Как вам статья?
4.0
Проголосовало: 1
Давайте обсудим Ваш проект
Нажимая на кнопку “Отправить”, вы даете согласие на обработку личных данных. Подробнее
Комментарии
(0)
Будьте первыми, кто оставит комментарий
wezom logo
Остались вопросы?
Оставьте ваши контактные данные. Наш менеджер свяжется и проконсультирует вас.
Подписывайтесь на рассылку Айтыжблог
blog subscriber decor image
Хотите получать интересные статьи?
Нажимая на кнопку “Отправить”, вы даете согласие на обработку личных данных. Подробнее
Следите за нами в социальных сетях
Этот сайт использует cookie-файлы для более комфортной работы пользователя. Продолжая просматривать сайт, Вы соглашаетесь на использование cookie.