Software Development

Case Study Urbanista – jak w krótkim czasie programiści Sii zrealizowali migrację do Magento 2.4.2

Sierpień 25, 2021 0
Podziel się:

Jak szybko można dokonać aktualizacji systemu Magento 2 do jego najnowszej wersji? Czy to skomplikowany proces? Z takimi pytaniami do ekspertów z Sii zwraca się wiele firm. Zapraszam do zapoznania się z poniższym case study, w którym, na przykładzie współpracy z marką Urbanista, na nie odpowiadam.

Wprowadzenie

Urbanista to marka stworzona w 2010 roku w Sztokholmie. Jest częścią Stax Limited – japońskiego przedsiębiorstwa, produkującego wysokiej klasy słuchawki elektrostatyczne oraz dopasowane akcesoria, np. wzmacniacze. W swoim asortymencie Urbanista oferuje produkty audio z aktywną redukcją szumów, stworzone z „miłości do muzyki” i z myślą o życiu w ruchu.

Nasz zespół e-commerce zaproponował marce aktualizację systemu Magento do wersji 2.4.2. Taka zmiana niesie ze sobą szereg usprawnień – zarówno biznesowych (m.in. poprawę bezpieczeństwa, ochronę danych użytkowników), jak i technicznych (np. ulepszenia infrastruktury dla modułów). Ponadto, Magento 2.4.2 zwiększa stabilność strony e-commerce, a co za tym idzie – poprawia wydajność systemu. Nowa wersja platformy zawiera również dodatkowe funkcje, dzięki którym właściciele sklepów mogą pomagać klientom w zakupach.

Przebieg pracy

Jakie zadania stały przed programistami Sii?

Wyzwania:

  • 75 wirtualnych sklepów na jednej instancji Magento
  • zachowanie obsługi wielu języków z wysyłką do kilkudziesięciu krajów
  • dostosowanie przekierowań URL

Cel:

  • aktualizacja i migracja do Magento 2.4.2

Realizacja:

  • błyskawiczna aktualizacja – dwa tygodnie z testami i wdrożeniem na produkcję

Wyzwania

Celem naszego zespołu była aktualizacja i migracja systemu do najnowszego rozwiązania Magento 2.4.2, przy jednoczesnym zachowaniu funkcjonalności i UX klienta w procesie zakupowym.

Platforma e-commerce marki Urbanista oparta o Adobe/Magento posiada łącznie 75 sklepów (stores). Migracja do Magento 2.4.2 musiała uwzględnić ciągłość działania biznesu oraz dostosowanie do zmian nie tylko w ramach architektury systemu.

Jednym z wyzwań, jakie stanęły przed nami, była poprawa sposobu działania i reindeksacji URL (używane do tej pory domyślne rozwiązanie nie radziło sobie z tym najlepiej). Zastosowaliśmy własny moduł Sii Url_rewrite, który usuwa duplikaty i sprawia, że produkty działają poprawnie przy zapisie w backoffice. Od strony frontendu konieczne było dostosowanie do zmian UX w nowych szablonach check out, w których zmiany zostały naniesione – w przypadku rozwiązań customowych jest to zawsze dość złożony proces.

Szymon Nagórski, Frontend developer, Sii: „Nie lada wyzwaniem było dostosowanie asynchronicznych zapytań i blokowanie z CORS (Cross-Origin Resource Sharing) – rozwiązanie przez zewnętrzne zapytania (rozwiązanie dedykowane Sii)”.

Realizacja

Prace deweloperskie obejmowały stworzenie lokalnej kopii systemu 1:1 wraz z dostępem do integracji zewnętrznej (ERP), gdzie odbywała się migracja i większość pracy.

Daniel Lenkiewicz, Inżynier ds. oprogramowania, Sii: „Przechodziliśmy krok po kroku przygotowaną ścieżką przez zapytania REST, sprawdzając poszczególne endpointy do integracji, np. Navision. Sama aktualizacja do wersji 2.4.2 także była dość złożona. W trakcie prac pojawiały się wewnętrzne błędy platformy Magento związane z bazą danych w patchu MC-40700, które oczywiście naprawiliśmy”.

Następny etap stanowiły prace w środowisku testowym: testy UAT, backup i testy funkcjonalne. Tu także dokonaliśmy drobnych poprawek (uwzględniających dane ze środowiska produkcyjnego) przed finalnym wdrożeniem na produkcję.

Działania dodatkowe

Jak zawsze ważnym aspektem (poza samą aktualizacją i migracją) jest dla nas wydajność. Chcemy, aby system działał płynnie i był dostosowany zarówno do potrzeb użytkowników końcowych, jak również użytkowników back office. O tym, w jaki sposób performance może być objęty audytem, opowiadaliśmy już m.in. na przykładzie Black Friday podczas konferencji E-commerce Trends.

Podczas migracji dla marki Urbanista przeanalizowaliśmy moduły w wydaniu Magento 2.4.2 i wyłączyliśmy 147 z nich (w tym Magento Inventory) ze względu na brak konieczności stosowania ich w projekcie. Dzięki temu system został dodatkowo odciążony.

Poniżej przedstawiamy porównanie wersji przed aktualizacją oraz po aktualizacji do Magento 2.4.2:

  • porównanie czasów operacji w testach dodawania nowych produktów, użytkowników i atrybutów na istniejącej już bazie produktowej (opartych na Magento Performance Toolkit):

    Krótsze czasy indeksacji

    Ryc. 1 Krótsze czasy indeksacji

Powyższe wyniki pokazują, że czas reindeksacji uległ wyraźnemu skróceniu po aktualizacji Magento do wersji 2.4.2.

  • porównanie czasów operacji na reindeksacji:

    Krótsze czasy operacji

    Ryc. 2 Krótsze czasy operacji

W tym przypadku nastąpił niemal dwukrotny łączny wzrost wydajności przy pełnej reindeksacji

Infrastruktura

Po przeprowadzeniu testów na środowisku testowym, wydaliśmy właściwe wdrożenie na produkcję, która miała przygotowany backup (do wykorzystania w razie konieczności odtworzenia systemu). Przy aktualizacji Magento do wersji 2.4.2 niezbędna była również zmiana Elasticsearch do najnowszej wersji oraz podbicie PHP 7.3.x wraz z analizą zastosowanych modułów zewnętrznych (np. CMS).

E-commerce Urbanista

Ryc. 3 E-commerce Urbanista

Co ułatwiło nam realizację zadania?

  • nasze doświadczenie z platformą Magento
  • znajomość optymalnych rozwiązań hostingowych w chmurze
  • moduły Sii dotyczące dedykowanych rozwiązań i usprawniających performance Magento

Efekt

Marka Urbanista jest usatysfakcjonowana efektami naszych działań i wdrożonej przez nas aktualizacji Magento do wersji 2.4.2. Klient zwrócił uwagę na fakt, że po wprowadzonych zmianach zauważył znaczną różnicę działania systemu:

Urbanista: „Dzięki dokonaniu migracji, back office zaczął działać płynniej, co jest zauważalne podczas wykonywania codziennych operacji”.

Ponadto, efektami migracji do Magento 2.4.2. była również reindeksacja produktów oraz ogólna stabilizacja systemu (280 core fix, 35 patchy bezpieczeństwa) wraz z aktualizacjami zasad bezpieczeństwa.

Cały projekt migracji do Magento 2.4.2 (uwzględniając: przygotowanie planu, development i przeprowadzenie testów) zajął programistom Sii 1 sprint – tj. 2 tygodnie pracy. Wdrożenie zostało zrealizowane pod koniec marca 2021.

 

Masz dodatkowe pytania odnośnie wdrożenia? Może zainteresował Cię konkretny aspekt wprowadzonych zmian? Podziel się swoją opinią w komentarzach, chętnie odpowiem na wszystkie pytania.

5 / 5
Patryk Święczkowski
Autor: Patryk Święczkowski
Pasjonat czystego kodu i optymalizacji rozwiązań. Posiada wieloletnie doświadczenie w branży e-commerce. W Sii pełni rolę Architekta Rozwiązań, realizując projekty dla polskich i zagranicznych klientów. Jako lider techniczny ceni dobre relacje w zespole, zawsze stawia na ludzi. Ekspert z zakresu Magento Commerce.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz