Разбираемся с техническим долгом и перерабатываем бэкенд соцсети
Иногда клиенты приходят в Evrone, как в службу спасения — продукт работает плохо или не работает совсем, допустили много ошибок в построении архитектуры ПО, бизнес-показатели страдают. Это значит, что нам предстоит серьёзная работа по рефакторингу, переработке legacy, разбору технического долга.
Мы переделали бэкенд проекта целиком, потому что даже быстрые решения-заплатки помогли бы в лучшем случае на полгода-год . Для ускорения загрузки и улучшения надёжности переработали схему кэширования, поработали с оптимизацией производительности rails-приложения и загрузкой изображений. Добавили защиту от вредоносных атак.
Бэкенд продукта остался на Ruby, но мы обновили его до актуальной версии. База данных — PostgreSQL, Sphinx использовался для полнотекстового поиска по сайту (по рецептам, ингредиентам и так далее), memcached — для кэширования. На каждом этапе работы мы готовили документацию, которая пригодилась бы при поддержке в будущем.
Познакомьтесь с кейсом у нас на сайте, чтобы узнать больше о SOS-ситуациях на технических проектах.