Black Friday we wszystkich branżach ecommerce oznacza większą sprzedaż. W kontekście platformy e-commerce zwiększenie sprzedaży siłą rzeczy przekłada się na wzmożony ruch w serwisie. To z kolei wymaga przygotowania platformy od strony infrastruktury tak, by potencjalne skoki ruchu nie zakłóciły stabilnego działania platformy a co za tym idzie nie wpływały negatywnie na zachowania użytkowników, którzy w przypadku wolno ładującego się lub wręcz niedziałającego serwisu poszukają miejsca do zakupów gdzieś indziej.
Od tego należy zacząć
Zarówno serwis e-commerce jak i infrastruktura, w oparciu o którą on działa, z reguły przygotowywane są ze względów budżetowych na standardowy poziom ruchu z odpowiednim zapasem. Istotą przygotowania się do Black Friday jest weryfikacja z odpowiednim wyprzedzeniem tego zapasu i próba odpowiedzi na pytanie, czy zapas jest wystarczający. W przypadku, gdy wykryliśmy potencjalne wąskie gardła, niezbędne jest podjęcie działań mających na celu ich eliminację lub minimalizację. Poniżej zostaną podstawowe działania, jakie należy podjąć w takiej sytuacji.
Optymalizacja bazy danych
Wydajny serwer baz danych jest konieczny (ale niewystarczający) do uzyskania stabilnego i płynnie działającego serwisu e-commerce. W ramach działań przygotowawczych przed Czarnym Piątkiem należy zweryfikować, czy posiadany serwer będzie w stanie – pod względem zasobów – obsłużyć ruch, którego spodziewamy się w serwisie. Pomocne w określeniu, czy serwer należy wymienić na mocniejszy, będą testy wydajnościowe. Warto zapewnić bazie danych nadmiar mocy nawet w sytuacji, gdy przez pozostałą część roku nie ma takiej potrzeby – brak problemów z wydajnością bazy danych będzie miał w trakcie Czarnego Piątku bezpośredni wpływ na stabilność działania serwisu, a co za tym idzie na konwersję sprzedażową.
Mówiąc o bazie danych należy wziąć pod uwagę nie tylko serwer, ale także zagadnienia wokół efektywnego i stabilnego korzystania z bazy. Nie od dziś wiadomo, że wraz z rozwojem serwisu oraz dokładania funkcjonalności oraz zwiększania ilości danych, konieczny jest ciągły monitoring procesów związanych z bazą danych, a w szczególności weryfikacja czy zapytania SQL do bazy są wciąż optymalne.
Jednym z kluczowych działań przygotowawczych przed nachodzącym okresem wyprzedaży powinno być przeprowadzenie gruntownej weryfikacji czy zapytania SQL są wydajne i nie potrzebują optymalizacji. Należy również pamiętać o tym, że wszelkie wprowadzone zmiany optymalizacyjne powinny być zweryfikowane pod kątem zachowania przy zwiększonym ruchu. Tutaj także pomocne okażą się testy wydajnościowe.
Dobrze zaprojektowany serwis e-commerce umożliwia przechowywanie w cache przynajmniej części wyników zapytań SQL co ma kolosalne znaczenie dla obciążenia bazy. Platforma bez problemu działa w standardowych warunkach, natomiast przy wzmożonej liczbie zapytań, potrzebuje wsparcia. W takim przypadku mechanizmy cache zapytań wymagają dodatkowych usług oferowanych przez platformę hostingową.
CDN, czyli Content Delivery Network
Czas, jaki jest potrzebny przeglądarce internetowej na wyświetlenie strony składa się w uproszczeniu z sumy czasów nawiązania łączności z serwerem, przetworzenia żądania przez serwis i przesłania odpowiedzi do przeglądarki. W tym miejscu warto pamiętać, że dłuższy czas ładowania strony przekłada się na rosnące zniecierpliwienie użytkownika. Różne badania wskazują, że szybkie ładowanie serwisu jest podstawą do tego, by klient nie stracił zainteresowania zakupem. W przeciwnym wypadku ryzykujemy, że klient – zirytowany wolnym ładowaniem serwisu w przeglądarce – zdecyduje się skorzystać z oferty w innym e-sklepie.
W tym kontekście bardzo ważne staje się skrócenie czasu ładowania serwisu w tych obszarach, w których jest to możliwe. Z pomocą przychodzi nam CDN, czyli usługa chmurowa polegająca w uproszczeniu na tym, że między przeglądarką klienta a platformą hostingową wstawiane są punkty pośredniczące, których celem jest przyspieszenie dostarczenia klientowi serwisu. Jest to możliwe dzięki optymalizacji ruchu sieciowego i takiego wykorzystania zasobów chmurowych, by klient łączył się z najbliższym sieciowo węzłem CDN zamiast bezpośrednio z platformą hostingową.
Z reguły sieci CDN oferują dodatkowe pakiety usług nastawionych na bezpieczeństwo czy też zagadnienia optymalizacyjne. W zależności od potrzeb CDN pozwoli zastosować mechanizmy optymalizacji obrazków w serwisie, mechanizmy optymalizacji skryptów, polepszania parametrów sieciowych dla urządzeń mobilnych, a przede wszystkim mechanizmy cache.
Sprawdź: bezpłatne audyty UX dla Twojego sklepu
Cache
Cache w serwisach e-commerce jest systemem mającym na celu optymalizację serwisu oraz docierającego do niego ruchu. Mówiąc w skrócie, im więcej elementów serwisu znajdzie się w cache tym lepiej będzie on działał. Źródeł tego faktu należy upatrywać w dwóch czynnikach.
Po pierwsze, pobranie dowolnego elementu serwisu z cache automatycznie oznacza, że element ten nie będzie pobierany z platformy hostingowej serwisu. Tym samym, platforma będzie musiała obsłużyć mniej żądań przez co będzie miała do dyspozycji więcej zasobów. Po drugie, z reguły przechowywanie elementów serwisu w cache oznacza, że są one szybciej dostarczane do przeglądarki klienta, co będzie miało pozytywny wpływ na szybkość ładowania strony.
Oczywiście w cache mogą zostać umieszczone tylko te elementy, które są stałe niezależnie od zachowania i parametrów klientów w serwisie. Nie da się w cache umieścić elementów dynamicznych, które zmieniają się po każdej indywidualnej czynności danego użytkownika. Natomiast elementy zdecydowanie rekomendowane do umieszczenia w cache to wszelkie elementy statyczne takie jak obrazki produktów, elementy graficzne styli, skrypty css czy js, logotypy.
Wszystkie popularne sieci CDN oferują w ramach swojego uruchomienia aktywację usługi cache. Dzięki zastosowaniu tego rozwiązania można zdecydowanie podnieść wydajność swojego serwisu.
Serwery www i load balancing
Gdy już mamy wybrane te elementy, które mogliśmy umieścić w cache, stosujemy już CDN, zweryfikowaliśmy i zoptymalizowaliśmy bazę danych, kolejnym potencjalnie wąskim gardłem w Czarny Piątek może okazać się wydajność serwerów www. W standardowej sytuacji dobrze skonfigurowany serwer www z odpowiednimi zasobami fizycznymi takimi jak pamięć RAM i CPU nie powinien stanowić problemu w dowolnym serwisie. Czasami jednak warto zadbać o dodatkowe zasoby, które byłyby w stanie obsłużyć zwiększony ruch bez nadmiernego obciążenia.
Jednym z rozwiązań możliwych do wykorzystania jest load balancing, który rozłoży ruch do serwisu e-commerce pomiędzy więcej niż jeden serwer fizyczny, bądź wirtualny. W zależności od sytuacji oraz skali ruchu, load balancing pomiędzy wieloma serwerami może okazać się korzystniejszy niż po prostu zwiększanie mocy obliczeniowej pojedynczego serwera. Dodatkową korzyścią takiego rozwiązania jest uniezależnienie się od awarii pojedynczego węzła.
Należy też zwrócić uwagę na to, czy z zasobów nie korzystają inne usługi – przeciążenie tych dodatkowych usług może doprowadzić do nadmiernego obciążenia infrastruktury hostingowej, a co za tym idzie, do spowolnienia działania serwisu e-commerce lub nawet jego downtime.
Ostatecznie to testy wydajnościowe powinny potwierdzić, że zasoby serwerów www są wystarczające do obsłużenia spodziewanego ruchu.
Testy wydajnościowe
Omówienie tematu nie byłoby kompletne bez wspomnienia tak ważnej kwestii jak testy wydajnościowe.
Wiedząc jaki mamy standardowy ruch w serwisie możemy dokonać ekstrapolacji, aby określić jaki ruch jest spodziewany. W ten sposób możemy uzyskać oczekiwane wartości liczby sesji, użytkowników, transferu oraz transakcji, których spodziewamy się w serwisie podczas Black Friday. Mając te wartości należy zweryfikować, czy nasza infrastruktura, po wszystkich wymienionych w poprzednich częściach modyfikacjach, jest w stanie stabilnie i wydajnie obsłużyć spodziewany ruch.
Do określenia jak serwis rozumiany jako aplikacja oraz infrastruktura hostingowa zachowa się przy spodziewanym ruchu, służą testy wydajnościowe. Polegają one na sztucznym wygenerowaniu ruchu zbliżonego parametrami do zakładanych i obserwowaniu zachowania pod jego wpływem elementów składających się na serwis.
Często testy wydajnościowe pozwalają uwypuklić na czas (a więc także naprawić!) problemy, których nie obserwujemy w czasie standardowego ruchu, a które mogłyby okazać się bolesne podczas akcji promocyjnych, na przykład w Czarny Piątek.
Testy wydajnościowe, choć potrafią stanowić wyzwanie organizacyjne, powinny być niezbędnym, integralnym elementem dobrego przygotowania serwisu e-commerce do Black Friday. Należy też pamiętać o tym, że zupełnie niezależnie od Czarnego Piątku regularne przeprowadzanie testów wydajnościowych serwisu może przynieść tylko wymierne korzyści w postaci odpowiednio wczesnego wyłapywania potencjalnych problemów w serwisie.
Bezpieczeństwo
Optymalizując serwis pod kątem Black Friday nie można zapomnieć o najważniejszej kwestii, jaką jest bezpieczeństwo. Wydajność i stabilność są ważne, ale nie mogą być realizowane kosztem zapewnienia bezpieczeństwa serwisu. Pamiętając, że bezpieczeństwo to proces a nie stan, należy upewnić się, że podstawowe zagadnienia bezpieczeństwa są w serwisie wdrożone. Mówimy tutaj o zagadnieniach standardowych takich jak nagłówki bezpieczeństwa stosowane w protokole HTTP, bezpieczeństwo ciasteczek wykorzystywanych w serwisie, Web Application Firewall (WAF) służący do automatycznego wykrywania i blokowania ataków na aplikację, rate limity pozwalające blokować niechciany zalew zapytań do serwisu pochodzących z tych samych adresów IP czy wreszcie szeroko rozumiana ochrona przed atakami DDoS. W wielu wymienionych przypadkach pomocne okażą się usługi oferowane przez sieci CDN.
Podsumowanie
Jak widać, zagadnienie przygotowania serwisu e-commerce na wyczekiwany Black Friday jest wielowątkowe i porusza szerokie spektrum obszarów, począwszy od optymalizacji aplikacji i bazy danych, poprzez zadbanie o odpowiednią infrastrukturę, na dodatkowych usługach chmurowych skończywszy. Żaden z tych elementów – sam w sobie – nie stanowi gwarancji sukcesu. Ale ich kombinacja pozwoli zaadresować zdecydowaną większość problemów, które potencjalnie mogłyby mieć decydujący wpływ na to, czy Czarny Piątek okaże się sukcesem sprzedażowym.
Zadbaj o wydajność swojego e-commerce. Sprawdź naszą ofertę usług hostingowych.