Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации

Модернизация legacy-платформы Aplaut: обновление Ruby on Rails без остановки сервиса

14 июля ‘26

Заказчик: Aplaut
Страница кейса/результат: https://evrone.ru/portfolio/aplaut

Команда Evrone провела комплексную модернизацию десятилетней Ruby on Rails-платформы Aplaut. Мы обновили технологический стек до Ruby 3.4 и Rails 8, ускорили процессы разработки, оптимизировали инфраструктуру и подготовили систему к дальнейшему масштабированию без простоев и рисков для бизнеса.

Агентство-исполнитель кейса

Evrone

Evrone помогает компаниям решать сложные инфраструктурные и legacy-задачи, не отвлекая внутренние команды от развития продукта. Мы берем на себя модернизацию стека, рефакторинг и DevOps-процессы, создавая надежную технологическую основу для дальнейшего роста бизнеса.

1. Вводная задача от заказчика, проблематика, цели

Aplaut — платформа для сбора, модерации и публикации пользовательских отзывов для крупных интернет-магазинов и брендов. За годы развития продукт накопил значительный технический долг, который начал ограничивать возможности дальнейшего развития.

Основные сложности проекта:

  • Устаревший стек Ruby и Rails препятствовал внедрению новых возможностей и современных библиотек.
  • Архитектура на базе Rails Engines усложняла любые глобальные изменения из-за большого количества взаимосвязанных зависимостей.
  • Используемые библиотеки и SDK не обновлялись многие годы и потеряли совместимость с актуальными версиями языка и фреймворка.
  • Сложная инфраструктура затрудняла воспроизводимость среды разработки и подключение новых специалистов.
  • Любая ошибка при обновлении могла повлиять на работу клиентских сервисов и процессов сбора отзывов.

Цель проекта

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

Аутсорсинг разработчиков

Аутстаффинг разработчиков

Backend разработка на заказ

2. Описание реализации кейса и творческого пути по поиску оптимального решения

Для реализации проекта Evrone выделила senior-разработчика с глубокой экспертизой в Ruby on Rails, инфраструктуре и модернизации legacy-систем.

Этап 1. Контейнеризация проекта

  • Полностью упаковали приложение в Docker.
  • Устранили зависимость от конкретного оборудования и операционных систем разработчиков.
  • Сократили время развёртывания локальной среды с нескольких дней до нескольких часов.

Этап 2. Последовательное обновление Ruby и Rails

  • Провели пошаговую миграцию с Ruby 2.7 до Ruby 3.4.
  • Параллельно обновляли версии Rails до актуального релиза.
  • После каждого шага выполняли полное тестирование и устранение несовместимостей.
  • Исправили конфликты старых библиотек, влияющих на загрузку изображений, локализацию и бизнес-логику.
  • Для ряда неподдерживаемых библиотек создали собственные форки и адаптировали их под современные версии Ruby.

Этап 3. Работа с критическими изменениями языка

  • Вручную проанализировали и проверили масштабный набор изменений, связанный с новыми правилами обработки аргументов в Ruby 3.
  • Совместно с технической командой заказчика провели детальную валидацию бизнес-логики и исключили риски регрессий.

Этап 4. Обновление слоя работы с базой данных

  • Сохранили непрерывную работу сервиса без даунтайма.
  • Обновили драйверы MongoDB без необходимости миграции данных.
  • Проанализировали исходный код сторонних зависимостей.
  • Разработали собственный патч для восстановления совместимости после изменений в библиотеке Mongoid.

Этап 5. Оптимизация DevOps и процессов тестирования

  • Перестроили CI/CD-процессы.
  • Настроили параллельное выполнение тестов.
  • Оптимизировали Docker-образы и уменьшили их размер почти в два раза.
  • Повысили скорость доставки изменений и контроль качества кода.

Разработка веб-приложений на заказ

Разработка на Ruby on Rails

3. Результаты сотрудничества

За 3,5 месяца команда Evrone выполнила комплексное обновление платформы и создала фундамент для дальнейшего развития продукта.

  • Технологический стек обновлен до Ruby 3.4 и Rails 8.
  • Обеспечена стабильная работа системы без остановки сервиса в процессе модернизации.
  • Время выполнения тестов сокращено с 25 до 10 минут.
  • Размер Docker-образов уменьшен примерно с 1,2 ГБ до 640 МБ.
  • Развертывание среды разработки стало быстрым и воспроизводимым.
  • Снижены риски, связанные с устаревшими зависимостями и инфраструктурой.
  • Команда заказчика смогла сосредоточиться на продуктовых задачах вместо решения технического долга.
  • Создана технологическая база для дальнейших изменений, включая развитие фронтенда и будущую миграцию данных.

Ключевой бизнес-результат

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

Разработка на React JS

DevOps сопровождение проектов

4. Заключение

Legacy-системы часто становятся препятствием для роста бизнеса: каждое новое изменение требует всё больше времени, а накопленный технический долг постепенно снижает скорость развития продукта. Однако масштабная модернизация не обязательно должна отвлекать внутреннюю команду от ключевых бизнес-задач.

В проекте Aplaut специалисты Evrone полностью взяли на себя инфраструктурное обновление, сохранив стабильность сервиса и обеспечив безопасный переход на современный технологический стек.

Результатом стала не только актуализация Ruby on Rails-платформы, но и создание надежной основы для будущего масштабирования, ускорения разработки и внедрения новых возможностей продукта.

Агентство-исполнитель кейса

Evrone

Evrone помогает компаниям решать сложные инфраструктурные и legacy-задачи, не отвлекая внутренние команды от развития продукта. Мы берем на себя модернизацию стека, рефакторинг и DevOps-процессы, создавая надежную технологическую основу для дальнейшего роста бизнеса.