- Покращення часу відповіді на запити:
- Перший запит: з ~210 мс (PostgreSQL) до ~80 мс (ElasticSearch)
- Повторний запит: з ~170 мс (PostgreSQL) до ~20 мс (ElasticSearch)
- Розширені можливості фільтрації:
- ElasticSearch дозволив легко реалізувати складні набори фільтрів і варіацій.
- Масштабована продуктивність:
- Підтримка стабільної продуктивності при роботі з 3 млн записів, із потенціалом для обробки ще більших обсягів.
- Розширені функції пошуку:
- Повнотекстовий пошук, підтримка помилок у запитах, покращена релевантність результатів.
Клієнт управляє великим портфоліо інтернет-магазинів, які пропонують широкий асортимент промислових та комерційних товарів. Основна мета проєкту — оптимізація управління інформацією про товари та покращення бекенд-операцій для підтримки каталогу, який охоплює сотні брендів і понад мільйон позицій.
Серед товарів — будівельне обладнання, запчастини, каміни та грилі для барбекю.
Проєкт включає міграцію великої мережі eCommerce-сайтів до більш масштабованої та ефективної екосистеми. Впроваджується Akeneo для централізованого управління інформацією про товари, а Odoo — для спрощення процесу обробки замовлень. Для забезпечення безперебійної комунікації між платформами та довгострокової масштабованості ми впровадили шар інтеграції та автоматизовану інфраструктуру розгортання в межах наших DevOps-послуг.
Система також має централізований інтерфейс керування, який спрощує роботу з кількома магазинами, налаштування дизайну та конфігурацію окремих каналів продажу.
Бізнес-виклики:
- Управління налаштуваннями багатьох каналів:
Виклик: Необхідність індивідуального управління налаштуваннями кожного домену.
Рішення: Розробка кастомної адмін-панелі для централізованого керування зображеннями, темами та SEO/мета-даними для кожного каналу.
- Складні варіації товарів і відгуки в Akeneo:
Виклик: Обробка складних варіацій (колір, розмір, матеріал) та інтеграція відгуків клієнтів.
Рішення: Розширення Akeneo з використанням кастомних асоціацій для варіацій і створення спеціального модуля відгуків, пов’язаного з товарними даними.
- Управління контентними сторінками:
Виклик: Потреба уніфікованого редагування контенту на всіх доменах із використанням глобальних змінних.
Рішення: Створено модуль управління контентом в адмін-панелі для зручного редагування та динамічної персоналізації контенту.
- Динамічні дані та складні запити:
Виклик: Обробка великих обсягів даних, що відображаються в UI, без проблем із продуктивністю.
Рішення: Оптимізовано структури запитів і синхронізовано ендпоінти для оновлення в режимі реального часу з мінімальною затримкою.
- Масштабованість за допомогою Kubernetes:
Виклик: Існуюча інфраструктура не забезпечувала динамічного масштабування та ефективного управління контейнерами.
Рішення: Міграція до Kubernetes для автоматичного розгортання, масштабування та високої доступності застосунків — ключовий елемент нашої DevOps-стратегії контейнеризації.
- Обробка великих імпортів файлів:
Виклик: Ризик помилок під час імпорту через великий розмір файлів або переривання системи.
Рішення: Розбиття імпорту на атомарні задачі з використанням Bull (Node.js) і Redis для реалізації логіки повтору та звітності.
- Оптимізація пошуку з ElasticSearch:
Виклик: PostgreSQL не справлявся з великими обсягами даних і гнучкими фільтрами.
Наше рішення: Інтеграція ElasticSearch для швидшого масштабованого пошуку, розширеної фільтрації та підтримки повнотекстового запиту.

Результати та ключові метрики
Фунціональність:
- Централізоване управління кількома сайтами в адмін-панелі: конфігурація, стилізація інтерфейсу, управління контентом, пакетне редагування.
- Спрощене управління контентом за допомогою динамічних змінних для централізованого оновлення контенту на всіх сайтах.
- Безпечний процес оформлення замовлення з інтеграцією Paypal для обробки платежів.
- Автоматичний розрахунок податків для різних штатів за допомогою інтеграції з Avatax.
- Інтегроване відстеження замовлень через модуль Shipstation для оновлень у реальному часі.
- Можливість створення та керування сайтами з унікальними сторінками товарів і варіативним пошуком.
- Розширені можливості перехресного продажу (cross-sell) та додаткових пропозицій (upsell) для рекомендацій.
- Покращена фільтрація та сортування для кращого виявлення товарів.
- Централізоване управління відгуками з можливістю публікації на декількох каналах.
- Інтеграція ElasticSearch для швидкого та точного пошуку.
- Повне логування та моніторинг продуктивності через New Relic.
- Розгортання та масштабування через Kubernetes для високої доступності й ефективного використання ресурсів — приклад нашої DevOps-практики контейнеризації.
- Модуль для зручного редагування контенту з оптимізацією під SEO та підтримкою динамічних змінних.
- Обробка великих імпортів на основі атомарних задач із механізмами повтору та докладною звітністю.

Ключові результати:
- Швидше виконання запитів: Оптимізація ElasticSearch значно скоротила час відповіді, покращивши користувацький досвід і зменшивши навантаження на основну базу.
- Гнучкі фільтри: Розробники змогли легко впроваджувати складні фільтраційні комбінації відповідно до змін бізнес-вимог без значних переробок.
- Надійність на масштабі: ElasticSearch забезпечив стабільну роботу навіть із великими наборами даних.
- Покращений пошук: Реалізація нових функцій пошуку — повнотекстовий пошук, толерантність до помилок, підвищена релевантність.