Управление бизнесом в единой среде
В моем предыдущем посте вы могли прочесть начало истории и том, как зарождалась идея создания собственной системы управления. Управление хостингом – сложнейший процесс, и в своих поисках идеального решения мы остановились именно на базе Drupal. Почему именно на Drupal, сколько соли было съедено с другими системами, и сколько шишек набито – об этом и о многом другом я рассказываю в своих публикациях.
Drupal Flex изначально ориентировался, как универсальное и гибкое платформенное решение для различных отраслей e-commerce ("электронная коммерция" - это для широкого понимания). В том числе и для комплексной автоматизации хостинг-бизнеса.
В данном кейсе рассматривается одновременное кросс-управление несколькими хостинг-проектами. Drupal выступил в роли централизованной системы для организации хостинг-сервисов.
Стоимость решения: > $95 000 (не считая расходов на инфраструктуру).
Класс решения: enterprise.
Скринкаст
смотреть тут (англ. версия)
Результат
Один из наших хостинг-проектов: https://btrxboost.com
Предисловие
Довольствоваться тем, что тебе дают по чайной ложке (я имею в виду возможности заложенные разработчиками в системы и сервисы) - значит быть как все, отказаться от развития, потенциала, преимуществ. Я часто сравниваю зависимость от чужих стратегий с тюремным заключением без даты освобождения. Может быть, повезет. Или не повезет, и через много лет вы констатируете, что жизнь прошла, ваши идеи уже кто-то реализовал. А вы все так же в заложниках чужих мерок “так правильно”.
Наша цель, для достижения которой мы создали Drupal Flex - независимость от искусственных ограничений, от условий платных сервисов, от возможностей ПО для бизнеса. Максимальная гибкость и универсальность применения для решения бизнес-задач – вот что стало нашей главной ценностью.
Сравнение
Привожу в пример близкие по смыслу платформы для автоматизации хостинга: WHMCS, Plesk, BillManager. Все эти платформы мы использовали на своих проектах, сравнивали и сейчас я могу сказать, что их всех объединяет один большой недостаток – отсутствие универсальности и функциональной гибкости. Все будет работать только так, как было задумано (N-лет назад). При условии, что наша компания работает на одном из самых динамичных it-сегментов, то в первую очередь мы думаем о перспективах развития. Я имею в виду, что бизнес-модель работающая в рамках функционала сторонних компаний – это тупик. То, что могут все, становится неинтересно и бесперспективно.
Пример: в вышеперечисленных платформах нет и не будет поддержки омниканальной коммуникации, а о интеграции с telegram вообще можно не мечтать. Никогда не будет “бесшовной” среды (я имею в виду, что сайт и биллинг всегда будут разными и слабо связанными). Никогда не будет гибкости. Это сплошной логический dead-end. И для бизнеса это критичные аспекты, они определяют качество работы поддержки. Точнее, они определяют ее некачественность, увы. Мы же ставим своей целью гибкость, бесшовность, архитектурную целостность систем, и именно в этом видим перспективу – свою и клиентскую.
Разрозненность
Разрозненность – большое зло для любого бизнеса.
В реальных условиях систематизация бизнеса, организованная на основе разрозненных решений имеет множество рисков. Так изменения в работе любого из сервисов повлечет неконтролируемый сбой работы других связанных с ним.
Мы все сталкиваемся с ситуациями, когда разработчик решения “улучшает” функционал на своей стороне, а на нашей стороне вовсе перестает работать что-то важное. Начинается выяснение причин, трата времени, бизнес-процессы стоят. А если в веб-проекте используется много внешних сервисов? Проще закрыть глаза на нестыковки и оставить все “как есть”, чтобы не рисковать с переносом процессов. И эта кажущаяся простота – стратегия страуса, прячущего голову в песок. Невидимые проблемы, скрытые в разрозненности процессов, неизбежно накапливаются и вскроются с очень большим грохотом. Компания не в силах предсказать процесс, который раньше ею не наблюдался. И таких процессов в разрозненных системах – масса. Критичные и мелкие, они копятся и угрожают стабильности. Вам это нравится? Нам решительно нет, и поэтому мы объединяем все в единую среду, прозрачную и наблюдаемую, в предсказуемое стабильное решение.
Опыт...
В нашей истории бизнеса было много непростых моментов. Один запомнился больше других.
Наш личный ад с WHMCS (а именно с представительством из Украины) длился две недели, мы не получили за этот период ни копейки прибыли и, к тому же, достали немало средств из собственных кошельков, чтоб не потерять свой бизнес и сохранить бизнес наших клиентов. Вы легко можете представить звонки и письма от 100 негодующих клиентов, у которых в один час перестало работать ВСЕ. У нас же на тот момент их было 5000, и мы разрывались между попытками их успокоить и нечеловеческими усилиями, направленными на то, чтобы сподвигнуть разработчика устранить причину сбоя. Лучшее, что мы смогли придумать для быстрого снижения волны недовольств от клиентов – это работать бесплатно. Это стоило нам большого кассового разрыва, вложения личных средств, и, конечно, очень много нервов.
И если клиенты сохраняли остатки лояльности к нам за бесплатность “сервиса”, то штат сотрудников оставить без зарплаты было нельзя. Это были очень тяжелые две недели, с задачами на границе возможного, со звонками от клиентов, с безденежьем. Мы катились в пропасть и каждое утро начинали с мольбы в адрес WHMCS.
В чем же было дело? WHMCS не делали резервных копий своего собственного сервера лицензий, и даже не торопились это исправлять. Сервер лицензий чудным образом рухнул вместе с данными. Все потеряли доступ к своим оплаченным сервисам, не могли приобретать и продлевать хостинг, работать с данными. “Услуга” длилась две недели, которые понадобились вендорам решения для ручного ввода (по всей видимости) потерянных данных на новый сервер лицензий.
Наверное, вы думаете, что в итоге они потеряли много клиентов, в том числе и нас? Грустная правда в том, что мы и все клиенты остались, просто потому, что альтернатив на тот момент не было.
Почему я рассказываю вам про такие эпизоды из нашей жизни? Потому, что мне хочется, чтобы вы знали цену спокойствию, которое мы разрабатываем. Набивая шишки, как раз для того, чтобы вы о них узнали только с наших слов, и не встречались с такими моментами лично.
Я много чего могу рассказать и про другие решения от ISP и Plesk, да и про коммерческие CMS для сайтов. Это истории обретения драгоценного опыта. И наш опыт подтверждал снова и снова идею о том, что разрозненность процессов в бизнесе – это большое зло. Очень большое.
Список длинный, поэтому я выделяю для вас основные проблемы:
- Технические поддержки сервисов не сообщаются между собой. Клиент разбирается самостоятельно. Надо делать бизнес, обслуживать клиентов, а владелец сидит в обнимку с айтишниками и ковыряется в особенностях работы сервисов. Аналогичное сравнение можно провести с предпринимателем, который первый раз открыл ООО и только успевает закрывать бухгалтерские задачи и отбиваться от проверок и штрафов. Есть риск разориться раньше, чем закончится аудит.
- Отсутствие полностью готовых и гибких интеграций, нет возможности добавлять собственный функционал. Иногда я думаю, что они там сидели и думали так: “А зачем хостеру оказывать еще какие-то услуги кроме хостинга, если он хостер? Пусть делает только то, что мы решили, и хватит с него.”
- Отсутствие личных настроек. Нам предлагают множество решений, которые невозможно полноценно брендировать. Чем я со своим сайтом и биллингом будут отличаться от конкурента? У него Billmanager с ошибками и у меня такой же с виду. Я хочу продавать лучшую клубнику в рестораны, но вынужден упаковывать ее в банки, такие же как у замороженного продукта пятилетней давности. Где же мне проявить свои преимущества и реализовать потенциал?
- Разные интерфейсы и принципы работы. Пришел новый сотрудник, а у нас 4 сервиса с разными интерфейсами и дублированными функциями. Нужно садиться с новичком и объяснять все нюансы. И если назавтра что-то поменяется, то мы садимся снова за обучение, теряя время и, самое печальное, уверенность в достаточной подготовленности кадров.
- Лишние и дублирующие функции сервисов. Не страшно, что за них нужно переплачивать, страшно то, что они могут конфликтовать друг с другом. Мы с этим сталкивались неоднократно и отловить конфликтующие сервисы сложнее, чем баги внутри одной системы. В этих случаях нужно тестировать всю цепочку сервисов, постепенно отключая каждый элемент (сервис) и проводить тесты. Решение может занять 5 минут, а на то, чтобы отловить проблему может понадобиться несколько дней. При том, в идеале тесты должны проводиться на полностью дублированной инфраструктуре, а не на боевом проекте. Как думаете, со всеми ли сервисами можно договориться, чтобы бесплатно дали свой продукт еще и на dev? Подскажу: далеко не со всеми.
Ценности Drupal
- Долгосрочный горизонт развития.
- Гибкость, а точнее ультра-гибкость.
- Свобода от навязанных решений.
- Фундаментальность принципов и логики (еще раз повторюсь, что Drupal - это не CMS, а логический принцип.)
- Сообщество профессионалов. Самое большое из известных мне среди профессионалов open-source web-решений.
Менять платформу каждые 2-3 года – бесперспективно. Мы предпочитаем один раз вложиться в правильный инструмент, стать профессионалами и гарантировать его работоспособность в перспективе. Мы чувствуем себя спокойно, и мы знаем, что будет с платформой через 5 лет. С Drupal все будет хорошо, и мы будем через пять лет еще более крутыми специалистами.
Мы свои выводы сделали, дело за вами.
Цели
Снижение внутренних рисков
- Контроль качества программного продукта. Исключение миграции на другую платформу в случае изменений в команде разработчиков или ее полной замены.
- Минимизировать зависимость системы и бизнес-процессов от дочерних сервисов (минимум подключенных сторонних сервисов).
- Единая система управляющая всеми бизнес-процессами.
Масштабируемость
- Кросс-платформенные стандарты для back-end/front-end для упрощенного обновления всей группы сайтов по специализированным хостингам для CMS.
- “Бесшовный” интерфейс для клиентов (единый дизайн для сайта/биллинга/личного кабинета).
- Гибкий универсальный биллинг.
- Единый центр обслуживания клиентов по принципу омниканальности.
Бизнес-процессы
- Повышение качества работы отдела службы поддержки за счет повышения удобства работы сотрудников (все в одной системе, одном интерфейсе), предотвращения долгих ответов и потере обращений, автоматический KPI, моментальные уведомления, мониторинг всех коммуникаций в телеграм.
- Снижение операционной нагрузки бухгалтерской части (автоматизация).
- Полноценная автоматизация предоставления хостинг-услуг и сопроводительных сервисов.
- Постановка внутренних задач, контроль исполнения, отчеты.
Профит
Мы имеем возможность воссоздавать аналогичные и дочерние проекты в десятки раз дешевле и быстрее.
Многие компании просто не реализуют свой бизнес-потенциал только потому, что создание даже одного профессионального сайта стоит кучи денег и сил, не говоря уже о системе автоматизации процессов. А финальным гвоздем в крышке гроба становится вопрос о том, как одновременно поддерживать несколько веб-проектов, если зачастую ресурсов едва хватает на один.
Наша идея, которая казалась сложной и даже невозможной стала реальностью. Да, мы потратили время и деньги, но это инвестиция, которая дает свои результаты.
Drupal дал нам свободу развития. И при всей его свободе мы избавлены от бесконечного допиливания и переделок решений, от причудливой архитектурную энтропии, от привязки к конкретным разработчикам. Мы контролируем систему сами.
Используемый функционал
Продукты:
- Гибкая система тарификации хостинг-тарифов.
- Продажа услуг (администрирование, обслуживание).
- Продажа продуктов типа SSL-сертификатов, выделенных серверов, лицензий CMS.
- Установка наценок на продукты и их свойства (опции, атрибуты).
- Возможность указания цены товаров (включая опции и атрибуты) в иностранных валютах с автоматической конвертацией в рубли по текущему курсу ЦБ.
- Установка платежных циклов на основе атрибутов с возможностью добавления скидок за единовременную оплату больших циклов (например, скидка 10% при оплате за 12 месяцев хостинга). Смена платежного цикла из личного кабинета клиента.
- Включение режима демо-периода (триал) для услуги.
- SMS-верификация при оформлении триал-услуг.
- Выбор автоматической установки CMS при заказе продукта.
- Выполнение бизнес-процессов (например: создание тикета с отправкой уведомления в отдел) при заказе продукта.
- Разбивка продуктов в заказе на отдельные заказы.
- Трансляция данных о продукте в личный кабинет клиента.
- Внутренний интернет-магазин с возможностью покупки товаров за накопленные бонусные баллы.
- Полное управление продуктами из таблицы: тип продукта, название, категории, описание, атрибуты и опции, фото, наличие (остатки), наценки, валюты, метки, цены, бонусные баллы, промо-коды, ограничения по количеству единиц и времени, выбор родительской группы (промо-страницы с продуктами), рекомендации, аксессуары, запуск процессов, верификация при покупке, тип заказа (триал, без оформления, обычный), автопродление, изменение платежного цикла, выгрузки во внешние сервисы и др.
- Замена продукта и опций (при смене тарифного плана).
- Передача данных из опций атрибутов товара после завершения заказа в новый тикет (например, когда клиент оформил новый хостинг с миграцией сайта > автоматически создается тикет с данными доступа оставленными клиентом при заказе).
- Индивидуальные справочные материалы к продукту (индивидуальные блоки F.A.Q.).
- Смена тарифного плана (продукта) через промо-страницу (вместо неприглядного списка с тарифами, как в обычных биллингах). Заменяемый продукт временно маркируется для процесса для вывода вспомогательной информации на промо-странице (режим замены).
- Выбор опций генерации отчетных документов по продукту (период формирования актов, актов-сверок и др.).
- Экспорт продуктов в сторонние сервисы (например: Яндекс.Маркет, Google Merchant Center, Admitad и др.).
- Группировка продуктов по типам (product-kit).
Автоматизация управления хостинг-панелями:
- Управление аккаунтами в панелях Cpanel, ISPmanager (версии lite и pro), SolusVM, ProxMox (beta).
- Подготовленный API для интеграции с дата-центрами (для выделенных серверов), удостоверяющими центрами (SSL) и др.
- Универсальная форма авторизации (форма-посредник) в личном кабинете на сайте (с возможностью сброса/восстановления пароля).
- Менеджмент серверных парков (группы по типам серверов настроенных под определенные CMS).
- Индивидуальные логические сценарии для серверов разного типа (shared/vps/dedicated) и настроек под CMS: Битрикс, Drupal, WP и т.д. Например: для shared-хостинга под Битрикс по тарифу “N” при создании нового хостинг-аккаунта можно отправлять клиенту определенное email-сообщение с индивидуальным описанием и оформлением.
- Гибкость подстановки данных различного типа за счет использования дополнительных токенов (в шаблонах, в условиях (rules) и др.).
- Балансировка загруженности серверов для автоматизации процессов: на каком сервере создавать новый хостинг-аккаунт, уведомления о нагрузках свыше указанной нормы (штатная нагрузка не более 45%) и др.
- Логирование всех действий клиентов при работе с тарифами (апгрейд, блокировка, удаление, создание и т.д.).
Управление доменами:
- Reg Ru - поддержка регистрации менеджмента доменов в различных зонах (beta).
- Встраиваемая в ноды формы проверки доступности доменов (whois) с возможностью моментального оформления регистрации (beta).
- Редактирование DNS-записей (beta).
Центр поддержки:
- Универсальная справочная система с разграничением прав доступа к материалам (пользователи, клиенты, сотрудники). Категоризация и тегирование.
- Поиск по всем справочным материалам;
- Часто задаваемые вопросы с подсветкой вариантов по мере набора текста пользователем (клиентом);
- Тикет-система для клиентов с обновлением сообщений в реальном времени.
- Интерпретация тикетов в виде доски канбан, календарь и настраиваемыми списками.
- Гибкая настройка канбан-досок по статусам и на основе отделов поддержки в т.ч. по типам услуг и продуктов.
- Треккинг времени работы с тикетом.
- Внедрение форм и счетов на оплату в сообщение тикета.
- Автоназначение сотрудников поддержки в зависимости от установленных приоритетов по отделам и сотрудникам, а также по степени их загруженности (учет количества назначенных тикетов по определенным статусам).
- Проверка нахождения сотрудника online в системе при назначении тикета.
- Эскалация тикетов с трекингом в лог.
- Готовые шаблоны ответов (база ответов) для ускорения реакции поддержки по типовым вопросам.
- Автоматические ответы в случае задержки ответа.
- Отправка уведомлений сотрудникам поддержки в случае задержки реакции на тикет.
- Возможность публикации скрытых комментариев в тикетах (для общения в тикетах между сотрудниками).
- Форма согласия с условиями обращения в техническую поддержку перед созданием тикета.
- Онлайн-чат с поддержкой с возможностью приема/отправки файлов, проведения оплат и формирования тикетов из лога чатов.
- Скрытая капча (антиспам) для форм создания тикетов, обратных форм и онлайн-чата.
- Сортировка поступающих обращений в зависимости от уровня поддержки клиента (устанавливается в зависимости от статуса клиента).
- Импорт входящих email-сообщений в систему в реальном времени. Интерпретируются в тикеты. Ответы сотрудников дублируются на email клиента. Отметка о прочтении email приходит в сообщение тикета (скрытый пиксель).
- Возможность отправки ответа из тикета целенаправленно на email и/или sms. Хранение отметки о типе отправки.
- Импорт и экспорт сообщений из групп в социальных сетях (VK, Facebook, Instagram). Интерпретируются в тикеты. Ответы сотрудников дублируются в приватные сообщения клиентам в социальных сетях.
- Просмотр всех обращений от пользователя с фильтрацией по типам.
- Автоматическое определение устройства, IP-адреса, местоположения и другой информации.
- Трекинг входящих и исходящих звонков (VoIP) (beta).
- Трекинг временных затрат по каждому обращению.
- Построение отчетов для службы контроля качества (beta).
Клиенты:
- Установка статуса клиента в автоматическом режиме (на основе используемых способов оплаты).
- Установка статуса клиента в автоматическом режиме: в зависимости от купленных продуктов и/или пороговых значений LTV.
- Юридическое или физическое лицо.
- Смешанный баланс личного кабинета (баланс может пополняться как по безналичному расчету, так и по банковским картам и эл. деньгам от физического лица). В дальнейшем система учитывает эти особенности при формировании отчетных документов и очередности списаний.
- Сбор и хранение данных о пользователе (360 customers profile view).
- Автоматическая регистрация в системе при отправке сообщения в онлайн-чат, создание обращения через тикет (можно отправлять анонимам), email, социальной сети и заполнении форм.
- Сбор и конкатенация данных клиентов (телефоны, email, компания, Ф.И.О. и др.).
- Организация клиентских групп по признакам (organic groups).
Маркетинг:
- Бонусные баллы (кэшбэк) по индивидуальным настройкам каждого продукта.
- Оплата с баланса и/или бонусными баллами с указанием допустимой доли.
- Управление адресными рассылками (email, sms, внутренние в личном кабинете).
- “Нарастающие” скидки (как часть engagement-процессов).
- Ограничение по времени для возможности заказа продукта или пополнения баланса.
- Скидочный таймер под каждый продукт или группу продуктов с привязкой по уникальному ID и cookies.
- Скидки на опциях атрибутов товаров.
- Автоматическая генерация промо-кодов (например, за подписку на новости).
- Продажа подарочных сертификатов. Передача другому пользователю, применение подарочных сертификатов с авторегистрацией пользователя. Привязка к конкретной покупке, либо зачисление суммы сертификата на баланс ЛК.
- Продажа наборов продуктов (product kit) с общей скидкой.
- A/B тестирование промо-страниц.
- Назначение персональных скидок клиентам.
- Возможность управления рассрочкой для дорогих продуктов (beta).
Заказы:
- Возможность авансирования клиентов.
- Учет долговых обязательств клиента.
- Расчет остатка неиспользованных средств по услугам (при отмене услуги и возврате на баланс личного кабинета).
- Обработка и коррекция данных по ФИАС или КЛАДР.
- Виртуальный буфер корзины (когда требуется разделить набранные товары в корзину на несколько разных заказов в виду особенностей оплаты).
- Эквайринг Paymaster для резидентов РФ;
- Эквайринг Stripe для иностранных контрагентов (beta);
- Эквайринг PayPal (отключен, пока PayPal жестит с постоянными проверками);
- Shared-корзина (общая корзина на несколько сайтов на разных доменных именах).
Партнерская система:
- Привязка суб-аккаунтов (партнер вручную создает записи для своих клиентов);
- Аффилированная ссылка (классический учет привлеченных клиентов);
- Промо-коды со скидкой для клиентов (применение промо-кода связывает клиента с партнером);
Бухгалтерия:
- Генерация счетов и отчетных документов (актов и актов-сверок) для юр. лиц.
- Выгрузка готовых документов в СЭД (“Диадок”) для дальнейшего подписания и отправки (beta).
- Добавление в систему нескольких юр. лиц компании (часть услуг и продуктов мы предоставляем от своих дочерних структур).
Сотрудники:
- Расчет по KPI на основе скорости реакции на входящие заявки и качества их решения.
- Типизация задач с премированием за соблюдение установленных сроков выполнения.
- Единый интерфейс и логический принцип всех внутренних инструментов в системе.
- Разграничение прав доступа.
- Гибкая настройка уведомлений на основе приоритетов задач, загруженности сотрудников и отделов.
- Омниканальная система уведомлений сотрудников в случаях превышения установленного времени (задержки) реакции на задачу, инцидент или тикет.
- Просмотр назначенных тикетов и задач на сотрудника (виды: канбан, календарь, список).
Front-end:
- Стандартизация front-end. Исключение переписывания или перекрытия стилей в случае существенных изменений в дизайне.
- Ускорение оформления на 30% в сравнении с классическим написанием стилей на CSS.
- jFlex (см. видео-презентацию). Наша классоориентированная библиотека на SASS. Аналог bootstrap, но с более гибким управлением дизайном (микрошаблонизация) и функциональными возможностями (множество собственных и заимствованных jquery-плагинов с универсальным назначением).
- Адаптив + мобильная (отдельный рендеринг для мобильных устройств).
P.S.
Коллеги, надеюсь, что наш кейс будет полезен не только в частном понимании применения Drupal, но и в качестве демонстрации его возможностей Вашим потенциальным клиентам. Несложно провести аналогию и представить, как будет работать любой другой веб-проект на базе Drupal или Drupal Flex.
Можно считать, что этот кейс про хостинг-проект является примером решения сложнейших задач. Этот вид бизнеса подразумевает применение комплекса сложных технологий, масштабируемость, скорость и непрерывность работы. Стоит ли сравнивать с разработкой даже крупных интернет-магазинов?
На своем примере мы просто демонстрируем технологические преимущества, которые важны для стратегии развития любой серьезной компании.
На какой раскрученной CMS или модном фреймворке писать сервис для нас не имело никакого значения: вся суть в стратегии, перспективах и конечной выгоде.
К сожалению, в России рынок enterprise веб-решений на Drupal пока не так развит, как в других странах (просто у Drupal нет масс-маркетинга, да и по-сути он не нужен, ведь кому надо – разберутся и будут пользоваться), но уверен, что в скором времени ситуация будет меняться кардинально быстрее. Когда до предпринимателей дойдет, что знания и технологии НУЖНО капитализировать, а не перебиваться времянками и “скакать” с платформы на платформу, потому что программист ушел
По всем вопросам можете обращаться в здесь в ЛС, skype: a.4477, telegram: alex4477
Комментарии
Вода-водой. Drupal-то где? Похоже что просто пиаритесь.
Согласен, много текста. Собственно все в посте про Drupal, сравнение, почему выбрали именно его, как решили бизнес-задачи, состав функций. Это все про Drupal.
Да, не отрицаю, что часть статьи посвящена рассказу о билде Drupal Flex, но цель была в том, чтобы кейс можно было показывать клиентам, которые выбирают между платформами: "посмотрите что возможно сделать на Drupal, почему компания выбрала именно эту систему, какие проблемы решили".
Спасибо за кейс, полезное:
- отличный proof of concept
- тем кто занимается хостингом видно что вы в курсе о чем пишете) да, у нас была когда-то давно лицензия whmcs от той же команды, понятная боль ))
Спасибо за поддержку)
О да, тогда много кто посыпался. Помню, все кто попал - общались на каком-то форуме и никто не знал, что делать. У кого мало клиентов переносили все на billmanager. К сожалению, мы не могли.
Скринкаст видео не открывается.
с ограниченным доступом пишет