Делаем поддержку дешевле, стараясь не растерять качество

wrjf1ccftenj79nlnx_lc0zwknk.png

Аварийный режим (также упоминается как KVM), позволяющий подключаться к VPS без RDP прямо с уровня гипервизора, экономит 15–20 минут в неделю.

Первое и главное — не бесить людей. Во всём мире поддержка разделена на линии, и сотрудник первой должен попробовать типичные способы решения. Если задача выбивается за их пределы — передать второй линии. Так вот, среди администраторов VDS достаточно часто попадаются люди, которые умеют думать. В отличие от многих других поддержек. Ну, по крайней мере, существенно чаще. И они хорошо структурируют тикет, сразу описывая всё что нужно. Если у первой линии «глаз замылится» и они случайно в ответ на такое попросят включить и выключить — это фиаско.

Задача стоит очень простая: сделать поддержку нашего VDS-хостинга адекватной при минимуме затрат. Потому что мы фастфуд мира хостинг-провайдеров: никакого особого «облизывания», низкие цены, нормальное качество. Ранее уже был рассказ про то, что с появлением инстаграм-няшек, пытающихся автоматизировать ведение аккаунта и владельцев малого бизнеса с удалённой бухгалтерией и остальных не слишком прокачанных в технологиях людей, общение «как админ с админом» прокатывать перестало. Пришлось менять язык общения.

Теперь расскажу о процессах чуть больше — и о неминуемых косяках с ними.

Не бесить людей № 1


Любая поддержка — это конвейерное производство. Приходит заявка, сотрудник первой линии сразу пытается распознать типичную ситуацию, которая тысячу раз уже случалась и тысячу раз ещё случится. Шанс 90 %, что заявка типовая, и ответить на неё можно нажатием буквально пары кнопок, чтобы подставился шаблон. В шаблон обычно нужно вписать пару слов — и готово. Или зайти в интерфейс управления и нажать там пару кнопок. В более сложных случаях (переносы из зоны в зону, например) нужно выполнить действия по алгоритму.

То, что больше всего бесит людей независимо от других качеств поддержки, — это типичная реакция на нетиповую заявку. Приходит тикет, где всё подробно описано, есть куча необходимых данных на три вопроса вперёд, клиент предвидит диалог… И по первым словам сотрудник поддержки на автопилоте набирает аккорд для подстановки шаблона «попробуйте перезагрузить, должно помочь».

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

Не бесить людей № 2


Второе, что с равным успехом вскрывает мозг, — это когда на тикет никто не отвечает достаточно долго. В Европе такое поведение поддержки нормально: три дня до принятия инцидента в работу — более чем норма. Даже если вам очень срочно и что-то горит — ни соцсетей, ни телефона, ни мессенджера, только почта и ждите своей очереди. В России такое гораздо менее распространено, но всё равно некоторые тикеты «забываются». Ещё в самом начале работы поставили SLA на первую реакцию 15 минут. И это при 24/7 честном. Понятное дело, когда VDS-хостинг становится крупным, это появляется. Но у сомнительных провайдеров услуг такого нет. А мы на старте были как раз сомнительным и только потом стали более-менее крупным. Ладно, более-менее средним.

Первая линия — операторы, которым дали скрипты и научили реагировать на типичные ситуации. Они быстро-быстро сортируют проблемы и стараются за 15 минут или ответить типичным действием, или сообщить о том, что тикет в работе, и передать во вторую.

Вторая линия — уже администраторы хостинга, они умеют почти всё делать руками. Там же — руководитель поддержки, который умеет делать всё и ещё немного. Третья линия — уже разработчики, к ним попадают тикеты вроде «поправьте вот это в интерфейсе» или «неверно учитывается такой-то параметр там-то».

Уменьшать количество заявок


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

Если тебе не нужна поддержка, значит, она справляется хорошо.

Вторая особенность, которая очень бережёт время, — это долгое заполнение базы знаний. Если у пользователя — проблема, которая не входит в список поддерживаемых действий (чаще всего это вопросы уровня «как поставить сервер Майнкрафта» или «Где в Win Server настроить VPS»), то пишется статья в базу знаний. Такая же подробная статья пишется на все странные запросы. Например, если пользователь просит поддержку удалить встроенный файрвол Windows Server, то мы отправляем читать про то, что будет, если его реально отключить, и как прокинуть разрешения только для выбранного софта. Потому что проблема обычно с тем, что что-то не может приконнектиться из-за настроек, а не с самим файрволом. Но объяснять это каждый раз в диалоге очень сложно. А отключать файрвол как-то не хочется, потому что довольно скоро мы потеряем либо виртуальную машину, либо клиента.

Если что-то по прикладному ПО в базе знаний становится очень посещаемым, то можно завести дистрибутив в маркетплейс, чтобы появилась услуга «поднять сервер с уже установленным вот этим». Собственно, так стало с Докером, и так стало с сервером Майнкрафта. Опять же одна кнопка «сделайте мне хорошо» в интерфейсе сберегает до сотни тикетов в год.

Аварийный режим


После этих действий больше всего серьёзных поломок, требующих ручной работы, остаётся с тем, что пользователь по каким-то причинам потерял средство удалённого доступа к гостевой ОС в гипервизоре. Самый частый случай — банально неверная настройка файрвола, второй по частоте — какие-то баги, которые не дают запуститься Win нормально и заставляют перезагрузиться в Safe Mode. А в безопасном режиме RDP по умолчанию недоступен.

Мы сделали на этот случай аварийный режим. Вообще-то обычно для доступа к VDS-машине нужно иметь какого-то клиента для удалённой работы. Чаще всего речь идёт про консольный доступ, RDP, VNC или что-то подобное. Недостаток этих методов в том, что они не работают без ОС. Но мы-то на уровне гипервизора можем получить и изображение на экране, и передавать туда нажатия на клавиатуру! Правда, это нехило так нагружает процессор (из-за фактической трансляции видео), но позволяет получить нужный результат.

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

Результат — ещё меньше тикетов в поддержку. И там, где админ может исправить в тикете сам, поддержке не нужно лезть руками и разбираться.

Оставшиеся проблемы


Очень часто пользователи думают, что поддержка им что-то впаривает. Сделать с этим, увы, ничего нельзя (ну или мы не придумали). Два самых частых примера — это лимиты по ресурсам и DDoS-защита.

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

Раньше было так: предупреждение, потом, если пользователь не внял, — автоматическая же блокировка. И в этот момент люди обижались: «Да вы чего, это система ваша глючит, ничего не было!» — и дальше можно либо попытаться разобраться в прикладном софте, либо предложить повысить тарифный план. Разбираться в работе прикладного ПО у нас нет возможности, потому что это за гранью поддержки. Хотя первые несколько случаев разбирали вместе с пользователями. Особенно запомнился тот, где у накрутчика просмотров на Ютуб был встроенный троян, и у этого трояна текла память. В итоге пришли к выводу, что это не гейзенбаги, а проблемы у пользователей, иначе нас завалили бы аналогичными заявками. Но ещё ни один человек не признался, что мог превысить тарифы сам.

Аналогичная история — с DDoS: мы пишем, что вы, уважаемый пользователь, под атакой. Подключите защиту, пожалуйста. А пользователь: «Да это вы меня атакуете сами!» Конечно, мы именно одного пользователя кладём DDoS'ом, чтобы развести на 300 рублей. Выгодное же дело. Да, я знаю, что многие крупные хостинги из категории подороже включают эту защиту в тариф, но мы так делать не можем: экономика фастфуда диктует другие минимальные цены.

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

Отмечу, что у нас есть линейка премиум-тарифов. Там, конечно, ситуация иная, поскольку мы принимаем во внимание пожелания клиента и гибко настраиваем и лимит, и удаление при неоплате (уводим его в минус, лишь бы не блочить). Там это уже экономически целесообразно, потому что случается действительно всякое, и сохранение постоянного крупного клиента дорого стоит.

Иногда пользователи злонамеренны. Несколько раз у нас в системе были сбои с блокировкой сотен виртуальных машин из-за каких-то явно нелегитимных действий клиентов. Собственно, именно из-за таких ситуаций нам понадобились собственные сетевые драйвера, чтобы вести мониторинг сетевой активности и видеть, что пользователь не исполняет атаку со своего сервера. Мониторинг такого плана важен, чтобы границы соседних виртуалок не нарушались буйными ребятами.

Есть те, кто банально спамит, майнит или иначе нарушает оферту. Потом стучит в поддержку и спрашивает, что пошло не так и почему машина заблокирована. Если процесс в тикете на скриншоте называется «рассылатель спама.exe», то, наверное, что-то идёт не так. Ещё где-то раз в две недели к нам приходят жалобы от компаний Sony или Lukasfilm (теперь — Disney), что кто-то с нашей виртуалки из нашего диапазона IP-адресов раздаёт палёный фильм. За такое сразу блок и возврат оставшихся на счету денег по оферте (напомню: квантование у нас посекундное, то есть остаток всегда точно будет). А чтобы вернуть деньги, по законодательству нужно показать паспорт: это противодействие отмыванию средств. Пираты почему-то вместо показа паспорта пишут, что мы отжали у них деньги, забывая уточнить часть обстоятельств.

А, да. Лучший запрос года у нас такой: «А можно несколько дней протестировать виртуальную машину по тарифу 30 рублей в месяц до покупки?».

Итог


Первая линия сортирует тикеты и отвечает типичными действиями. Больше всего недовольства именно тут. Поправить это всё равно не выйдет, потому что основа исправления — в автоматизации хостинга, то есть в огромном бэклоге. Да, у нас больше, чем у многих на рынке, но всё равно недостаточно. Поэтому лучшее, что можно сделать, — это наладить мониторинг первой линии. Мониторинг службы поддержки — выполнение KPI первой линии. В реальном времени видны просрочки по SLA: кто лажает, часто — почему. Заявки благодаря таким алертам никогда не теряются. Да, на тикет могут ответить шаблоном не по теме, но это мы узнаём уже по обратной связи.

Если клиент очень просит, то специалист второй линии может зайти на сервер и сделать там то, что необходимо клиенту (условием является подтверждение письмом, в котором он сообщит данные для входа на сервер).

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

Первая линия имеет базу знаний, куда можно отправлять смотреть сложное.

Богатый на функции личный кабинет плюс база знаний — и вот мы смогли снизить количество обращений до 1–1,5 в год на клиента в среднем.

Вторая линия обычно обрабатывает сложные заявки, требующие ручного труда. Что характерно: чем дороже тарифный план, тем меньше таких заявок из расчёта на виртуальную машину. Обычно потому, что у тех, кто может позволить себе дорогой тариф, либо есть спецы в штате, либо просто половина проблем не встаёт из-за того, что конфигурации на всё хватает. Я до сих пор вспоминаю того героя, кто ставил не самый старый Windows Server на конфигурацию с 256 Мбайт оперативной памяти.

Вторая линия имеет набор дистрибутивов и набор скриптов автоматизации. И то и другое можно обновлять по мере надобности.

Вторая линия и персональные менеджеры VIP-тарифов умеют добавлять примечания в профиль клиента. Если он Linux-админ — так и запишем. Это будет подсказкой первой линии: пользователь точно знает, что это будет не выстрел в ногу, а контролируемое разрушение.

Третья линия правит самое странное. Например, у нас был баг, что нельзя было достучаться до одной из функций личного кабинета в Файрфоксе. Пользователь прямо шантажировал: «Если не исправите в течение 12 часов, то я напишу на всех хост-обзорах». Как оказалось, проблема была в кастомном адблоке. На стороне пользователя, как это ни странно. Часто приходят сложные ошибки без деталей, и повторить уже не могут. Бывают детективы со скриншотом: «А чего вы его месяц исправляете?» — «Да мы ваш баг ищем всё это время просто», «А, ну мне опять попадался сегодня, но повторить я опять не смог»…

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

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

a_bsaactpbr8fltzymtkhqbw1d4.png

© Habrahabr.ru