Menu

Polski e-commerce i zarządzanie e-firmą

Nazywam się Paweł Fornalski. Jestem założycielem i prezesem IAI S.A., dostawcy rozwiązań e-commerce dla sklepów internetowych i rezerwacji noclegów dla właścicieli apartamentów i hoteli. Na tym blogu piszę, w oderwaniu od oficjalnych poglądów innych właścicieli i pracowników IAI o tym co mnie prywatnie porusza. Gdybyś chciał się skontaktować pisz na pawel(a)fornalski.pl

O czym należy wiedzieć wdrażając do swojego sklepu internetowego Magento? [Część 2/4]

pfornalski

Zgodnie z przewidywaniami, poprzednia część, mocno obrazoburcza wzbudziła ogromne zainteresowanie i sądząc po statystykach, mimo publikacji w sobotę, przeczytała go ogromna ilość osób. Sporo ludzi przesłało swoje uwagi, pytania itp. Nie czekam więc tygodnia, tak jak to poprzednio zaplanowałem, tylko już na następny dzień publikuję drugą część, co stanowi około 50% całości materiału. To fajnie, bo nosiłem się z napisaniem tego artykułu ponad rok, układając go w głowie poszczególne jego części i wstępnie weryfikując moje tezy, także w dyskusjach z ludźmi wdrażającymi Magento. Rozumiem, że to co piszę, może się nie podobać wszystkim. Zwłaszcza tym, którzy oczekują naukowych dowodów. Łącznie tekst będzie miał 9 stron maszynopisu, więc i tak całkiem sporo. Staram się też pilnować prostego języka, który zrozumie właściciel biznesu, a nie jego informatyk. Rozwleczenie wszystkiego i wytłumaczenie dokładniej, wymagało by napisania sporej wielkości e-booka. Założyłem też, że dobre rzeczy o Magento powie sam producent i ludzie, którzy sprzedają takie wdrożenia. Dlatego też „O czym należy wiedzieć” odnosi się do tego, czego zazwyczaj klienci nie słyszą. Ale spokojnie. Oddam Magento należną część i będzie trochę dobrych słów. Cierpliwości. Ta seria liczy 4 odcinki :)

Duzi gracze np. Microsoft polecają Magento

Duzi gracze od hostingu polecają Magento. To dlatego, że później sprzedając zasoby w Azure, dopasowane pod Magento, zamiast sprzedać jeden czy dwa serwery, sprzedają ich 10. Wygodnie jest promować hasło, że taniej wynająć serwer niż programistę do optymalizacji kodu. W SaaS jednak zjawisko wygląda inaczej, przy np. 3000 kopii, bardziej opłaca się zatrudnić programistę, niż wynająć 3000 dodatkowych serwerów.

Jakiś czas temu rozważaliśmy w IAI rezygnację z naszej własnej infrastruktury na rzecz Azure i Amazon. To fajne, wysokopoziomowe środowisko, które się wydaje idealne dla takiej firmy jak IAI. Problemem okazuje się być jednak cena. Przy tym samym kodzie, mocno optymalizowanym, wyszło nam i tak, że klient który płaci np. 2999zł abonamentu (to około 40-100Mbit ruchu WWW, czyli całkiem spory sklep) potrzebowałby zakupu instancji i dopłat które by wyniosły około 5000-6000zł (za same serwery). A więc nasza usługa kosztowałaby powiedzmy z 8000zł zamiast 3000zł za to samo. Przy wdrożeniu Magento nie masz wyboru, ale warto przynajmniej wiedzieć za co przepłacasz.

Kolejny aspekt dodatków do Magento (pisałem o nich w poprzedniej części) to sposób ich działania. Po pierwsze, większość pisana jest jako autonomiczna, czyli pobiera komplet informacji, następnie zwraca je do dalszego przetwarzania lub do „jądra”. A ponieważ to jądro to skrypt w PHP, działa to potwornie wolno. Przykład: w Magento jest dodatek do filtrów. Działają bardzo prosto i prymitywnie, więc musisz dokupić kolejne dodatki dodające np. prezentację ilości towarów przy każdym filtrze. To oznacza, że zamiast generując filtry ustalić od razu jednym zapytaniem SQL z bazy danych ile jest towarów (co zadziała nawet kilka tysięcy razy szybciej), wyciągasz te informacje 2 razy, wysoko-poziomowo, stosując iteratory. A to wolne działanie to nie tylko koszty, ale często brak możliwości odpalenia sklepu. W IAI nie raz braliśmy udział w odpalaniu sklepu, który po np. 2 latach wdrażania Magento, wydaniu fortuny, dojściu do 15 serwerów nadal nie mogli odpalić sklepu, bo działał zbyt wolno.

Magento czy Presta dobrze się skalują”

Zastanawiam się, kto jeszcze ma po przeczytaniu tego co napisałem wcześniej, że Magento jest szybsze i bardziej skalowane tak uważa? Wyjaśnię w wielkim uproszczeniu, aby każdy zrozumiał jak budowany jest duży sklep na Magento. A mianowicie, stawia się kilka serwerów na bazę danych i engine, do tego serwery na zapisanie i obsługę obrazów stron. Tzw. worker przegląda każdy URL sklepu i zapisuje obraz jako plik statyczny. Później gdy klient szuka jakiegoś towaru, wyszukuje się zapisany obraz strony i zwraca szybko klientowi. To jeden ze sposobów rozwiązań na problem wolnego działania Magento o którym pisałem wcześniej.

Jeżeli słyszysz od małej agencji lub tzw. „speca-komputerowca”, że Magento się świetnie skaluje (bo używają go duzi) to zwyczajnie nie wierz mu, i sprawdź np. prezentację Divante (jedna z dużych firm wdrażających Magento) pt. „Skalowalność Magento – Teoria i trochę praktyki”. W tej prezentacji bardzo podoba mi się tzw. Nietypowy problem (CRM, ERP, WMS), 37tys. Produktów, 200-250 sesji jednocześnie. A to jest właśnie charakterystyka typowego sklepu internetowego, średniej wielkości. Nie przeczę, że ktoś może z Magento być w stanie zbudować infrastrukturę giganta. Ale to co wymaga już skomplikowanego podejścia, można mieć już do 2000zł na miesiąc za kompletny system, w dużym SaaS.

Wróćmy do technologii workerów. Niektórzy mylnie zakładają, że ta technologia występuje tylko w Magento. Pewnie jest tak dlatego, że bez cache (workerów) na Magento nigdzie się nie zajedzie poza rozwiązanie developerskie. W IAI-Shop.com mamy też funkcjonalność workerów, którą wystarczy włączyć jednym kliknięciem i system działa tak samo (a nawet lepiej o czym za chwilę). Różnica polega na tym, że ta technologia jest niepotrzebna w małym i średnim sklepie, gdyż koszt działania workerów będzie większy niż koszt generowania stron dynamicznie, zwłaszcza że kod jest bardzo mocno zoptymalizowany. Nie trzeba więc kupować Magento aby mieć generator stron statycznych.

Technologia stron statycznych (generowanych przez workery) ma jeszcze jedną dużą wadę. Ogranicza mocno funkcjonalność. Próżno w typowym sklepie Magento szukać takiej funkcjonalności że np. klient wpisuje kod rabatowy i od tego momentu podczas szukania towarów, filtrowania itp. widzi ceny po przeliczeniu rabatu. A przecież brzmi to jak podstawowa funkcjonalność sklepu internetowego typu IAI-Shop.com prawda? No cóż. Jak już się przekonałem, gdy właściciel sklepu internetowego ma zapłacić z własnej kieszeni np. Pareset dodatkowych tysięcy za taką funkcjonalność z własnej kieszeni, nagle przestaje to być takie potrzebne.

To teraz trochę liczb: Największe sklepy internetowe w tzw. standardowych planach abonamentowych na IAI-Shop.com obsługują ruch na poziomie 300Mbit/s i parę tysięcy requestów na sekundę do stron dynamicznych (czyli tylko strona HTML generowana przez skrypt). Do tego potrzeba maszyny 64-rdzeniowej, która z całą opieką i gwarancją mobilności (bo czuwa nad tym duży zespół prawdopodobnie najlepszych adminów), czyli koszt 8999zł/mc. A mamy też w ofercie indywidualnie konfigurowaną infrastrukturę, w której możemy też zastosować parę serwerów.

Jakiś czas temu byłem konsultantem w jednym z 3 najbardziej znanych sklepów internetowych i zdziwiło mnie to, że sklep ten ma 200Mbit/s w okresie świątecznym. Tylko, że koszt IT w tym przypadku wynosił ponad 200 tys. na miesiąc. Wniosek jest taki, że nasi niektórzy klienci mają większy ruch niż jedna z 3 najbardziej znanych marek w polskim e-commerce.

Więc warto patrzeć realnie, jakie liczby będziesz osiągać w swoim sklepie i ile tej skalowalności realnie będziesz potrzebował na najbliższe 3 lata. Bo przecież i tak nie będziesz miał aktualizacji w swoim Magento. Czyli jego cykl życia i tak nie przekroczy 3 lat. Czy potrzebujesz od razu inwestować w system miliony, aby być zabezpieczonym, skoro możesz wybrać SaaS w którym jeżeli biznes wyjdzie, po prostu zapłacisz 8999zł/mc a jak jednak pójdzie trochę słabiej to np. 599Zł/mc?

Duże sklepy potrzebują dedykowanych rozwiązań

Mit o tym, że duże sklepy potrzebują dedykowanych rozwiązań to mój ulubiony mit. Duże sklepy nie potrzebują dedykowanych rozwiązań, tylko dobrego WMSa (system zarządzania procesami magazynowymi), bo inaczej nie da się prowadzić sklepu internetowego, który wysyła już powyżej 10 tys. przesyłek miesięcznie. Czy to oznacza, że sklep musi wdrażać kernel na bazie którego musi wdrażać i przerabiać dodatki do Magento (patrz wcześniej)? Nie, potrzebuje po prostu WMSa, którego w Magento nie ma.

A te WMS które oferują integrację z Magento działają na tej zasadzie, że trzeba w nich umieścić całą bazę towarów, by następnie przez API pobrać informację o zleceniu (dane klienta, ID towarów) i zaimportować to zlecenie do tego WMS. Obsługa całego zamówienia nie odbywa się w Magento tylko w WMS, który to na koniec, po wysłaniu paczki, ustawia przez API status iż zamówienie jest zrealizowane. Czy do tego potrzeba dedykowanego systemu? Każdy, nawet najmniejszy i najtańszy SaaS oferuje taką funkcję, jak udostępnienie przez API informacji o kliencie i ID towarów i pozwala ustawić status, że zamówienie jest wysłane? Czemu więc, sklepy idą na to, wiedzieć że przepłacą? Albo są gotowe to finansować w imię wyższej wyceny przy sprzedaży sklepu, albo zwyczajnie o tym nie wiedzą. I paradoksalnie, częściej po prostu ludzie o tym wszystkim nie wiedzą.

A na koniec rodzynek: Większość WMS, w tym najpopularniejszy polecany do Magento jest oferowany wyłącznie w SaaS. Czyli klient teoretycznie wdraża własny system, by mieć kontrolę nad kodem, tylko po to, aby kluczowa część jego biznesu była i tak w SaaS. Uwielbiam minę ludzi, którym to pokazuję, zwłaszcza tych którzy wydali kilkaset tysięcy na wdrożenie Magento i myśleli że ich dział IT ma pełną kontrolę nad ich biznesem.

Aura tajemniczości

Od tego, dlaczego niektóre tzw. duże sklepy decydują się na Magento i że czasami wcale nie jest to związane z ograniczeniami SaaS czy jego wadami, zaczniemy trzecią część, którą planuję opublikować w przyszły weekend. Jeżeli nie chcesz, jej pominąć i dowiedzieć się tego, czego nikt inny Ci nie powie, dodaj swój e-mail do newslettera. System bloga wyśle Ci wyłącznie informacje o nowych postach, żadnych reklam.

Komentarze (2)

Dodaj komentarz
  • Gość: [Adam] *.internetdsl.tpnet.pl

    Panie Pawle, czy dobrze mi się wydaje, że jeden duży klient IAI przeszedł ostatnio na magneto? Zastanawiam się ile mogło kosztować wdrożenie i ile miesięcznie trzeba płacić za serwery i rozwój platformy.
    Pozdrawiam

  • pfornalski

    Wdrożenie IAI-Shop.com może być tanie, albo drogie. Najtańsze to poniżej 1000zł. Więcej informacji na www.iai-shop.com/licenses.phtml Co ważne: zawsze można dodać indywidualną grafikę czy elementy systemu, albo zmieniać moc obliczeniową, bez zamykania sobie żadnej drogi czy ponoszenia ponownie kosztów. Utrzymanie też może być tanie, od 139zł netto na miesiąc. Więcej informacji na www.iai-shop.com/design.phtml

© Polski e-commerce i zarządzanie e-firmą
Blox.pl najciekawsze blogi w sieci