Как автоматизировать бизнес-процессы для более 10 000 клиентов: кейс «Команды F5»
В кейсе рассказываем, как «Команда F5» обеспечила бесперебойную работу 40+ виджетов amoCRM благодаря инфраструктуре Selectel.
Задачи:
- Обеспечить производительность высоконагруженных сервисов
- Гарантировать резервное копирование данных
- Минимизировать риск сбоев и ошибок
Продукты и услуги Selectel:
О компании
«Команда F5» — сертифицированный партнер amoCRM, который интегрирует и дорабатывает платформу под конкретных клиентов. За 11 лет компания реализовала более 1 000 проектов в сфере торговли, недвижимости, образования, строительства, медицины и интернет-маркетинга.
На инфраструктуре Selectel «Команда F5» размещает свои публичные решения. Прежде всего, виджеты amoCRM — «Триггеры», «Документы», «Почтовик», «Telegram» и другие. Сервисами пользуются более 10 000 клиентов ежедневно.
Вызовы и решения
- Развернуть сервисы на производительной инфраструктуре. Все вычисления происходят на выделенных серверах произвольных конфигураций.
- Обеспечить масштабируемость инфраструктуры. Ресурсы выделенных серверов предоставляются с некоторым запасом.
- Настроить резервное копирование и хранение данных. Данные, требующие резервного копирования, размещаются на облачных серверах. Для хранения файлов используется объектное хранилище.
- Гарантировать постоянную работоспособность сервисов. Разметили сервисы на разных серверах и связали их приватной сетью.
Почему выбрали Selectel
- Широкий выбор инфраструктурных решений и конфигураций серверов
- Круглосуточная техническая поддержка
- Соответствие всей инфраструктуры 152-ФЗ
В 2013 году, на старте работы, все свои сервисы «Команда F5» размещала на одном выделенном сервере. Программные продукты активно росли и развивались, поэтому требовалась платформа, которая надежно обеспечила бы их ресурсами и дала бы возможность постепенно увеличивать вычислительные мощности.
«Проверенных поставщиков на слуху было мало. Мы тестировали возможности одного из крупных провайдеров, но остались недовольны качеством. Тогда доверились опыту нашего партнера — amoCRM, который успешно пользуется инфраструктурой Selectel. Мы изучили возможности инфраструктуры и тоже решили попробовать».
Развернуть сервисы на производительной инфраструктуре
Одно из главных требований «Команды F5» к инфраструктуре — производительность. Обработчики веб-хуков из amoCRM должны выдерживать массовые действия клиентов. Массовые — это когда несколько компаний одновременно меняют теги в 500 000 сделок. Все хуки должны быть одновременно обработаны и по ним должен быть выполнен определенный сценарий в виджете «Триггеры». При этом у компании тысячи клиентов, и вычислительные ресурсы нужны всем одновременно.
Более того, серверы должны справляться с большим объемом HTTPS-трафика и постоянными криптографическими вычислениями. В конце концов, здесь тоже важна производительность, в частности высокая тактовая частота процессора.
Казалось бы, можно взять побольше мощных серверов и проблема решится. Но с точки зрения бизнеса это не так. Одним продуктам нужно больше ядер, другим — меньше. Или одни требовательны к процессору, тогда как для других критичен объем RAM. А просто арендовать самые мощные серверы на все случаи жизни — слишком дорого.
Решение
Selectel предоставил в аренду выделенные серверы в произвольных конфигурациях. Это позволило «Команде F5» подобрать под каждую задачу оптимальное железо и получить доступ к безлимитному HTTPS-трафику.
Кроме того, аренда выделенных серверов решила проблему блокировок API amoCRM. Там есть ограничение — не более семи запросов в секунду с уникального IP-адреса. В масштабах сервисов «Команды F5» этого мало. Инфраструктура Selectel позволяет задействовать подсеть из 11 IP-адресов, добавленных на выделенный сервер. На нем система очереди заданий использует адреса для работы с amoCRM.
Обеспечить масштабируемость инфраструктуры
Для «Команды F5» важно, чтобы клиенты не сталкивались с перебоями в работе сервисов даже при росте нагрузки. И хотя выделенные серверы не предусматривают автоматическое масштабирование, ситуацию удалось решить.
Решение
Прежде всего, у платформы предсказуемый рост нагрузки, поэтому «Команда F5» может заранее к нему подготовиться. В обычное время компания поддерживает запас ресурсов, регулярно мониторит работу серверов и принимает превентивные меры для увеличения производительности. А в пиковое — подключает дополнительные мощности.
Кроме того, Selectel предлагает в аренду выделенные серверы в готовой конфигурации с запуском от двух минут. Это решение подходит, когда нужно действительно быстро получить в свое распоряжение производительное железо. Выделенные серверы в произвольной конфигурации можно собрать за пять дней. Это удобно для компаний, которые могут точно прогнозировать рост нагрузки на инфраструктуру.
Настроить резервное копирование и хранение данных
Клиенты «Команды F5» часто используют виджеты amoCRM для работы с файлами. Например, в электронных письмах через «Почтовик» отправляют фото, документы и так далее. Все эти файлы нужно надежно хранить, обеспечив к ним быстрый и удобный доступ.
Решение
В продуктах, связанных с файлами, базы данных хранят только идентификаторы, а сами файлы находятся в объектном хранилище. Туда они попадают, например, из того же виджета «Почтовик». Объем объектного хранилища можно легко увеличить в любой момент, и это дешевле увеличения дискового пространства на сервере.
Данные, которые необходимо резервировать, хранятся и обрабатываются на облачных серверах. «Команда F5» использует инкрементальные бэкапы в облаке — это копия изменений между текущим состоянием диска и предыдущим бэкапом, созданным по плану. Такая копия создается быстрее, чем полная, и занимает меньше места, потому что хранит только изменения на диске. Также в облаке находятся системы управления базами данных (СУБД).
Гарантировать постоянную работоспособность сервисов
Виджетами amoCRM одновременно пользуются тысячи клиентов «Команды F5». Если инфраструктурный инцидент приведет к остановке сервиса, это может обернуться риском потери ценных данных. Чтобы избежать такой ситуации, «Команде F5» было важно обеспечить максимальную отказоустойчивость инфраструктуры.
Решение
Selectel организовал распределенную инфраструктуру. Одни инструменты хранения данных размещены на облачных серверах, другие — на выделенных. Самые требовательные к ресурсам виджеты размещены сразу на нескольких выделенных серверах. А для того, чтобы два разных продукта могли обращаться к одной и той же базе данных, все серверы связаны локальной сетью.
Предусмотрен и сценарий, когда большое количество пользователей одновременно нагружают один и тот же сервис. Чтобы они не мешали друг другу, зоны ответственности распределены по разным серверам: на одном базы данных, на другом — кеш, на третьем — очередь заданий. Сервисы распределения нагрузки специалисты F5 пишут сами на программном уровне. Дополнительно помогает запас ресурсов на каждом выделенном сервере, где происходят вычисления.
Для того, чтобы обновление ПО или модуля не привело к ошибкам, все сначала реализуют на сервере-зеркале: проводят обновления, тесты и устранения ошибок. Как только там все стабильно работает, обновление переносят на основной сервер или переводят трафик со старого сервера на новый.
Результаты
-
80
сервисов «Команды F5» стабильно работают на инфраструктуре Selectel.
-
1 500
запросов от клиентов в секунду обрабатывают сервисы «Команды F5».
-
1 ТБ
трафика проходит через серверы в сутки.
«Команда F5» превратила монолитную архитектуру в микросервисы за счет того, что разные сервисы работают на разных элементах инфраструктуры. Это позволяет компании предлагать клиентам стабильные и быстрые продукты. К тому же, сервисы по мере своего развития обзавелись новыми функциями: системой мониторинга и сбора ошибок, сервисами для ведения документации и другими.
«Мы внимательно следим за новым железом в Selectel. В выделенных серверах появляются интересные современные конфигурации, при этом относительно недорогие. Такие как серверы с i5-12600 и i5-14500. Такое современное и недорогое железо соответствует нашим требованиям».