Клиент и контекст
Крупный онлайн-гипермаркет, продающий сотни тысяч товаров, работал на сильно кастомизированной внутренней платформе. Со временем система стала:
- Сложной в сопровождении — легаси-код, отсутствие документации, повсеместная сильная связность.
- Рискованной для изменений — страх сломать ключевую функциональность.
- Испытывающей растущее давление из‑за роста трафика и новых требований.
Я присоединился как единственный разработчик, отвечающий за ядро платформы.
---
Проблемы
- Высокая нагрузка: платформа обслуживала более 3 миллионов запросов в день и работала с 350 000+ товаров.
- Легаси-стек: значительная часть системы была построена много лет назад, с точечными изменениями «по месту» и непоследовательными подходами.
- Низкая устойчивость: сбои в одной части системы легко каскадировались на другие.
- Ограниченная наблюдаемость: были пробелы в мониторинге, метриках и логировании, из‑за чего диагностика проблем усложнялась.
Бизнесу было необходимо поддерживать работу платформы и развивать её без полного переписывания и без существенных простоев.
---
Что я сделал
1. Глубокое исследование и стабилизация
- Провёл быстрый обзор архитектуры и кода, чтобы выявить наиболее хрупкие зоны.
- Добавил базовые мониторинг и логирование в ключевых местах, чтобы понять паттерны трафика и сценарии отказов.
- Выполнил точечные исправления багов и небольшие рефакторинги для стабилизации наиболее критичных путей.
2. Улучшения производительности и надёжности
- Оптимизировал запросы к базе данных и добавил подходящие индексы для высоконагруженных операций.
- Улучшил стратегию кэширования для часто запрашиваемых данных (информация о товарах, категории и т. д.).
- Настроил web server и параметры PHP в соответствии с реальными сценариями использования.
- Улучшил обработку длительных задач и фоновых jobs.
3. Постепенная модернизация
- Внедрил более последовательные архитектурные паттерны без нарушения работы всей системы.
- Обновил части стека до более современных версий там, где это было безопасно и давало ценность.
- Добавил или улучшил внутренние инструменты, чтобы упростить сопровождение и разработку функциональности.
4. Тесное взаимодействие с бизнесом
- Плотно работал с бизнес-стейкхолдерами, чтобы приоритизировать изменения с максимальным эффектом для стабильности и клиентского опыта.
- Давал понятные объяснения рисков и выгод для более крупных рефакторингов и обновлений.
- Помогал развивать roadmap так, чтобы технические улучшения были согласованы с целями бизнеса.
---
Результаты
- Платформа оставалась стабильной под высокой нагрузкой, обслуживая миллионы запросов в день.
- Производительность выросла: критичные пользовательские сценарии стали отвечать быстрее.
- Система стала безопаснее и дешевле в развитии: новые функции можно было добавлять без страха «сломать всё».
- Компания избежала дорогого и рискованного полного переписывания и продолжила работать на платформе, которая стала более устойчивой, лучше понятной и более сопровождаемой.
---
Технологии и обязанности
- Роль: единственный разработчик / principal engineer для ядра платформы
- Технологии: кастомный backend на PHP/Laravel, MySQL, настройка web server, кэширование, фоновые jobs, внутренние инструменты
- Объём работ: архитектура, разработка «руками», настройка производительности, отладка, поддержка production, коммуникация со стейкхолдерами
---
Если у вас есть высоконагруженная легаси-платформа, к которой страшно прикасаться — но заменить её вы не можете, — я помогу стабилизировать, модернизировать и масштабировать её прагматично.
Назад ко всем кейсам