Обновления и доработки Студии CRM за период с июня по октябрь 2025 года
Мы давно не писали про наши обновления.
Да за последние 4 месяца их было не меньше чем обычно, и пришла пора рассказать, чем были заняты.
Весной осознали что уже 100% времени разработчиков уходит только на поддержку — разные обновления, диагностики, которые не смогла решить поддержка, какие-то узкие кейсы. Такие ситуации возникают естественным путем — все продукты развиваются, усложняются, добавляется много кастома для разных клиентов. Это все, конечно, усложняет архитектуру.
И мы поставили цель минимизировать время на поддержку и обновления.
Весной взяли Devops-инженера в команду, и пошли все переделывать:
- 🔹 Была внедрена Grafana и мониторинг. Если коротко — это визуальный дашборд всех наших систем, нагрузки каждого модуля, запусков, всех входящих хуков, падений сервисов. Только внедрение этого инструмента уменьшило количество обращений с поддержки на разработчиков в 3 — 4 раза, соответственно 75% обращений стали закрываться на порядок быстрее.
- 🔹 Мы отказались от внешних библиотек многих сервисов и написали свои, чтобы подходили под функционал наших обменов. И теперь какие-то обновления API сервисов решаются быстрее.
- 🔹 Большая часть решений переведена на php7.4, что существенно повлияло на скорость работы.
- 🔹 Большинство модулей были переработаны. Мы ушли от перебора истории к вызовам триггерами. Раньше был риск потери пакета, сейчас нет.
- 🔹 Контейнеризация. Стояла остро проблема — управление контейнерами + ресурсы для каждого модуля. Модулей более 140 и на каждый создать контейнер было реалистично, но довольно сложно. И мы нашли решение, подходящее под наш случай, — внедрили систему Docker Swarm. Это позволило не только изолировать все решения, но и точно измерять и гибко перераспределять ресурсы, иногда даже на уровне конкретного клиента.
- 🔹Мы стали отслеживать все запросы которые выполняются более 100 мс. Изучать каждый, и разбирать код который работает долго.
- 🔹И вишенка — контроль отправки и получения данных. Это очень актуально в текущей реальности, когда часто перебои интернета и электричества, атаки на сервисы. Мы давно используем технологию Redis для переработки историй и отправки данных. Для передачи входящих запросов решения не было. Такие решения как Kafka слишком тяжелые и не подходили под наши нужды. Мы разработали с нуля свой сервис проксирования входящих запросов с последующей отправкой по модулям с гарантированной доставкой и логированием. Система успешно проходит стрес-тесты на нагрузке 10000 запросов в минуту. Пока в этом направлении работа только начинается, и за октябрь запроксируем наиболее критические обмены.
Отдельно больше месяца заняла полная переработка нашей системы управления в поддержке (мы называем ее ЦУП), а также ее взаимодействие с системой обращений. Мы радикально переделали саму архитектуру и сопровождение поддержки. Ранее каждое обращение было как независимое. Клиенты же могли писать в разные каналы по одному и тому же вопросу, или в рамках одного запроса писать о нескольких решениях. Мы перевернули систему. Теперь каждый клиент — подключение это отдельная сущность. Учтены все варианты — обращения партнеров, обращения сотрудников от клиентов, повторные обращения, петли обратной связи. Теперь в единой карточке вся история, и все автоматически взаимодействует с ЦУП и состоянием модуля. Также добавили историю изменения настроек, теперь гораздо проще отследить и помочь клиенту, даже при значительном изменении настроек.
Еще добавили систему связей бэклога изменений по модулю и клиентов, которые их ждут.
Если перевести все реализованное в примерные результаты:
- Большая часть модулей стала работать гораздо быстрее. Например, поиск дублей в модуле ускорился в 50-60 раз. Тест на 3 млн клиентов с 500 0000 дублей занимает сейчас меньше часа, ранее почти 2 дня.
- Нагрузка на наши сервера уменьшилась примерно на 60%, при этом количество подключений выросло.
- Количество запросов на диагностику разработчиками, упало с 40-60 штук до 5-8 в неделю.
- Реализовали загрузку почти 400 правок кода.
- Были внесены все обновления API OZON, WB, Яндекса.
- В августе обновили все онлайн-кассы и эквайринги, привели все в соответствии новым требованиям, вступающим в силу с 1 сентября 2025 года.
- Большую переработку получил модуль Osmi — парсинг анкет, передача QR, отправка баллов по триггерам.
- В Ozon-чаты была добавлена работа с вопросами и отзывами.
Важно, что в этой большой работе мы не забывали про обновления модулей:
Мы заканчиваем огромную работу по оптимизации как системы, кода так и процессов, и скоро будем радовать вновь новыми решениями и открыты для новых сложных разработок.
