Read Model – gamechanger v rychlosti rozsáhlých e‑commerce projektů

Business

V PeckaDesign se specializujeme na vytváření robustních e-commerce řešení, která musí zvládat vysoké nároky na výkon a rychlost. V tomto článku se podělíme o naši cestu k implementaci Read Modelu, který se ukázal jako klíčový prvek pro zajištění stability a rychlosti našich největších e-shopů, zejména během období vysoké návštěvnosti.

Tento článek není zaměřen technicky pro vývojáře, ale na přínos Read Modelu z pohledu dlouhodobé udržitelnosti a výkonu velkých e-shopů. Je určen těm, kteří se potýkají s problémem rychlosti a stability svých e-shopů a hledají efektivní a dlouhodobé řešení.

Co je to Read Model?

Read Model je přístup k práci s daty, zaměřený na to, jak potřebujeme data číst pro jejich zobrazení (na rozdíl od Business Modelu, který řeší správnost výpočtu dat a jejich konzistenci). Tento přístup umožňuje optimalizovat data pro rychlé čtení, což výrazně zlepšuje výkon e-shopu. Místo toho, aby aplikace při každém požadavku prohledávala a zpracovávala složité datové struktury, jsou data připravena tak, aby byla rychle a efektivně dostupná.

Pokud bychom to laicky přirovnali k situacím v běžném životě – je to jako rozdíl mezi čtením v přehledném seznamu a složitým vyhledáváním v kartotéce.

Výhody Read Modelu pro E-commerce

Read model je pro oblast e-commerce ideální, protože na e-shopu je přibližně 90 % požadavků na server čtecích. Díky optimalizaci pro čtení dokáže Read Model zajišťovat konzistentně rychlou odezvu bez výkyvů, a to i během období špiček, kdy je návštěvnost webu vysoká. Oddělení čtecího a zápisového modelu také usnadňuje škálovatelnost a údržbu celého systému, což je klíčové pro dlouhodobý růst a stabilitu každého e-shopu.

Jak jsme začali používat Read Model v PeckaDesign

Na přelomu let 2020 a 2021 nás čekal kompletní redesign e-shopů NAY a Electro World, na který jsme měli šibeniční termín pouhých 10 měsíců. Stav před redesignem e-shopů byl takový, že projekt neustále rostl a měl velké výkyvy v návštěvnosti. Časté mikrooptimalizace výkonu se začaly ukazovat jako neudržitelné, problémem by do budoucna byla také škálovatelnost.

V plánu dále bylo, že frontend e-shopu vytvoříme ve frameworku Vue.js, což vyžadovalo razantní změnu architektury. Původně monolitickou aplikaci bylo potřeba rozdělit na frontend a backend, komunikující spolu přes API (headless řešení). To vše nasazení Read Modelu nahrávalo a tak jsme se pustili do práce.

Implementaci jsme zvládli, termín spuštění do předvánoční sezony také a již během Black Friday se ukázalo, jak obrovským technologickým posunem nová koncepce je. Celé toto období během vánoční sezóny 2021 jsme zvládli bez „ztráty kytičky“, což platí dodnes.

Tyto velmi pozitivní zkušenosti jsme dále využili na dalším rozsáhlém ecommerce projektu, kde jsme Read Model v rozmezí několika měsíců (od podzimu 2022 do jara 2023) postupně nasazovali na všechny důležité části webu. Výsledkem bylo zrychlení odezvy celého e-shopu v průměru o několik stovek milisekund. Tato optimalizace tak výrazně zlepšila uživatelskou zkušenost a přispěla k vyšší spokojenosti zákazníků.

Graf reálného zrychlení odezvy e-shopu při postupném nasazování Read Modelu
Ukázka reálného zrychlení odezvy e-shopu při postupném nasazování Read Modelu

Read Model v nové e-commerce platformě Publicator 7

Tyto zkušenosti jsme pochopitelně nemohli nevyužít při vývoji naší nové e-commerce platformy Publicator 7, jejíž vývoj právě finišujeme. Platforma je postavena na nejpokročilejší verzi našeho Read Modelu.

Architektura celého systému je rozdělena na dvě hlavní části: Business Model a Read Model. Business Model řeší všechny důležité e-commerce procesy a odpovídá za správnost dat, zatímco Read Model díky předvypočteným datům zajišťuje vysokou rychlost odezvy frontendu a škálovatelnost. Tento model je integrován do všech částí platformy, což umožňuje extrémně rychlou odezvu a vysokou stabilitu webů.

Business model a Read model schéma
Oddělení Read a Business modelů – složité procesy probíhají asynchronně na pozadí, díky čemuž je odezva e-shopu konzistentní i v období vysoké zátěže.

S Read Modelem máme v rámci nové platformy již konkrétní data. Na podzim 2023 jsme spustili nový web Scio.cz, jako první a pilotní projekt na platformě Publicator 7 a díky tomu je odezva webu velmi rychlá. Brzy bude na nové platformě spuštěn také e-shop Super zoo, což přinese stejné výhody v podobě rychlosti a stability.

Závěrem

Pokud bychom to měli celé shrnout, hlavními přínosy Read Modelu pro každou ecommerce aplikaci jsou:

  • Zvýšená spokojenost zákazníků: Rychlé načítání stránek zvyšuje konverzní poměr a zlepšuje celkovou uživatelskou zkušenost.
  • Snadnější údržba a aktualizace: Oddělené vrstvy zjednodušují správu a rozvoj e-shopu, což umožňuje rychlé reakce na změny a potřeby trhu.

Z našeho pohledu představuje implementace Read Modelu zásadní krok k zajištění rychlých, stabilních a škálovatelných e-shopů. Pokud máte zájem o konzultaci nebo více informací o našich službách a řešeních, neváhejte nás kontaktovat.

Nakonec něco pro vývojáře

O naší cestě k Read Modelu jsme si povídali v rámci 38. setkání PHPkařů, které se konalo v květnu 2022 u nás v PeckaDesign.

Sdílet na facebooku anebo twitteru

Zpět nahoru