Przeniesienie sklepu z serwera na serwer. Niby prosta rzecz, a jednak w rzeczywistości może okazać się nie lada wyzwaniem. Dziś w 21 odcinku – wyjątkowy temat, wyjątkowi goście i wyjątkowy odcinek. Po pierwsze dlatego, że właściwie pierwszy raz rozmawiamy głównie o technologii. Po drugie dlatego, że oprócz głównego gościa Pawła Wołoszyna – e-commerce manager sklepu internetowego elwix.pl i fts.pl sprzedającego markowe buty i ubrania takich marek jak Vans, Lee, Wrangler, w rozmowie udział wzięli project manager – Mirek oraz Szymon – programista z Convertis. Wspólnie opowiadają historię migracji. Po raz pierwszy i mam nadzieję, że nie ostatni, przedstawiamy przy okazji kulisy pracy Convertis. 🙂

W tym odcinku rozmawiamy m. in. o tym.:

Zapraszam do słuchania !

Grzegorz Frątczak: Witam Was wszystkich drodzy słuchacze, a ze mną dzisiaj są Paweł:, Mirek i Szymon. Kim są te tajemnicze osoby o tym już za chwilę, bo dzisiaj będziemy rozmawiać o przenoszeniu sklepu z serwera na serwer, na prawdziwym przypadku. Dość nietypowym i trudnym, ale zanim do tego dojdziemy, poproszę naszych gości, żeby się przedstawili. Zacznę od naszego najważniejszego gościa, czyli Pawła. Paweł?

Paweł Wołoszyn: Nazywam się Paweł Wołoszyn reprezentuję trzy sklepy internetowe Elwix.pl, FTS.pl i PlakShop.pl .

Grzegorz: Trzy sklepy, które są pod naszą opieką, jako Convertis. Długo już Paweł: pracujemy, pamiętasz przeszłe czasy?

Paweł: Wołoszyn: Od 2012 roku. Jeszcze Ciebie nie było.

Grzegorz: Tak, ta firma pamięta czasy, kiedy mnie jeszcze nie było, ale był wtedy Szymon, prawda?

Paweł: Tak.

Grzegorz: Szymon, a Ty kim jesteś w tym całym zespole?

Szymon: Ja zajmuję się sklepami od strony programistycznej. Chyba rzeczywiście jest już 8 lat.

Grzegorz: Niektórzy zdążą już w te 8 lat skończyć podstawówkę.

Szymon: Nawet nie wiedziałem, że minęło już tyle czasu.

Grzegorz: Jest też z nami Mirek. Mirku?

Mirek Kazior: Dzień dobry, cześć! Nazywam się Mirek Kazior i zajmuję się obsługą sklepów od strony koordynacyjnej, organizacyjnej i współpracy m.in. pomiędzy Pawłem a całym zespołem z Szymonem na czele.

Jakie problemy mogą się pojawić przy źle działającym serwerze?

Grzegorz: A ja tutaj tylko szefuję i dzisiaj ich przepytam na okoliczność tego, że w końcu udało się nam Pawła przekonać do tego, żeby przenieść ich sklepy z jednego serwera na inny. Paweł –  powiedz mi, co tam się działo z tymi serwerami z Twojej strony, jako klienta?

Paweł: Z naszej strony to, co ja zauważyłem, to zdarzały się przerwy na serwerze. To znaczy krótkie, chwilowe przerwy, które były widoczne. Wydaje mi się, że ten serwer, ponieważ był to tylko dedykowany hosting, to nie był serwer w całości wyznaczony dla nas.

Wydaje mi się, że na te trzy sklepy i na ilość odwiedzin i potrzeb, jakim musiałby sprostać teraz tym trzem sklepom, to po prostu ten serwer dawał rady. To tak z mojej strony, a ze strony Szymona i Mirka, cały czas dostawałem sygnały, że wiele rzeczy nie można zrobić, nie można uruchomić, bo po prostu ten serwer na to nie pozwala.

Grzegorz: Szymon, zdradzisz, czego nie mogłeś zrobić, w czym może Ci uprzykrzyć życie nieodpowiedni serwer?

Szymon: To, co było widoczne dla Pawła, to głównie przerwy w działaniu. Nie mieliśmy porządnego wsparcia w tym serwerze ze strony obsługi serwera i administratorów, bardzo ciężko było zdiagnozować problem. W pewnym momencie doszliśmy do tego, że występowały losowe błędy podczas dużych pików ruchu i w pamięci podręcznej powstawały jakieś błędy zapisu, lub odczytu plików cash i praktycznie nie było wiadomo, skąd się to bierze. Napisaliśmy do tego obejście. Proces, który analizował co minutę, czy sklep poprawnie odpowiada i jeżeli nie, to po prostu czyścił cash. To było obejście zewnętrzne problemu, natomiast nie udało nam się uzyskać informacji, dlaczego tak się dzieje. Na żadnym innym serwerze, czy u żadnego innego klienta nie mieliśmy takich problemów. Po przeniesieniu ten problem się rozwiązał, więc podejrzewam, że mógł to być problem sprzętowy z dysku, czy czegokolwiek.

Z drugiej strony to były takie problemy, które wynikały ze specyfiki tego starego hostingu, czyli np. ograniczenia połączeń przez SSH i SFTP. Tam był limit jednego takiego połączenia naraz, więc jeśli chcieliśmy się łączyć z serwerem przez obydwie te usługi, to było to niemożliwe. Tak samo, jak chciały się połączyć dwie osoby naraz, to też było to niemożliwe, więc w jakiś sposób ograniczało to pracę. To połączenie SSH było też bardzo niestabilne.

Kolejnymi wyzwaniami były nie możliwość ustawienia cronów, tak jak to się dzieje w systemach Linux’a, czyli tablica cronu gdzie sobie dowolnie ustawiamy, co ile ma się ten cron uruchamiać, w jakie dni itd. Było to autorskie rozwiązanie hostingu, które nam to mocno ograniczało i w praktyce sprowadziło się do tego, że sklepy, które stały na platformie Sote, bo to chyba wcześniej nie padło, na dobrą sprawę większość procesów cron musiała być otwierana przez HTTP, a jak wiadomo, to ma swoje ograniczenia, ma swoje minusy i budując sam proces, który miał być uruchamiany przez crona, trzeba było do niej dobudować całą otoczkę, która sprawdzała, czy na pewno ten cron wykonał się w całości i to po prostu tworzyło to dodatkowe koszty. Trzeba było poświęcić więcej czasu na każdą taką modyfikację.

Były jeszcze różne techniczne rzeczy, ale to już takie mocno techniczne rzeczy.

Grzegorz: Ja myślę, że część naszych słuchaczy, w ogóle nie zrozumiało, o czym mówisz.

Ja wyjaśnię, że cron, to jest takie coś, co powoduje, że pewne procesy w serwerze uruchamiają się automatycznie. Jeśli dobrze to Szymon tłumaczę? Bo ja nie jestem programistą.

Wydaje się, że to takie proste. Mamy serwer i powinno działać. Płacimy co miesiąc za serwer i nasz sklep powinien śmigać, natomiast okazuje się, że nawet posiadając dedykowany serwer, hosting, trudno było się nawet dowiedzieć co się tam dzieje.

Paweł: Grzegorz, ten serwer był od samego początku, z tym że był taki moment, w którym ten pik zamówień był tak duży, że serwer kompletnie nie dał rady i przeszliśmy wtedy na hosting dedykowany, ponieważ totalnie zabrakło na serwerze miejsca. Było takie popołudnie, w którym był totalny pożar, bo to było chyba w piątek, jeszcze za nie Twoich czasów. Mieliśmy poważny problem, bo natychmiast musieliśmy uruchomić hosting dedykowany, żeby to w ogóle zluzować i żeby poszły zamówienia.

Grzegorz: Tak, bo Paweł: w FTS-ie sprzedaje buty Vans-y, które na początku roku szkolnego cieszą się bardzo dużym powodzeniem i wtedy pik jest kilka, kilkanaście razy wyższy nisz normalnie. Wtedy jest tak, że nic nie dotykamy, bo musi chodzić…

Wtedy właśnie przeszli na dedykowany serwer, z którym później przez kilka kolejnych lat Szymon walczył, żeby to dobrze pracowało, a serwer wszystko opóźniał. Był to serwer jeden z najbardziej popularnych hostingów w Polsce, nie chcę zdradzać nazwy, jakby ktoś pytał, może na priv napiszę.

Z tym mieliśmy różne wyzwania i od strony programistycznej, bo Paweł: nas rozliczał z tego, żeby sklep zawsze działał. Z drugiej strony, żeby proces sprzedaży działał, bez zakłóceń, bo sprzedaż zroku na rok znacząco rosła. Mirek miał tutaj wyzwania w postaci pilnych pożarów, które musieliśmy naprawić. Mirek, jak to było?

Mirek: Było dużo różnych sytuacji, natomiast to, co najbardziej nas zmotywowało do tego przepięcia, było to, że Szymon przy kolejnych pracach mówił, “Ale uwaga, bo serwer”. W końcu Szymon pewnego razu nie wytrzymał i powiedział, że więcej na tym serwerze nie będzie pracował, nie jest w stanie pracować efektywnie i zaproponował, żeby coś z tym zrobić. To było chyba na początku 2019 roku. Szymon postawił tak sprawę. Chwilę to kiełkowało, ale w końcu dogadaliśmy się też z Pawłem, że to jest nie tylko niekorzystne dla Szymona przy pracy, ale i dla całej firmy. Wtedy tak naprawdę ta dyskusja się zaczęła.

Grzegorz: Tak i drodzy słuchacze możecie się zdziwić, mamy już wrzesień 2020. Zrobiliśmy to w sierpniu. Pomyślicie, półtora roku czekali? Czekaliśmy, bo to nie takie hop-siup. Szczególnie, że na tym serwerze były trzy duże sklepy, a do tego, co tam jeszcze było takiego, co wymagało zaopiekowania się?

Paweł: Przede wszystkim trzy sklepy i kilkadziesiąt skrzynek mailowych obsługiwanych nie tylko przez sklep, ale też przez prywatne osoby, przez pracowników i trzeba było do tego przysiąść, opracować jakiś plan działania. Tego nie da się zrobić tak, że jutro zmieniamy serwer, tylko trzeba było to dokładnie przemyśleć. Myśmy z Mirkiem wielokrotnie spotykali się telefonicznie, czy mailowali w tej sprawie, żeby dopiąć wszystkie szczegóły, kto, za co jest odpowiedzialny i w którym momencie ma być zrobione.

Poza tym w naszym przypadku nie było to wszystko takie proste, ponieważ integracja ze sklepami internetowymi, integracja sklepów internetowych z programem sprzedażowym, odbywa się na dwóch integratorach, dwóch kompletnie innych firm, więc tak naprawdę w momencie przepięcia serwera, musiałem mieć w pogotowiu Mirka, Szymona, czyli zespół Convertis z jednej strony, z drugiej strony osoby odpowiedzialne z tych dwóch firm, które tworzyły integrację, ponieważ w każdej chwili mogło się coś wydarzyć i się wydarzało. Nie poszło to wszystko tak bezproblemowo, więc organizacyjnie musiałem spiąć wszystkie osoby do kupy, żeby w jednym czasie były pod ręką, gdyby był jakiś pożar.

Grzegorz: A z waszej strony, Mirek, Szymon?

Mirek: Te rozmowy gdzieś tam sobie trwały, ale na takiej zasadzie, że musimy to mieć z tyłu głowy i w końcu to pchnąć, żeby to się wydarzyło. Takie poważniejsze rozmowy zaczęliśmy na początku 2020 roku albo pod koniec 2019 roku. To zaczęło się oczywiście, od analizy, czyli sprawdziliśmy, co jest na tym serwerze, co tam się jeszcze dzieje, jakie są obecne koszty.

Pytałem Pawła, jak wygląda umowa, jakie mamy możliwości zmiany, żeby w miarę gładko to przeszło, żeby nie było momentów przestoju, więc te wszystkie rzeczy trzeba było dopracować i tak naprawdę dostaliśmy zielone światło na realizację tego tematu, po takiej wstępnej analizie, przemyśleniu, jakie są możliwości serwerowe w lutym tego roku i wtedy mieliśmy zacząć przygotowania. Byliśmy już w trakcie ustaleń z adminem nowego serwera, ale wtedy wydarzył się Covid i w połowie marca zawiesiliśmy to zielone światło, i musieliśmy czekać.
Ponownie wróciliśmy do tematu za kolejny miesiąc, czy dwa, dlatego ten proces tyle trwał. Nie chodziło nawet o takie rzeczy jak przepięcia, tylko o rzeczy dokoła organizacyjno – decyzyjne.

Grzegorz: Tak, bo jeśli mamy serwer, który ma 8 lat, to w sumie nikt nie pamięta, co tam jest poustawiane i jak, które usługi działają, a które nie. Tak, jak tutaj Paweł: mówił są dwa integratory, skrzynki mailowe, różne inne systemy, które działają, które kiedyś załączono i często nie ma spisu, co tam jest włączone. Bez analizy i przejrzenia tego wszystkiego, może się okazać, że przenieśliśmy, ale połowa rzeczy nie działa. Szymon, coś byś do tego dorzucił?

Szymon: Z mojej strony, jeżeli chodzi od strony programistycznej tych wszystkich procesów, które tam były tworzone przez nas, to trochę przez to, że musieliśmy wszystko na tym serwerze tak zabezpieczać, to spodziewałem się, że będzie to działać na nowym serwerze, z tym że z dodatkowymi ograniczeniami. Pewnie czeka nas jeszcze przerobienie tych wszystkich procesów tak, aby działały optymalnie, żeby nie zabierały niepotrzebnie dodatkowego czasu, czy mocy obliczeniowej serwera. To, co już jest za nami od strony programistycznej, nie były jakimś wielkim wyzwaniem, bardziej od strony koordynacyjnej.

Grzegorz: Tak, zanim przejdziemy do tego, jak to zostało przeprowadzone, zwrócę jeszcze uwagę, że najpierw zrobiliśmy analizę, co mamy do przeniesienia, jakie funkcje, jakie procesy i co warto to sprawdzić.

Dodatkowo przygotowaliśmy wszystkich partnerów, którzy są potrzebni, żeby wszystko działało sprawnie. Tak, jak Paweł: powiedział, pewne rzeczy nie poszły tak gładko. Jednak dlatego, że wszyscy wiedzieli, że tego dnia przenosimy serwer, byli gotowi szybko zareagować i szybko rozwiązać problem.

Zanim dalej przejdę, to tak się zastanawiam, jak wybraliście nowy serwer, czym się kierowaliście? Bo wiemy, że stary serwer nie działa dział. Jak wybieraliście nowy?

Jak wybrać serwer dla sklepu internetowego?

Paweł: Jak najłatwiej wybrać serwer? Zadzwonić do Convertisu!

Grzegorz: I co, udało się, wybraliśmy dobry?

Paweł: Tak naprawdę nigdy w życiu nie zaryzykowałbym wybrania serwera, szukając w Internecie. To była konsultacja z Mirkiem, ponieważ ja się technicznie na tych rzeczach aż tak nie znam, więc mi jest wszystko jedno, jaki to będzie serwer. Ten serwer ma być dobry dla Was, bo Wy na nim pracujecie.

Szymon najbardziej by narzekał, gdybyśmy wybrali coś, co nie będzie dobrze działać, więc tak naprawdę kwestię wyboru, zostawiłem Mirkowi. Rzuciłem hasło “znajdźcie coś, co jest dobre, co testowaliście, co używacie i nie będziecie narzekać, że zmieniliśmy serwer, a nie ma poprawy.”

Grzegorz: A Mirek przyszedł z propozycją, że tu jest serwer za milion monet, czy jednak nie?

Mirek: My mamy do czynienia z bardzo dużą ilością dostawców serwerowych. Często jest tak, że każdy klient przychodzi ze swoim. To są przeróżne konfiguracje VPS-y, hostingi może rzadziej, ale serwery dedykowane, jakieś bardziej już chmurowo skalowane się gdzieś zdarzały. Dużo tego przerabiamy. To, czego już się nauczyliśmy, to jest to, że nie ma idealnego serwera. Nie ma tak, że my znajdziemy serwer, który spełni wszystkie nasze potrzeby zawsze i wszędzie i to jeszcze najlepiej w bardzo korzystnej cenie, najlepszej na rynku. Zawsze będzie jakiś minus.

Wyszliśmy z takiego założenia, że mamy kilka serwerów, z którymi lepiej współpracujemy, znamy, jakie są realia pracy z nimi, wiemy, jakie są minusy ich i mniej więcej umiemy sobie z tym radzić, nawet od strony koordynacyjnej, komunikacyjnej. Z tego wybraliśmy trzy, które naszym zdaniem są akceptowalne. Powiedzieliśmy Pawłowi trzy, czy dwa, że to są nasze rekomendację, rzeczy, które znamy i uważamy, że nie będzie tragedii, że będziemy mogli na tym działać, podporządkować pod siebie pewne ustawienia, konfiguracje i że to przyniesie nam korzyści. Biorąc pod uwagę nasze doświadczenie, stwierdziliśmy, że w ten sposób podejmiemy tę decyzję.

Grzegorz: Czyli z jednej strony opieraliśmy się o to, co znamy. A jakbyście mieli powiedzieć takiemu człowiekowi, który ma sklep i nie ma takiego wsparcia, jak nasze, to jak byście podeszli do tematu, macie jakieś sugestie dla takich osób?

Mirek: Jeżeli pada pytanie od osoby, która totalnie nie zna tematu i chciałaby się zastanowić, na czym postawić swój sklep, to jest zbyt szerokie pytanie. Bardziej podobne do tego, jaki samochód powinienem sobie kupić? Odpowiedź brzmi, a jaki masz budżet, co chcesz osiągnąć, gdzie chcesz nim jeździć? Tak samo tutaj, jeśli jest ktoś, kto chce postawić swój pierwszy w życiu sklep na jakiejś tam platformie open sourcowej, bezpłatnej typu PrestaShop, czy nawet kupując licencję w SoteShop, to pytanie jest, jak bardzo się na tym znasz, jak duży ruch przewidujesz, jak bardzo chcesz się tym zajmować?

Możliwe, że jeżeli nie masz w ogóle żadnego wsparcia, to skup się na jakiejś platformie typu SAS, gdzie ktoś daje Ci serwer i Ty nawet nie wiesz, że ten serwer istnieje, natomiast jeśli chcesz się sam tym zajmować, to musisz zrozumieć, że jest hosting, w którym jest jedna duża maszyna, do której podpięci są różni klienci i wtedy im więcej ktoś korzysta, tym dla Ciebie jest mniej. Jest to stosunkowo tanie, jest to bezobsługowe, ale też mało elastyczne.

Są serwery dedykowane, gdzie masz pełną maszynę, która jest skonfigurowana tak, jak sobie tego życzysz, ma odpowiednią ilość RAM-u, ma jakiś procesor itd. ale wymaga pełnego zarządzania, administratora, który się będzie tym zajmował. Nie na cały etat, ale jednak w jakimś wymiarze godzin miesięcznie.

Mamy opcję pośrednią, czyli wirtualne VPS-y, które gdzieś tam próbują łączyć te zasady. Jeżeli ktoś chce się w tym odnaleźć, to powinien zacząć od tego, żeby wziąć minimum, które będzie dla niego wystarczające. Jeżeli to już jest sklep z w miarę istniejącym ruchem, skłaniamy się raczej, żeby te hostingi może niekoniecznie, chyba że jakieś bardzo przygotowane i dla niedużej skali. Zacząć od VPS-a, zobaczyć, jak to wygląda i później ewentualnie przechodzić wyżej.

Tak naprawdę dochodzimy do tego, że trzeba przerobić kilka, kilkanaście, żeby wiedzieć. Można poczytać opinie w Internecie, są grupy, gdzie ludzie rozmawiają o sklepach, technicznie, czyli e-commercowo i co chwila przewija się pytanie, jaki serwer. Wtedy pada 10-15 nazw powtarzalnych, głównych dostawców, mniejszych lub większych i generalnie opinie się powtarzają, że ten jest dobry, ten jest niedobry. Czasem okazuje się, że duża firma przejmuje małą i nagle ta mała traci już na jakości, bo duża firma ucięła połowę zespołu. To się zmienia, to nie jest statyczna sytuacja. Serwer wybrany dzisiaj za dwa lata może być do zmiany, ale ta zmiana też jest do wykonania.

Grzegorz: Tutaj Mirek powiedział o skomplikowaniu.

„Ja przy wyborze serwera mam taką złotą radę. Nie brać największych dostawców, bo niestety jakość obsługi jest tam bardzo mała. Mieliśmy z tym do czynienia właśnie przy sklepach Pawła. Z drugiej strony wziąć sobie te najbardziej polecane – niezbyt duże, ale też nie najmniejsze, bo musi być pewna skala, żeby mieć wsparcie i żeby procesy, wewnątrz takiej firmy były dobrze poustawiane.”

W tych najmniejszych często nie można zgłaszać błędów w nocy, albo w weekendy. Szczególnie jeśli się ma VPS-a, albo serwer dedykowany.

Jeśli mamy serwer dedykowany, to warto też wziąć wsparcie takiego dedykowanego admina, np. na naszym serwerze kosztuje to około 300 złotych dodatkowo miesięcznie, a ma się święty spokój, bo o każdej godzinie dnia i nocy można do nich napisać i oni zareagują. Bez tego będzie ciężko.

Jak przygotować sklep internetowy na zmianę serwera?

To było odnośnie, jak wybierać nowy serwer, ale wracając do naszego przenoszenia, chciałem Wam o tym opowiedzieć drodzy słuchacze, bo to jest ciekawe. To nie jest taki prosty proces, ale możecie na tym przykładzie zobaczyć, o co należy zadbać. Już Mirek powiedział, że trzeba zrobić analizę, co trzeba przenieść i jak i do tego się przygotowaliśmy. Przygotowaliśmy ludzi na konkretną datę, co jeszcze zostało zrobione przy przygotowaniu?

Paweł: Oczyściliśmy stary serwer przede wszystkim z niepotrzebnych plików. Przy wyborze serwera wahaliśmy się pomiędzy dwoma taryfami, czyli wielkością abonamentu. Nie wiele nam zabrakło do tego mniejszego, niższego, czyli tańszego abonamentu, aczkolwiek liczymy, że będziemy się rozwijać i pracować w górę, a nie w dół, więc zawsze jakiś zapas musi być, ale na pewno zmiana serwera spowodowała, że rzeczywiście ja i Mirek przesiedliśmy i wyczyściliśmy totalnie z niepotrzebnych rzeczy zalegających, starych produktów, które od 2012 roku siedziały niepotrzebnie na serwerze.

Grzegorz: Czyli taka Stajnia Augiasza? Współczuję Wam, dobrze, że to nie padło na mnie. Czy coś jeszcze w dniu przygotowania?

Mirek: Co do przygotowania, to na pewno to, kto bierze w tym udział, to już mówiłeś, ale później we współpracy z adminem, to przede wszystkim przemyślenie tej idei, przekazanie adminowi wszystkich dostępów, opisanie mu struktury, bo admin, przychodząc nie wie, co się tam dzieje, więc musi dostać te informacje.

Grzegorz: Mówimy o adminie serwera, tak?

Mirek: O adminie nowego serwera, który jednocześnie bierze udział w przenoszeniu, który jest częścią procesu przenoszenia, więc po pierwsze on musi dostać wszystkie dostępy, czy do FTP-ów, czy SSH. Do tych wszystkich usług, które są niezbędne, żeby te wszystkie dane przenieść.

Trzeba ustalić szczegóły, czyli ten proces przeniesienia. To, o czym teraz my mówimy tak ogólnie, musi być dość szczegółowo wyjaśnione, żeby każdy wiedział, kto, od kogo, czego ma się spodziewać, kiedy i jakie ryzyka, przynajmniej te znane mogą wystąpić w różnych sytuacjach. Ułożenie idei tego. To, że np. słusznie Szymon zawnioskował, bo mówimy o przepięciu serwera. Możemy mówić o przepięciu domeny, czyli o tym momencie, w którym domena ma już wskazywać na nowy serwer, bo migracja plików nie nastąpiła jednego dnia w momencie “x”, tylko następowała wcześniej po to, żeby później można było na tym nowym serwerze testować sklepy, a dopiero na samym końcu następuje ten pstryk, czyli moment, w którym nakazujemy domenie, żeby kierowała już na nowy serwer.

Ten proces trzeba bardzo dokładnie przemyśleć, który sklep, kiedy, czy wszystkie, czy każdy po kolei, w jakiej kolejności, na jakiej zasadzie, co z pocztą? Zaraz możemy sobie o tym jeszcze więcej powiedzieć, ale cały ten proces musi być dokładnie omówiony właśnie z adminem, razem z nami, z naszym zespołem, z Pawłem i po boku razem z opiekunami od integratorów. To jest bardzo delikatna kwestia, żeby to dobrze przemyśleć na początku.

Co może pójść nie tak przy zmianie serwera?

Grzegorz: I co, wszystko wyszło?

Mirek: Oczywiście, że nie! To znaczy, wszystko wyszło, ale nie, że tak powiem bez czkawek, co jest naturalne, natomiast może co wyszło?

Wyszło to, że udało się nam przenieść te dane stosunkowo niskim czasem niedostępności, zwłaszcza dla tych ważnych sklepów, bo mieliśmy szczęście, że jeden ze sklepów był prawie, że „testowy”. Tam jest bardzo mało zamówień, on jest trochę poboczny i mogliśmy go potraktować, jako testowy, więc to wyszło.

Najważniejsze to, co się udało, to jest to, że mimo że w międzyczasie pojawił się urlop Pawła, kiedy mieliśmy moment, że Paweł: dzwoni “chłopaki, czy to na pewno się uda, bo ja już w sobotę jadę na urlop, a dzisiaj jest środa?”, my odpowiadaliśmy, że się uda. Wtedy był stres, ciśnienie każdej ze stron i w piątek finalnie już po testach okazało się, że wszystko zostało zrobione i Paweł mógł spokojnie zacząć urlop…

Paweł: Tak, pamiętam, jak dziś, że prawie wychodząc z firmy zostawiłem Mirka jeszcze z tematem nieprzepisujących się zamówień do jednego ze sklepów. Dosłownie oni byli jeszcze w trakcie drążenia tematu, dlaczego te zamówienia nie schodzą. Wszystko już działało, nie przepisywały się jeszcze zamówienia do naszego systemu sprzedażowego i wychodząc już do domu, miałem świadomość w głowie, że zostawiam z tym Mirka i na pewno będziemy w kontakcie wieczorem, czy na pewno się to uda jeszcze zrobić. Za chwile zaglądam do komputera – poszło! Dosłownie do godziny 16 w piątek, do ostatniego dnia mojej pracy wszystko zapięliśmy na ostatni guzik.

Grzegorz: Właśnie, ale pojechałeś na ten urlop w końcu?

Paweł: Tak jest!

Grzegorz: Dobrze i miałeś spokój?

Paweł: Jeszcze wspomnę o tym, bo zaplanowane mieliśmy to bardzo dobrze. Zaczęliśmy ten temat w poniedziałek, ale tak naprawdę o ile dobrze pamiętam, to chyba do środy Mirek, był problem z tym, że stary serwer nie wpuszczał plików jednego ze sklepów, że były jakieś problemy z przeniesieniem tych wszystkich danych i poczty. Później poczty, ale wcześniej danych sklepu, więc tak naprawdę ten stary serwer zabrał nam trochę czasu niepotrzebnego, który efektywnie by się przydał na pracę, a nie na sprawdzanie, dlaczego serwer nie chce wypuścić danych.

Mirek: I to jest odpowiedź na pytanie, co może nie do końca poszło. W trakcie tej pracy ja miałem takie poczucie, może zaraz Szymon powie, czy też tak miał, ale ja miałem takie wrażenie, jakby ten stary serwer jeszcze chciał się zemścić na nas do końca.

Najpierw było tak, że admin nowego serwera postępując generalnie zgodnie ze sztuką, przenosił sobie te dane, ale stary serwer zrywał połączenia, nie pozwalał mu przenieść wszystkiego. My dostaliśmy sklep do testów i okazuje się, że nie do końca działało, bo nie wszystkie dane dokładnie się przeniosły. Dopiero potem udało się to zweryfikować.

Później, co jeszcze przedłużyło, to okazało się, że stary serwer migrował sobie konta klientów z jednego panelu do drugiego, więc mieliśmy sytuację dualizmu. Część rzeczy była w starym panelu, część w nowym. My wykonując najzwyczajniej w świecie czynność propagacji domeny, okazało się, że się nie da, jest jakiś błąd. Wyglądało, że działa, ale nie działa. Dopiero znowu kontakt z adminem starego serwera z supportem sprawił, że “aha, dobra, to dlatego, że mamy dwa panele, wy tego nie jesteście w stanie zrobić, to u nas musi to zrobić ekspert, poczekajcie dwie godziny”. Takie małe kroczki poskładało się nam do tego, że ten czas nam się bardzo przesunął. Dużo było takich “kwiatków”.

Grzegorz: Takie “kwiatki”, szczególiki, które mają wpływ na to, czy uda się przełączyć bezproblemowo, żeby jak najkrócej klienci nie mieli dostępu do serwera, czy nie ma. Co Was tam jeszcze zaskoczyło? Szymon, Ciebie coś jeszcze zaskoczyło?

Szymon: Nie zaskoczyło, powiedziałbym tak, że ten stary serwer zachowywał się tak, jak przez ostatnie 8 lat.

Nowy serwer dla sklepu internetowego – co może cię zaskoczyć?

Grzegorz: W takim razie, co Was zaskoczyło z nowego serwera?

Paweł: Zaskoczyło mnie mnóstwo blokad. Przepiliśmy sklep i nagle okazało się, że mnóstwo rzeczy nie działa, ponieważ ten serwer jest tak zabezpieczony, tak ja to odbieram, pewnie chłopaki mnie zaraz poprawią.

Miałem wrażenie, że jest tak zabezpieczony, że nikt się do niego nie dostanie w żaden sposób, dopóki się na to nie pozwoli. Posypały się wszystkie integratory, dosłownie wszystko i każdą rzecz po kolei trzeba było ustawiać na serwerze zielone światło dla adresu IP, żeby cokolwiek zaczęło działać. Jak dostaliśmy ten surowy serwer, to posypała się cała integracja i nic nie działało.

Jak się przygotować na potencjalne problemy przy przenoszeniu sklepu na nowy serwer?

Grzegorz: To Mirek nie przemyśleliście tego, jak to jest?

Mirek: Bardzo dobre pytanie zaczepne! Dla mnie z tych wszystkich problemów, o których Paweł: mówił, to najciekawszy jest jeden, bo jeśli chodzi o to, czy nie przemyśleliście, czy przemyśleliście, to wiadomo było, że jeśli zmienimy serwer, to integratory, które łączą się po IP, to trzeba będzie zmienić im to IP. Naturalne było, że to się wysypie i trzeba będzie to zaraz poprawić.

Okazało się, że na tym nowym serwerze, jak Paweł: słusznie zauważył, jeden z portów, po którym się łączy, któryś tam integrator, dodatkowo był wyłączony, trzeba go było włączyć.

„To są naturalne sytuacje i to „posypanie” było naturalne i musiało wystąpić. Po prostu wiedzieliśmy, że już serwer się przełączył, domena wskazuje już na nowy serwer, więc musimy wszystko po przepinać i po odblokowywać różne ustawienia tak, żeby miało to szansę działać. Jeżeli ktoś uważa, że jest w stanie wszystko przewidzieć, to na pewno się myli.”

Przykładem, który to najlepiej obrazuje, to jest drukarka Pawła. Paweł: pisze do nas “słuchajcie, bo ja miałem drukarkę, która mi skany wysyła na maila, a teraz po zmianie serwera nie wysyła”. Nikt w toku rozmów nie zapytał, czy przypadkiem w firmie nie ma drukarki, która w jakiś sposób będzie chciała się połączyć. To, co się okazało, to skaner, fizyczne urządzenie z tego, co widziałem w ticketach od admina, używał starych protokołów TLS. Teraz już są nowsze, należy stosować te nowsze i serwer ma to uwzględnione, a skaner używał starych. Nie wiem, czy ktoś byłby w stanie to przewidzieć. Trzeba by było przeanalizować każdy mikro szczegół całej firmy, natomiast nie są to takie rzeczy, które posypały całe działanie, tylko uciążliwość, którą trzeba było w ciągu kilku godzin, czy jednego dnia załatwić.

To są te “kwiatki”, które zawsze mają miejsce, dlatego zaplanowanie, to jest jedno.

„Jedna z lekcji, którą zawsze wyciągam, czy z tego przeniesienia, czy z innych, jest taka, że po prostu musisz być gotowy na to, że coś się wydarzy, coś, o czym nie masz pojęcia. I musisz szybko na to zareagować.”

To, co wiesz, że się wydarzy tak, jak te integratory, to było oczywiste, ale zawsze wydarzy się coś, o czym nie masz pojęcia, więc jedyne, co można przyjąć w takich sytuacjach, to po prostu trzeba mieć gotowość do zareagowania. Być gotowym, żeby podjąć działanie, jeśli to coś się wydarzy, czyli wiadomo, kto, za co odpowiada, do kogo, gdzie jest kontakt, co się ma wydarzyć, jakie są skutki, co naprawiać natychmiast, co za chwilę, co ma jakie ryzyko dla klienta i co ma jakie skutki, bo nigdy nie przewidzimy wszystkiego. Okaże się, chociażby że stary serwer ma dziwny panel, czego nikt nie miał szans wiedzieć, bo to było wewnątrz ich ustawień, czego nawet nie wiemy, albo drukarka używa starych protokołów, której to drukarki nigdy na oczy nie widzieliśmy, co więcej nawet nie wiedziałem, że Paweł: ma coś takiego, że wysyła na maila sobie skany.

Jak dobrze zaplanować proces migracji sklepu na nowy serwer?

Grzegorz: Paweł, a jak to wyglądało z Twojej strony, co byś w przyszłości poprawił, co Ci doskwierało?

Paweł: Co bym poprawił, jakbym przepinał jeszcze raz serwer? Termin urlopu!

Grzegorz: Rozumiem, że miałeś duży stres?

Paweł: Tak Grzegorz, stres był, zresztą wiesz, że ja nie mam tutaj nikogo, kto może za mnie to wszystko spiąć do kupy, bo zespół składa się tylko z dziewcząt, które zajmują się tylko obsługą klientów sklepu internetowego, więc tak naprawdę nie wyobrażam sobie tego, że miałbym zostawić tutaj sklepy internetowe w trakcie przepięcia serwerów i pójść na urlop. Po prostu musieliśmy to zrobić. Jestem pełen podziwu optymizmu Mirka, który w czwartek do mnie mówi “przecież wszystko jest zgodnie z planem, nic się nie bój”, a tu połowa rzeczy była jeszcze w trakcie przepięcia.

Grzegorz: Rozumiem, że te opóźnienia przepięcia były związane z tymi problemami przy przenoszeniu plików, tak? To miało być wcześniej zrobione.

Paweł: Tak, to całe opóźnienie spowodował nam ten stary serwer, który nie pozwalał, zrywał połączenia. Tak, jak Mirek wspomniał, nie pozwalał tego przenieść, bo podejrzewam, że zakończylibyśmy na spokojnie w czwartek, bez żadnej czkawki, bez żadnego problemu.

Grzegorz: Tak, a trzeba tutaj powiedzieć, że Paweł: szedł na urlop, a jak Paweł: wracał z urlopu, zaczynał się już wysoki sezon i jakbyśmy wtedy tego nie przepieli, to musielibyśmy zacząć w listopadzie, grudniu.

Paweł: Tak, odłożylibyśmy to do października.

Grzegorz: I znowu byłyby problemy w szczycie sezonu, a z drugiej strony, trzeba by było znowu całą robotę zacząć od zera, dobrze mówię?

Paweł: Dokładnie!

Grzegorz: Szymon, a Ty byś coś zmienił, poprawił, uwzględniłbyś coś w tym, co robiliście?

Szymon: Myślę, że bym jednak podzielił pracę. Wyszło w sumie na to, że administrator nowego serwera wziął na siebie zarówno przeniesienie sklepów, jak i skrzynek pocztowych. Niestety nie znając specyfiki tego starego serwera, tych problemów robił to tak, jak zazwyczaj się to robi w firmach hostingowych, czyli uruchomił proces, który miał zsynchronizować źródła na starym serwerze i na nowym. Niestety te źródła chyba mu się niepoprawnie zsynchronizowały, później uruchamiał proces, który miał to dosynchronizować i tam też miał problemy. Na końcu doszliśmy do wniosku, że może trzeba było jednak to podzielić i zostawić administratorowi przeniesienie poczty i konfigurowanie serwera, natomiast przeniesienie samych sklepów zostawić nam tak, żebyśmy sobie np. jeden sklep dziennie przenosili i może w sumie poszłoby to sprawniej.

Sprawniej z tego względu, że i tak musieliśmy potwierdzić, że te sklepy są przeniesione poprawnie, natomiast nie do końca znając metody, jakimi administrator to robił, nie wiedzieliśmy, na co szczególnie zwrócić uwagę, a system kontaktu z administratorem – ticketowy ma ten minus, że każde zapytanie, to jest wysłanie pytania i czekanie na odpowiedź. Przez to też się to w pewnym stopniu przedłużało. Myślę, że jednak jakbyśmy drugi raz do tego podchodzili, to jednak przeniesienie baz danych i samych silników sklepów wzięlibyśmy na siebie i to by chyba przyspieszyło cały proces.

Grzegorz: Z tego, co słyszę, to były tutaj dwa problemy. Ten system ticketowy, czyli że wysyłamy maile z zapytaniem i później czekamy na odpowiedź. Nie było bezpośredniego kontaktu, czyli telefonu i drugie, że Szymon, który dość długo pracuje na tym sklepie, znał specyfikę serwera i innych rzeczy, i łatwiej było mu to przenieść. To, czemu zdecydowaliśmy się na to, żeby robił to jednak admin nowego sklepu?

Mirek: Przede wszystkim dlatego, że admin sam tego chciał, bo wiedzieli, że od razu będą konfigurować pewne rzeczy po swojej stronie i to też miało swoje plusy.

Inna rzecz, że cała usługa przeniesienia była elementem nabycia nowego serwera, czyli była wliczona w cenę i admin powiedział, że oni się tym zajmą. De facto nie popełnili oni jakiegoś błędu, tylko ta specyfika wywołała trochę czkawki. Być może tak jak Szymon zauważył, problemem był utrudniony kontakt telefoniczny, bo i tak w pewnym momencie już wymusiłem kontakt telefoniczny, natomiast admini w tej nowej firmie, działając resztą zgodnie z pewnymi zasadami, powiedzieli, że nie przekazują telefonów do siebie, ewentualnie można zostawić telefon, to oni zadzwonią.

Ja w końcu powiedziałem, że to już nie ma sensu to ticketowanie się nawzajem i zdzwanialiśmy się, żeby ustalić, co i jak, natomiast tylko oni byli inicjatorem kontaktu.

„Gdybym miał wyciągnąć z tego lekcję, taką organizacyjną z tego przenoszenia, to na pewno nie zgodziłbym się już na przenoszenie, jeśli nie mam bezpośredniego kontaktu, choćby w tym jednym dniu.”

Ja rozumiem, że admin nie chce odbierać telefonów w trakcie, tak jak my również nie dajemy telefonów bezpośrednio do programistów, tylko bardziej do nas koordynatorów. Te tickety są wygodne i wymuszają pewną formę komunikacji, dokładność, natomiast na moment takiej pracy, to ten kontakt jest niezbędny, żeby ad hoc zadzwonić i w dwie minuty coś wyjaśnić, a nie napisać ticketa i potem czekać piętnaście minut, aż ktoś odpisze, a on zada pytanie, my odpiszemy za kolejne pół godziny. Do było spore utrudnienie.

Grzegorz: Tak, taki jest system działania w większości takich serwerów i na to trzeba zwrócić uwagę. Szymon doszedł do wniosku, że lepiej jakbyśmy to my, to przenosili, ale czasami warto oddać to administratorowi.

Trzeba wziąć to pod uwagę, że to była bardzo wyjątkowa sytuacja i skomplikowany serwer ośmioletni, z wieloma systemami, z trzema sklepami, integratorami itd.

Z drugiej strony urlop i nie tylko. Paweł – ja dostałem w piątek od Ciebie maila z gratulacjami i podziękowaniami dla zespołu, tak było dobrze? Przecież cały czas tutaj narzekaliście. ..

Paweł: Kto narzekał? Nikt nie narzekał! Grzegorz, ja jestem do tego przyzwyczajony. Przepięcie serwera może jest pierwsze, które przeszedłem, ale jestem tutaj od początku, od stawiania pierwszego sklepu internetowego, potem pojawił się drugi sklep, teraz trzeci, więc takich wdrożeń większych, mniejszych, zmiany grafiki, czy mnóstwa innych rzeczy, integracji z nowym modułem do integracji sprzedaży, przeszedłem tutaj kilkanaście, może kilkadziesiąt, więc wiem, że zawsze są problemy mniejsze, większe.

„Ja się nie boję pod warunkiem, że mam pod ręką zespół, który mi pomoże sprostać wyzwaniu. To, co powiedzieliśmy na początku. Najważniejsze w tym wszystkim jest to, żeby tak koordynować wszystkie działania, że jeśli coś się nie wyjdzie, to będzie ktoś, kto to naprawi .”

Grzegorz: Podsumowując całe to przenoszenie, to Paweł – powiedz mi, jak pomogła Ci współpraca z takim partnerem technologicznym, jak my? Zrobiłbyś to sam, czy nie zrobił, co było tu dla Ciebie kluczowe?

Paweł: Sam bym nic nie zrobił, bo nawet nie wybrałbym sam serwera. Mógłbym sobie po omacku biegać po Internecie i szukać ten lepszy, ten gorszy, przewertować różne fora i nie być pewnym, czy to jest dobra decyzja. Po drugie, jesteśmy na takim poziomie tych sklepów internetowych i one są tak rozbudowane przez te lata, że pomimo tego, że są to platformy Sote, to chyba Szymon może przyznać mi rację, że niewiele tam zostało z platformy Sote, tylko jest to twór Szymona i może jakichś innych osób. Nie wydaje mi się, że technicznie ktoś by to ogarnął, żeby zmienił ten serwer przy takich zmianach, które są dokonane w sklepach.

Dla mnie byłoby to nieporozumieniem, bo nie wierzę, że ktoś by dał z tym radę. To znaczy, Wy tworzyliście te sklepy, Szymon i być może ktoś jeszcze od samego początku i to Wy jesteście w stanie zwrócić na wszystko uwagę i spiąć to do kupy, tak jak było. Jeżeli ktoś obcy, nawet programista włożyłby tam paluszki i chciałby to zrobić, to zabrakłoby mu chyba dni, żeby dojść, co z czym się je, zanim by to wszystko spiął do kupy i skoordynował.

Grzegorz: W tym ciężkim okresie, w ostatnim tygodniu, patrząc na to, że te różne hocki-klocki występowały, to jak spisał się wtedy Convertis? Mówię otwarcie, robię tutaj reklamę.

Paweł: Możesz na koniec tego podcastu wyświetlić mojego maila i będziesz miał odpowiedź, jak spisał się Convertis.

Grzegorz: Tak?

Paweł: Mojego maila z podziękowaniami za waszą tygodniową ciężką pracę.

Grzegorz: Tak, dostałem i miałem uśmiech od ucha do ucha. Może go na koniec przeczytam… Ja też dziękuję Ci za zaufanie, że tyle lat z nami jesteś i że potrafimy to razem ciągnąć i sobie wzajemnie zaufać, bo myślę, że duże znaczenie miało tutaj wzajemne zaufanie i to, że możemy na sobie polegać.

Chciałem tutaj zwrócić tutaj uwagę, że właśnie taki solidny partner, jest potrzebny, żeby pilnować innych partnerów i to często jest naszą rolą. Z tego, co Mirek mi opowiadał, to my pilnowaliśmy wszystkich integratorów, nowego admina i starego. Pomimo to, że wybraliśmy ten serwer, który jak słyszycie, nie jest idealny i ta komunikacja nas trochę zaskoczyła, że ta firma nie była elastyczna, żeby udostępnić nam ten kontakt, coś się udało, bo Mirek jednak wywalczył . Myślę, że każdy admin boi się dawać numery telefonów, bo później klienci dzwonią cały czas, jak to w sklepach internetowych. Też się tak dzieje, że jest dużo telefonów, od różnych klientów, którzy mają różne problemy i nie można się zająć pracą. Ja to stuprocentowo rozumiem, natomiast są też sytuacje wyjątkowe i z tego powodu, my też mamy różne zasady wewnątrz Convertis. Akurat z Pawłem się świetnie rozumiemy i wie, kiedy można zadzwonić, a kiedy warto napisać e-mail.

Warto było przenosić, czy nie było warto przenosić serwera po całym tym zajściu?

Paweł: Na pewno warto, bo gdzieś z tyłu głowy siedzą te tematy, które były niemożliwe do zrobienia. O ile dobrze pamiętam, to był temat Allegro, który na starym serwerze był niewykonalny. Drugi temat, o którym pamiętam, i jesteśmy w trakcie wdrażania, to budowanie filtrów od początku w naszych sklepach internetowych, które będą pozwalały na podlinkowanie takiego filtra, czyli po założeniu filtra będzie można wysłać link, co jest w tej chwili niemożliwe i o ile dobrze pamiętam, to Szymon przyłożył się do tematu, utknął i powiedział, że na starym serwerze nie da rady, nie jest to do zrobienia.

To, żeby to zmienić, to może nie było zło konieczne. Ale…

„…żeby się rozwijać, to musimy iść do przodu i nie możemy pracować na maszynie, która po pierwsze w stu procentach nie działa, a po drugie nie pozwala na tworzenie nowych technologii, nowych modułów, nowych rozwiązań.”

Byłoby bez sensu siedzieć w tym dalej i wydaje mi się, że to była ostatnia szansa, żeby to zrobić.

Grzegorz: To dobrze, że wszyscy wykorzystaliśmy tę ostatnią szansę. Paweł – ja Ci bardzo dziękuję, za uczestniczenie w tej rozmowie. Szymon, Mirek Wam też dziękuję za zabranie głosu, bo ja bym lepiej tego nie opisał i cieszę się, że mogliśmy o tym podyskutować.

Mam nadzieję, że ta rozmowa pomoże Wam zrozumieć drodzy słuchacze, jakie wyzwania mogą być przed firmą technologiczną, ale też przy przenoszeniu serwera. Ten przypadek to był akurat bardzo skomplikowany przykład, gdzie mogło wydarzyć się wiele różnych rzeczy.

Większość przeniesień jest dużo prostszych i taki administrator serwera powinien dać radę bez większych problemów, ale musicie być gotowi, że mogą wyniknąć tam różne niespodzianki po drodze i trzeba to sprawdzić.

Powinien być ktoś, kto to zweryfikuje. W tej sytuacji to my pełniliśmy tą rolę. To my sprawdzaliśmy administratorów i pilnowaliśmy, żeby to szło. Jeśli robicie to sami i macie zaufanego administratora, to Wy musicie przetestować to i sprawdzić, bo zawsze może coś tam i warto być przygotowanym na różne scenariusze. Jeszcze raz dziękuję Wam wszystkim i do usłyszenia! Mirek, Szymon i Paweł –  Dzięki!

I to już koniec! Jak wrażenia po przesłuchaniu, czy takie studium przypadku jest dla Ciebie interesujące? Napisz do mnie i podziel się, bo zamierzam dawać ich więcej, niekoniecznie naszych Convertisowych. Chyba najlepiej się uczyć na błędach innych, co? A jeśli taka technologiczna wiedza przypadła Ci do gustu posłuchaj 17 odcinka podcastu, w którym rozmawiam z Marcinem Maciocha o tym dlaczego PrestaShop nie jest dla wszystkich.

Do usłyszenia, cześć!

Śledź mnie na:

15 września 2020 | Tagi: , , , , , , , , , ,

Grzegorz Frątczak

Jego przygoda z eCommerce zaczęła się w 2010 od zbudowania start-upu, który zdobył 20 000 użytkowników. Doświadczony menedżer z dyplomem MBA, coach, a obecnie przede wszystkim przewodnik po ecommerce dla klientów Convertis. W Convertis odpowiada za sprzedaż, marketing i zarządzanie firmą.

UX expert | Strateg | Sprzedawca