О компании
JivoSite — № 1 в России и № 2 в мире по популярности сервис для общения с клиентами онлайн. JivoSite позволяет в одном приложении управлять обращениями из различных каналов — социальных сетей, популярных мессенджеров, мобильных приложений, по телефону и e-mail. К инструментам Jivosite подключено более 280 тысяч сайтов по всему миру. Основные пользователи JivoSite находятся в России, Бразилии, Турции, Европе и США. Среди клиентов как средний и малый бизнес, так и крупные заказчики: АКАДО, «Сбербанк Лизинг», «ЭПЛ Якутские Бриллианты», Pegas, BAON, «Леонардо», Mouzenidis Travel. Большинство из них продает товары и услуги онлайн, поэтому им требуется высокая скорость развертывания, стабильность и безопасность решений.
На волне и в противоход
История JivoSite началась 8 лет назад с онлайн-чатов, предоставляемых по модели freemium. Сервис быстро стал популярным: в пиковые периоды одновременно работали тысячи чатов.
Пандемия повлияла на активность аудитории, но многие компании сумели перестроиться. Отток в России был незначительным, и его удалось компенсировать: пришли новые пользователи. А на зарубежных рынках аудитория увеличилась. Малый и средний бизнес активно переходит в онлайн, но ресурсы ограничены, и иногда не хватает рук, чтобы обработать все запросы. Если многие раньше откладывали знакомство с сервисом, то сейчас им нужно доступное решение, которое позволит быстрее вовлекать клиентов, общаться с ними онлайн, увеличивать продажи и продуктивность работы операторов. Они пробуют разные варианты, в том числе инструменты JivoSite. Особенно важна простая интеграция виджетов, которую можно сделать без штатных разработчиков, а также возможность общаться с клиентами из самых разных каналов в одном приложении.
Новые горизонты для гуру «удаленки»
Всё время команда JivoSite работает удаленно и может поделиться успешным опытом распределенной разработки. На запуск нового отладочного окружения требуется всего 15 минут. Исторически авторазвертывание было реализовано на связке Amazon + Ansible, потом ситуация изменилась.
В 2012 году в JivoSite работало всего 10 человек, в конце марта 2020 команда насчитывала уже более сотни сотрудников: 30 человек работали в офисе (бухгалтерия и продажи) и еще 100 (разработка, дизайн, маркетинг, поддержка) — дистанционно. Для JivoSite приоритетами всегда были доступность приложения и удобная работа с инфраструктурой, поэтому разработчики выбрали облачные платформы. Данные российских пользователей переехали на территорию России в 2018 году. Мощностей AWS оказалось недостаточно, чтобы обеспечить клиентам запланированную скорость доставки контента.
Технические задачи, о которых мы рассказываем в кейсе, возникли еще в 2018 году. Их активно начали решать в 2019, а переход от пилота к переносу продуктивного контура в Yandex Cloud совпал с карантином весной 2020.
На конец 2018 года ни одно облачное решение не соответствовало требованиям JivoSite, поэтому в качестве временного решения российских пользователей перевели на bare metal. На арендованные физические сервера перенесли БД, бекенд и статику. Недостатки этого решения проявились сразу: физические машины сложно поддерживать, и несмотря на то, что компания тратила много времени на их обслуживание, страдала стабильность каналов связи.
Осенью 2019 года специалисты JivoSite оценили Yandex Cloud и множество управляемых сервисов в одной экосистеме, и решили запустить пилот. Спойлер: пилот прошел успешно, вскоре в Yandex Cloud перенесли продуктивную нагрузку.
Упаковка и погрузка
Архитектура сервиса состоит из двух основных частей:
- сервер, который держит сайт. На нем пользователи регистрируются (создают личный кабинет), информация заносится в БД MySQL®;
- чат-сервер, на котором работает сам сервис (количество нод зависит от нагрузки и объема пользователей).
Также используется БД Clickhouse для сбора информации (телеметрии) о поведении пользователей в виджетах JivoSite. Потом эти данные анализируют продуктовые менеджеры и улучшают работу сервиса вместе с командой. Распределенная разработка в JivoSite предполагает использование микросервисной архитектуры.
При переезде на Yandex Cloud последовательно задействуются платформенные сервисы (Managed Service for MySQL®, Managed Service for Clickhouse) и микросервисы (Managed Service for Kubernetes®). На очереди полноценная реализация CI/CD.
От теста до прода
Переезд в Yandex Cloud проходил в три этапа. В октябре–ноябре 2019 года подняли тестовый стек и сгенерировали несколько тестовых аккаунтов пользователей JivoSite. Полтора месяца три тестировщика искали недочеты как со стороны администрирования (из-за особенностей сети и инфраструктуры при миграции забыли настроить FireWall, и в MySQL по умолчанию был включен режим, при котором часть запросов не проходила), так и со стороны сервиса JivoSite (разработчики всё исправили).
С конца ноября данные всех новых пользователей JivoSite хранятся в Yandex Cloud. Когда новых аккаунтов стало 10 тысяч, регистрацию снова закрыли и начали следить за логами и фидбеком. Это позволило выявить мелкие проблемы с интеграцией.
С конца января все новые регистрации из России происходят в Yandex Cloud, их количество достигает нескольких десятков тысяч, БД выросла до 10 ГБ. На следующем шаге всех российских пользователей перевели на новую платформу. Механизма миграции ранее не было, поэтому команда разработала приложение, чтобы перенести все учетные записи без потерь.
В переезде участвовало всего 5 человек, не считая разработчиков, которые исправляли недочеты. На каждом этапе тестировщики проверяли работоспособность по чек-листу, и разработчики по логам видели, на чьей стороне проблема. Во время эксплуатации используется платный тариф технической поддержки в Yandex Cloud — специалисты отвечают на вопросы в течение 30 минут.
Российская платформа
Переезд на Yandex Cloud решил проблемы, связанные с обслуживанием физических машин, и освободил время на развитие инфраструктуры и планирование архитектурных задач. Канал связи стал стабильным, исчезли проблемы с сетевым оборудованием. Снизился процент обращений от пользователей из-за проблем с соединением. По сравнению с предыдущим облачным решением стоимость исходящего трафика снизилась в 6 раз. И, конечно, стоит еще раз подчеркнуть соответствие инфраструктуры Yandex Cloud российскому законодательству по работе с данными и международным стандартам облачной безопасности.
Мнение
Мы долго ждали в России такого провайдера, как Yandex Cloud. Поначалу у нас даже не было дедлайна, мы просто начали эксперимент. Мы могли столкнуться с проблемами, остановить пилот и ждать дальше. Но нас всё устроило, и некоторые вещи реализованы лучше, чем у других провайдеров. Например, использование прерываемых инстансов для Managed K8s. В AWS это очень сложно настраивается, а в панели Yandex Cloud достаточно поставить галочку. А еще в Yandex Cloud есть образы Centos 8 для Compute Cloud. Это очень большой плюс и преимущество перед тем же AWS.