Як об'єднати беки двох рітейлерів на SAP за 12 годин

Ця стаття розповість про масштабний проект впровадження SAP у нашій компанії. Після злиття компаній "М.Відео" і "Ельдорадо" перед технічними відділами було поставлено нетривіальне завдання - перевести бізнес-процеси в єдиний бекенд, заснований на SAP.

Перед стартом у нас була дубльована IT-інфраструктура двох мереж магазинів, що складається з 955 роздрібних точок, 30 000 співробітників та трьохсот тисяч чеків на день.

Тепер, коли все успішно запущено та працює, ми хочемо поділитися історією — як нам удалося зробити цей проект.

У цій публікації (першій з двох, ніж чорт не жартує, може і трьох) ми презентуємо вам деякі дані про проведені роботи, докладніше про які можна дізнатися на SAP ME meetup в Москві.

Як об'єднати беки двох рітейлерів на SAP за 12 годин

Півроку проектування, півроку написання коду, півроку оптимізації та тестування. І 12 годин, щоб запустити загальну систему у 1 000 магазинів по всій Росії (від Владивостока до Калінінграда).

Може звучати неможливо, але ми це зробили! Деталі під катом.

У процесі об'єднання компаній «М.Відео» та «Ельдорадо» перед нами постало завдання оптимізації витрат та зведення бізнес-процесів двох різних компаній до єдиного бекенду.

Напевно, це можна назвати удачею чи збігом — обидва рітейлери для організації процесів користувалися системами SAP. Нам довелося опікуватись лише оптимізацією, а не повною перебудовою внутрішніх систем мережі «Ельдорадо».

Функціонально завдання було розбито на три (насправді чотири) етапи:

  1. Проектування «на папері» та узгодження нашими бізнес-аналітиками та SAP-консультантами нових процесів (а також модернізація старих) усередині вже працюючих систем.

    Після аналізу низки показників вже працюючого бекенду двох компаній за основу для розробки єдиної системи було взято бекенд «М.Відео». Одним із головних критеріїв, за якими було зроблено вибір, — ефективність компанії в цілому, більша виручка та прибуток за більш низьких витрат на бізнес-операцію.

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

  2. Реалізація у коді. Наведемо кілька цифр за підсумками проекту:
    • 2 000 маршрутів на день, що плануються за допомогою модуля логістики.
    • 38 000 користувачів фронт та бекенда.
    • 270 тисяч товарів на складах об'єднаного підприємства.

    Близько 300 000 чеків, що обробляються системою за день, які згодом зберігаються до п'яти років з метою забезпечення покупців гарантією, а також з метою маркетингових досліджень.

    Розрахунок зарплат, авансів та премій для 30 000 співробітників щомісяця.

    У проекті було задіяно команду з 300 технічних фахівців, які працювали протягом десяти місяців. Шляхом нескладних арифметичних підрахунків отримаємо дві цифри, що наочно відображають масштаб виконаної роботи: 90 000 чоловік/днів та… 720 000 годин роботи.

    Як об'єднати беки двох рітейлерів на SAP за 12 годин

    Далі оптимізація окремих підпрограм модулів SAP, близько сотні підпрограм було прискорено в п'ять-шість разів шляхом оптимізації коду та запитів у БД.

    За окремими кейсами нам вдалося скоротити час виконання програми з шести годин до десяти хвилин за допомогою оптимізації запитів до СУБД.

  3. Третій етап, мабуть, найскладніший. тестування. Він складався із кількох циклів. Для їх проведення ми зібрали команду із 200 співробітників, вони були задіяні у функціональному, інтеграційному та регресійному тесті.

    Окремим пунктом опишемо тести навантаження, вони складалися з 15 циклів для кожного з модулів SAP: ERP, POS, DM, PI.

    За результатами кожного тесту проводилася оптимізація коду та параметрів СУБД, а також індексів баз даних (вони працюють на SAP HANA, частина на Oracle).

    Після всіх тестів навантаження до розрахункових обчислювальних потужностей було додано ще близько 20% відсотків, а також сформований резерв приблизно такого ж (20%) обсягу.
    До того ж, після проведення вищеописаних циклів почався аналіз 100 найбільш ресурсомістких програм, за результатами якого ми відрефакторили код і прискорили їх роботу в середньому в п'ять разів (що вкотре підтверджує важливість рефакторингу та оптимізації коду).

    Останнім із тестів став «cut over». Для нього було створено окрему тестову зону, яка копіювала наш продуктивний дата-центр. «Cut over» ми робили двічі, кожного разу на це витрачалося близько двох тижнів, у які ми проводили виміри швидкості виконання таких операцій: перенесення налаштувань програм з тестової зони в продуктивну, завантаження відкритих позицій щодо запасів товарів та періоди недоступності операцій.

  4. І четвертий етап - безпосередній запуск після проходження тестів. Завдання стояло, прямо скажемо, складне: за 12 годин переключити близько 955 магазинів по всій країні, і при цьому не зупинити продаж.

У ніч із 24 на 25 лютого, команда з десяти найкращих фахівців нашої компанії заступила на «вахту» у дата-центрі, і почалася магія переходу. Про неї ми докладно розповімо на нашому meetup'і, а потім другу статтю присвятимо технічним подробицям нашої магії SAP.

Результати.

Отже, результатом роботи стало збільшення таких показників як:

  • Навантаження на бекенд збільшилося приблизно вдвічі.
  • Кількість чеків на день збільшилася на 50% із 200 тисяч до 300 тисяч.
  • Кількість користувачів фронтенду збільшилась із 10 тисяч до 20 тисяч.
  • За модулем розрахунку зарплат кількість працівників збільшилася з 15 тисяч до 30 тисяч осіб.

Про всі технічні подробиці ми розповідатимемо на нашому SAP мітапі в Москві, який відбудеться 6 червня в офісі «М.Відео-Ельдорадо». Експерти поділяться досвідом впровадження. За результатами зустрічі молоді фахівці зможуть потрапити на стажування, що оплачується, в компанію з перспективою подальшого працевлаштування.

Дізнатися подробиці та зареєструватися можна по цим посиланням

Джерело: habr.com

Додати коментар або відгук