Mail.ru Cloud Solutions
Назад к кейсам

Как за неделю мигрировать в облако и ускорить доступ к файлам в 10 раз

Компания
amoCRM
Отрасль
Интернет-проект
Офисов
250
Клиентов
более 100 000
Никита Бессуднов
SRE-инженер amoCRM

amoCRM — разработчик одноименной системы для учета сделок и увеличения продаж. Долгое время в компании использовали облако AWS для хранения клиентских файлов. Но, когда понадобилось соблюдать закон о персональных данных и повысить доступность файлов для клиентов в России, задумались о сотрудничестве с российским провайдером.

О том, как компании удалось за неделю перенести в облако MCS 20 ТБ данных, сократить время доступа к файлам в 10 раз и удешевить инфраструктуру, рассказал директор по производству amoCRM Никита Бессуднов.

О компании

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

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

Новый провайдер — для решения проблем

В начале пути мы работали с bare metal для хранения файлов, но позже избавились от физических серверов. Нам нравилось, что мы можем влиять на железо и не зависеть от виртуализации, но понимали — инфраструктуре не хватает гибкости и мобильности. А хранение файлов на дисках обходилось бы слишком дорого. И мы выбрали облачное решение, разместив клиентские файлы на мощностях Amazon. Параллельно работали с американским провайдером Rackspace — у него до сих пор храним файлы клиентов из США.

В 2018 году решили сотрудничать еще и с российским провайдером, он потребовался по нескольким причинам:

  • Недоступность файлов из-за блокировок. В 2018 году в России из-за блокировок Роскомнадзором IP-адресов Amazon клиенты не могли загружать и скачивать файлы — проблему требовалось срочно решать. Интерфейс amoCRM также начал некорректно отображаться у клиентов: слетали шрифты и не подтягивались изображения.
  • Хранение персональных данных в России. 152-ФЗ обязал компании хранить персональные данные на территории страны — для этого требовался провайдер с дата-центром в России.

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

Хранилище MCS: высокая доступность, соответствие ФЗ-152 и низкая цена

Мы рассматривали решения трех российских провайдеров и в итоге выбрали объектное S3-хранилище Mail.ru Cloud Solutions.

  • Стоимость облачного хранилища. Сейчас мы тратим на хранение и скачивание столько же, сколько платили Amazon только за хранение.
  • Возможность быстрого переезда. У нас скопился большой объем файлов — 20 терабайт. Было важно перевезти их в новое облако как можно быстрее, чтобы клиенты ничего не заметили. Из документации мы узнали, что хранилище MCS совместимо с протоколом S3, который использует Amazon. Значит, нас ждал более-менее безболезненный переезд.
  • Размещение персональных данных. Дата-центры Mail.ru Cloud Solutions расположены в России, а облако аттестовано в соответствии со 152-ФЗ — это нас полностью устраивало.
  • Хороший сервис от команды MCS. Нам предоставили документацию со всей необходимой информацией. Специалисты MCS рассказали, какие библиотеки можно использовать и как быстро адаптировать решения для загрузки файлов.

Миграция 20 ТБ данных всего за одну неделю

Нам предстояло перевезти 20 терабайт файлов из Амстердама на площадку MCS. Изначально шла речь о том, чтобы передавать файлы из Амстердама в Москву, а затем направлять их на площадку MCS. Но мы рассмотрели и другой вариант: взяли промежуточный сервер нашего провайдера (у него часть оборудования находилась как раз в Амстердаме), который по выделенному внутреннему каналу вначале скачивал файлы из AWS, передавал их на свой сервер в Москву, а уже оттуда – в облако MCS. На первый взгляд, схемы выглядят одинаково, но серия тестов показала — второй вариант быстрее на 5-7%. Используя его, мы бы сэкономили шесть-семь часов.

Еще для передачи такого объема требовалось временно расширишь интернет-канал с 1 Гбит/сек до 10 Гбит/сек — об этом мы заранее договорились с провайдером.

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

В итоге переехали за 6–7 дней и сравнительно небольшие деньги. Еще один рабочий день ушел на проверку целостности файлов — к счастью, битых среди них не оказалось.

Если бы мы перевозили данные на физических носителях (вполне распространенная практика для таких объёмов информации), нам бы понадобилось 45 SSD-накопителей стоимостью 25 000–30 000 рублей каждый — суммарно около 2 млн рублей. Так что на переезде нам удалось неплохо сэкономить.

Итоги переезда: сокращение времени доступа, экономия и хорошая техподдержка

Сейчас у нас три облачные площадки для хранения клиентских файлов. Mail.ru Cloud Solutions — основной провайдер, AWS используем в качестве резерва, а в Rackspace храним файлы американских клиентов. Благодаря такому решению получили несколько преимуществ:

  • Сокращение времени доступа в РФ в 10 раз. Файлы территориально ближе к российским клиентам, за счет этого сократилось время доступа. Если раньше клиенты могли ждать начала скачивания 1 секунду, то теперь — 0,1 секунды.
  • Экономия на хранении файлов. У нас большие объемы и долгосрочный договор с MCS — услуги Amazon стоили в три-четыре раза дороже.
  • Резервное копирование у двух провайдеров. Клиентские файлы мы храним на двух площадках. Если откажет одна, то можем быстро переключить трафик на другую, и клиенты этого не заметят. Схема резервирования отличается для российских и глобальных клиентов: для российских основная площадка — Mail.ru Cloud Solutions, резервная — AWS.
  • Неограниченное масштабирование. Облако полезно, если есть скачкообразное потребление ресурсов. Например, интернет-магазину нужно пройти пик в «чёрную пятницу», а затем вернуться к нормальному потреблению. У нас не бывает распродаж, но случаются релизы, и мы подстраиваем потребление мощностей с их учетом. А стандартные ресурсы позволяют без проблем обрабатывать текущий трафик и возможные атаки.
  • Хранение персональных данных в России. Мы адаптировали работу согласно российскому законодательству, и не нарушаем закон.
  • Быстрое решение технических проблем. У нас есть отдельный чат с командой MCS. Если возникают проблемы, мы пишем в чат и получаем ответ в течение нескольких минут.

Удобство облачных технологий

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

Мы не новички в облаках, но заново открыли для себя их преимущества после переезда на платформу MCS. Наш главный приоритет – хранилище S3. Облачную инфраструктуру используем только для внутренних проектов. Мы пропустили подходящий момент для развертывания в облаке всей инфраструктуры. Сейчас в облаках у нас хранятся только клиентские файлы, основная инфраструктура — на железе. Чтобы полностью переехать в облако сейчас, нам нужно перепрограммировать систему и переделать под нее часть хранилищ — это долго и дорого. По этой причине полностью переходить на облака не планируем.

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

Какие выгоды мы получили от хранилища MCS

  1. Снижение стоимости хранения и скачивания файлов, высокую надежность хранения.
  2. Хранение персональных данных клиентов в соответствии со 152-ФЗ.
  3. Клиенты в 10 раз быстрее получают доступ к файлам, так как хранилище находится на территории РФ.
  4. Возможность быстро получить дополнительные мощности во время релизов.

Зарегистрируйтесь и попробуйте сервисы бесплатно

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

21 год
опыта поддержки высоконагруженных сервисов
100+ млн
пользователей по всему миру
7 лет
экспертизы развития облачной инфраструктуры