Обновили маркетинговую платформу для Telegram
В индустрии социальных сетей важно быстро адаптироваться к изменениям рынка. Для Telega.in, маркетинговой платформы на основе Telegram, быстрый рост числа пользователей привел к накоплению технического долга. Это стало существенным ограничением для дальнейшего развития. Группа инвесторов, которая приобрела платформу, запланировала модернизацию, чтобы сохранить конкурентоспособность актива. С этой задачей они обратились в Evrone.
Команда Evrone провела тщательный анализ и внедрила пошаговый план превращения успешной, но успевшей немного отстать в плане технологического стека площадки для рекламы в Telegram, в надежную современную платформу. Далее мы расскажем, с какими проблемами мы столкнулись, какие изменения предложили, и каких результатов достигли.
Клиент
Наш клиент — платформа для цифрового маркетинга, которая помогает компаниям и инфлюенсерам продвигать свои блоги и контент с помощью рекламы в выбранных Telegram-каналах. Telega.in использует умных ботов, которые помогают размещать рекламу и взаимодействовать с потенциальными пользователями онлайн, что делает ее полезной для увеличения числа подписчиков.
С точки зрения бизнеса платформа оказалась очень эффективной в привлечении трафика на каналы Telegram и получении прибыли. Однако основные технологии платформы не обновлялась несколько лет. Это привело к проблемам с производительностью, угрозам безопасности и увеличению расходов на обслуживание.
Задача
Клиент обратился к нам, чтобы оценить состояние платформы и снова сделать ее соответствующей техническим вызовам современного рынка медиа-индустрии. Инвесторы только что приобрели компанию и стремились оценить технические активы. Они быстро поняли, что платформа работает на устаревшем стеке технологий, что потенциально может сдерживать её дальнейший рост.
Выявили несколько основных проблем:
- Устаревший стек: сервис использовал устаревшую версию Ruby (2.3.1), которая вышла в 2015 году и поддержка которой прекратилась в марте 2019. Старые версии Ruby и Rails (5.2) делали платформу уязвимой для угроз безопасности и усложняли разработку нового функционала для оперативного реагирования на запросы пользователей.
- Неисправные тесты: набор тестов не поддерживался последние несколько лет, поэтому новые фичи выпускали на рынок без надлежащего тестирования, что провоцировало ошибки в приложении.
- Растущие ожидания клиентов: платформа была выгодна своим пользователям, но растущему числу клиентов требовались новые функции и большая надежность. Инвесторы должны были убедиться, что сервис сможет удовлетворить эти потребности.
Наш подход
Первым шагом проекта был аудит платформы, нужно было определить риски и точки роста. После этого мы определились со стратегией обновления стека, улучшения процесса разработки и масштабирования платформы. Аудит был важным начальным действием. Чтобы выяснить причину проблем сервиса, наши специалисты проанализировали кодовую базу, архитектуру системы и текущий подход к разработке.
Обновление технологического стека
Мы занимаемся обновлением фреймворка Rails с 5.2 до более актуальной версии. Апгрейд приложения на новую версию Ruby on Rails требует тщательной координации, чтобы не нарушить существующую функциональность. Мы улучшаем стабильность, безопасность и общую производительность платформы. С актуальным технологическим стеком для сервиса появляются новые возможности и функции.
Поддержка и рефакторинг тестовых наборов
Обеспечение качества имеет решающее значение в жизненном цикле разработки и помогает избежать изменений, которые могут привести к новым ошибкам или снизить производительность приложения. Команда Evrone потратила много времени и усилий на оптимизацию тест-плана и обеспечение покрытия большей части платформы. Теперь тестирование происходит с использованием CI/CD, что позволило разработчикам запускать тесты сразу после внесения изменений в код. Каждое обновление теперь тщательно проверяется перед запуском в прод, чтобы свести к минимуму вероятность ошибок.
Управление зависимостями
Еще одной важной проблемой была зависимость платформы от устаревших библиотек. Мы обновили систему управления зависимостями Ruby-библиотек, чтобы сервис мог использовать современные библиотеки, оставаться актуальным минимизировать конфликты или несовместимости.
Рефакторинг легаси-кода
Наша команда активно работает с легаси-кодом и пересматривает устаревшие решения. Мы проводим рефакторинг, чтобы обеспечить более плавную работу при сохранении основных функций. Работа с техдолгом, который скопился за предыдущие годы, позволит значительно ускорить работу платформы и облегчить ее дальнейшее обновление.
Подход DevOps
На данный момент, клиент решил отложить переход на Kubernetes до следующего года из-за нехватки ресурсов для миграции. В связи с этим наш DevOps специалист сейчас сосредоточен на оптимизации проекта и подготовке его к будущему переходу. Он настраивает системы мониторинга (Grafana, Prometheus, alerting) и описывает инфраструктуру как код с использованием Terraform (Terragrunt).
В будущем планируется контейнеризация проекта с использованием Docker и написание новых пайплайнов для поддержки этой инфраструктуры. В целом, мы применяем DevOps подход на этом проекте для оптимизации управления ресурсами.
Планы на будущее
Мы продолжаем работать с клиентом и в наших ближайших планах:
- Завершить миграцию на Ruby 3.2 и последнюю стабильную версию Rails.
- Полностью восстановить и расширить тестовый сет, чтобы каждый модуль был покрыт автоматизированными тестами.
- Модернизировать архитектуру базы данных, чтобы уменьшить зависимость от пользовательского PostgreSQL и обеспечить гибкость в будущем.
Наша цель — поддерживать развитие платформы, чтобы она отвечала потребностям пользователей, сохраняла высокую производительность и надежность.
Заключение
Этот проект иллюстрирует важность поддержания актуального масштабируемого технологического стека в цифровом маркетинге. Команда Evrone преобразовала устаревшую платформу в готовое к будущему решение, помогла клиенту раскрыть потенциал и продолжить стимулировать рост рекламодателей в Telegram.
Если ваш бизнес испытывает трудности с устаревшими системами или вы хотите разработать платформу для digital-маркетинга и инструменты для управления социальными сетями, свяжитесь с нами. Мы поможем вам расти с помощью передовых технологий и консультаций экспертов!