Archiwum kategorii: cloud

Bądź gotowy na duże obciążenie w Black Friday – zrób testy wydajnościowe systemu e-commerce

Wyprzedaże sezonowe, Black Friday, a może po prostu zwiększony ruch w sklepie online. W przypadku posiadania zbyt małej ilości zasobów serwerowych promocja, która miała przynieść zyski – spełznie na niczym. Dzieje się tak, ponieważ każdy system sprzedażowy ma inne zapotrzebowanie na zasoby serwerowe. W momencie, gdy zaczyna ich brakować, dostęp do sklepu dla klientów może być utrudniony. Mamy jednak na to rozwiązanie.

Testy wydajnościowe, inaczej zwane obciążeniowymi, sprawdzają wydajność danego systemu sprzedażowego. Inaczej mówiąc, pozwalają określić jaka jest wytrzymałość sklepu przy określonym ruchu. Takie statystyki tworzy się na podstawie liczby zapytań klienckich na minutę.

Proces

Właściciel systemu sprzedażowego, w swoim panelu może monitorować ilość obecnych zasobów serwerowych. Gdy zachodzi potrzeba zbadania, czy będą one wystarczające w przewidywanym okresie zwiększonego ruchu, testerzy i-systems przygotowują odpowiednie testy wydajnościowe, w których odwzorowują przykładowy schemat poruszania się po witrynie przez potencjalnego klienta. Przykładową akcją może być wejście na stronę główną sklepu, listing produktu czy kategorii, albo dodanie produktów do koszyka. Dotyczy to zarówno osób zalogowanych, jak i niezalogowanych. Testy wydajnościowe mogą być przeprowadzane na nieograniczonej liczbie zapytań.

Relic - liczba zapytań na minutę

Relic – liczba zapytań na minutę

Testy wydajnościowe wykonywane są automatycznie, a bezpieczeństwo serwerów jest cały czas monitorowane. Po przeprowadzeniu testów, narzędzie Jmeter generuje raport w pliku CSV z podsumowaniem. W pliku zapisany jest rodzaj zapytania oraz kody określające poprawność lub błąd w działaniu systemu. Tester sprawdza i analizuje raport w oparciu o Relic – narzędzie do diagnostyki ruchu oraz dodaje swoje uwagi. Następnie, administrator proponuje ilość zasobów, niezbędną do prawidłowego funkcjonowania sklepu. Jeśli zapotrzebowanie na zasoby jest dużo większe, niż obecnie posiadane, konieczna jest szersza ingerencja w infrastrukturę cloud. Raport przekazywany jest klientowi i-systems, który podejmuje decyzję czy chce zwiększyć ilość zasobów.

Korzyści

W momencie szybkiego rozwoju biznesu i rosnącej liczbie zapytań, warto monitorować zasoby i zabezpieczyć się przed ewentualnymi utrudnieniami w dostępie do systemu sprzedażowego. Dzięki diagnostyce ruchu na stronie, otrzymywana jest jasna informacja o rekomendowanej ilości zasobów serwerowych, pozwalającej na radzenie sobie z dużym ruchem na stronie. Po okresie wzmożonego ruchu można wrócić do poprzedniego stanu lub zdecydować się na wprowadzenie zmian na stałe. Z odpowiednią ilością zasobów, właściciel może mieć pewność, że jego sklep online będzie dostępny między innymi w trakcie sezonowych wyprzedaży czy peaków sprzedażowych.



Zobacz rozwiązania dla branży fashion

Cloud i-systems – wygoda, bezpieczeństwo, niezawodność

Cloud to wirtualizacja poszczególnych usług serwerowych. Firma i-systems stworzyła własną, w pełni dostosowaną do wymagań handlu w sieci, infrastrukturę cloud hosting. Technologia ta umożliwia wydzielenie każdej usłudze indywidualnego wirtualnego komputera, dzięki czemu nie muszą one rywalizować o zasoby. Rozwiązanie wspomaga firmę w szybkim radzeniu sobie z dużym ruchem na platformie sprzedażowej w jednym momencie. Taki skok ruchu wiąże się zazwyczaj z rozpoczęciem kampanii reklamowej, akcjami promocyjnymi, wyprzedażami sezonowymi czy konkursami.

Jak to działa?

W praktyce polega to na przeniesieniu świadczonych usług IT na serwer wirtualny. Według analityków Gartnera, cloud computing to „styl obliczeń, w którym dynamicznie skalowalne zasoby są dostarczane jako usługa za pośrednictwem internetu. Użytkownik nie musi mieć wiedzy na temat tego, w jaki sposób ta usługa jest realizowana, nie musi też zajmować się aspektami technicznymi niezbędnymi do jej działania”.

Korzyści

Poniżej przedstawione są korzyści płynące z posiadania dedykowanej infrastruktury cloud.

Zarządzanie

Wszystkie prace związane z administrowaniem serwerami prowadzone są przez zespół i-systems. Klient nie musi martwić się konfiguracją, zabezpieczeniami oraz optymalizacją. Sama konfiguracja wiąże się z uruchomieniem 2-30 wirtualnych serwerów, na które składają się loadbalancery, serwery aplikacji, baz danych, cache i replikacje tych serwerów. Sama optymalizacja natomiast, nie jest zadaniem jednorazowym.

Dopasowanie do systemu

Cała infrastruktura sprzętowa, sieć i oprogramowanie serwerów, zoptymalizowane są pod autorski system e-commerce firmy i-systems. Dzięki temu dopasowaniu, system już na początku działa dużo szybciej. Serwery nie zawierają bowiem spowalniających paneli, ponieważ zarządzane są przez skrypty.

Rozwiązanie problemu „wąskich gardeł”

Po umieszczeniu na jednej maszynie, części sklepu internetowego mogą się nawzajem blokować. Są to tak zwane “wąskie gardła” na serwerach. W efekcie, czas ładowania strony może znacznie się wydłużyć. Rozwiązaniem jest umieszczenie infrastruktury w chmurze, co pozwala na wydzielenie nowego miejsca na serwerze spowalniającej części. Rozdzielenie zadań wiąże się z szybszym ładowaniem strony i pełną jej stabilnością.

Przyrostowy backup

Aby nie posiadać ogromnych zasobów dyskowych do utrzymywania kopii danych, zostało stworzone dedykowane rozwiązanie – przyrostowy backup. Są tam zapisywane jedynie różnice w plikach, które nastąpiły po wykonaniu ostatniej kopii zapasowej. Przy potrzebie odzyskania danych, nawet tych sprzed kilku miesięcy, nakładane są różnice na ostatnią zapisaną wersję. W ten sposób odzyskiwana jest całość danych, bez konieczności posiadania ogromnych zasobów dyskowych.

Monitoring usług

Usługi, takie jak serwery www, cache, bazy danych oraz inne, dedykowane, zainstalowane są na serwerze. W przypadku standardowych usług hostingowych, monitorowane jest zazwyczaj działanie samego komputera, wyłączając monitoring każdej usługi z osobna. Rozwiązanie i-systems monitoruje wszystkie usługi co 5 minut oraz sprawdza obciążenie procesorów i ilość dostępnego miejsca. W ramach zabezpieczenia, administratorzy i-systems pełnią również dyżury 24/7 oraz, w razie potrzeby, otrzymują powiadomienia e-mail i sms. Oznacza to, że w ramach umowy SLA i-systems bierze odpowiedzialność zarówno za działanie serwerów, jak i usług na nich zainstalowanych.

Wysoka dostępność

Wdrożenie systemów HA (en. High Availability – wysoka dostępność), polega na połączeniu hostingu z możliwościami systemu. Trzeba przy tym założyć, że pomimo sprzętu najwyższej jakości, jakiś element infrastruktury może nie zadziałać poprawnie, a system musi nadal funkcjonować. Sprzęt działający na systemie cloud, mieści się na dwóch, oddalonych od siebie o 13 km, niezależnych serwerowniach. Dzięki takiej odległości, replikowanie danych może odbywać się w czasie rzeczywistym, a także możliwe jest automatyczne obsłużenie awarii całego data center.

Bezpieczeństwo zasobów

SPoF (en. Single Point of Failure), czyli tzw. Jeden Punkt Awarii to część infrastruktury, której awaria powoduje paraliż całego systemu. W ramach prewencyjnych działań, każda maszyna wyposażona jest m.in. w dwa procesory, dwa niezależne zasilacze, macierze dyskowe, podwójne źródła zasilania, zasilanie awaryjne (UPS i generatory), łącza od wielu operatorów i podwójne urządzenia sieciowe. Przy tak zabezpieczonej maszynie, awaria jednego elementu nie przeszkodzi działaniu serwerów oraz usług na nich zainstalowanych, a co za tym idzie – będzie praktycznie niezauważalna dla użytkowników.

Serwer logów

Każda z usług, części aplikacji tworzącej system e-commerce, takie jak np. aplikacja sklepu, baza danych, serwer www, serwer pocztowy, czy integracje – generuje logi. Pozwalają one na sprawdzenie trybu działania serwera, wykrycie nieprawidłowości w systemie, a także na tworzenie statystyk oraz wykrywanie naruszeń bezpieczeństwa. Serwer logów sprawia, że wszystkie zdarzenia są zebrane w jednym miejscu z pełnotekstową, zaawansowaną wyszukiwarką i narzędziami do analizy. Ułatwia to monitoring stanu oraz kondycji systemu.

Skalowalność w górę i w bok

Skalowanie w górę polega na zwiększeniu pamięci ram oraz liczby procesorów w serwerze wirtualnym. Jednak w pewnym momencie dodanie zasobów nie jest już możliwe albo nie daje to żadnych efektów, ponieważ została osiągnięta maksymalna wydajność systemu. Wtedy pozostaje opcja skalowania w bok, czyli zwiększenia infrastruktury poprzez fizyczne dodanie kolejnych serwerów i rozdzielenie między nimi zadań. Ograniczeniem w tym wypadku są jedynie możliwości aplikacji. Dzięki skalowaniu możliwości serwerów można łatwo i szybko rozszerzyć infrastrukturę, by zwiększyć liczbę użytkowników jaką może obsłużyć strona w jednym czasie. Dodatkowo mechanizm auto-scale wykrywa kończące się zasoby i automatycznie uruchamia kolejne.

Monitoring zasobów w panelu klienta

Klient może stale monitorować ilość zasobów serwerowych w swoim panelu i-systems. W zakładce cloud widać nazwy serwerów, typy instancji, a także zużycie procesora, pamięci i dysku.

Zrzut ekranu 2017-08-23 o 14.44.50

Rozliczenia

Ruch na stronie potrafi być skrajnie różny – czasem jest bardzo wysoki, a czasem niski. Jeśli chodzi o rozliczenia – klient płaci za przypisane mu zasoby – wirtualne rdzenie, pamięć ram, miejsce na dysku i transfer danych.

Podsumowanie

Dedykowana infrastruktura cloud hosting i-systems, to rozwiązanie zapewniające obsługę dużego ruchu na platformie sprzedażowej. Jest gwarancją bezpieczeństwa serwerów i usług na nich zainstalowanych. W związku z tym jest jednocześnie podstawą bezpieczeństwa biznesowego firm prowadzących działalność e-commerce.



Zobacz case study z rozwiązaniem cloud hosting

Serwer logów – zastosowanie w e-commerce

Nazwa “serwer logów” zapewne dla wielu osób brzmi dość enigmatycznie. Aby zrozumieć, co oznacza to określenie, trzeba w pierwszej kolejności poznać znaczenie słowa „log”.

Każda z usług, części aplikacji tworzącej system e-commerce, takie jak np. aplikacja sklepu, poszczególne moduły, baza danych, serwer www, serwer pocztowy, czy integracje – generuje logi. Tworzone są one w sposób automatyczny, w kolejności chronologicznej i niezależnie od użytkownika. Zapisywane są w plikach tekstowych opisujących co się stało.

Poszczególne logi mogą mieć także różne stopnie szczegółowości. Pojedynczy wpis może zawierać: informacje o dacie i godzinie dokonania zdarzenia, jego rodzaju, nazwie oraz adresie IP użytkownika, danych o pobieranych plikach, oraz tekstowy opis zdarzenia.

Głównym zastosowaniem logów jest analiza sposobu pracy systemów informatycznych. Pozwalają one na sprawdzenie trybu działania serwera, wykrycie nieprawidłowości w systemie, a także na tworzenie statystyk oraz wykrywanie naruszeń bezpieczeństwa.

Nowoczesny system e-commerce składa się z wielu rozproszonych usług i komponentów znajdujących się fizycznie na różnych serwerach. Pozwala to na skalowanie systemu, jednak niesie za sobą konsekwencje – logi wykonywanych operacji również są rozproszone po wielu serwerach. Analiza jednego problemu jest przez to niezwykle czasochłonna. Serwer logów sprawia, że wszystkie zdarzenia mamy w jednym miejscu z pełnotekstową, zaawansowaną wyszukiwarką i narzędziami do analizy.

serwer

Dzięki takiemu rozwiązaniu, dla każdego systemu istnieje jedna maszyna, która transferuje logi ze wszystkich serwerów oraz udostępnia ujednolicony interfejs do ich przeglądania. Ułatwia to monitoring stanu oraz kondycji systemu. W sytuacji, gdy zachodzi konieczność sprawdzenia lub analizy trybu pracy systemu, zarówno wyszukiwanie informacji, porównywanie ich, jak i tworzenie wykresów zajmuje kilka sekund, ponieważ logi są indeksowane. W przypadku braku serwera logów działania te mogą trwać kilka godzin. Dlatego serwer logów jest częścią nowoczesnej infrastruktury serwerowej, działającej na potrzeby e-commerce.