O kliencie
Arena.pl to jedna z największych platform e-commerce w Polsce – w 2020 roku platforma znalazła się na 20. miejscu w rankingu polskiego e-commerce według magazynu Forbes.
Arena.pl oferuje przestrzeń dla sprzedawców-przedsiębiorców – obecnie zarejestrowanych jest około 6 tys. sklepów, proponujących w sumie ponad 3 miliony nowych produktów. Miesięcznie platformę odwiedza ponad 400 tys. unikalnych użytkowników, a zakupu dokonuje 10 tys. do 25 tys. użytkowników. Ponieważ na arena.pl można kupić produkty z każdego sektora, platforma odnotowuje duże wahania ruchu spowodowane sezonowością lub zmieniającymi się trendami zakupowymi.
Oprócz samej platformy sprzedażowej, arena.pl rozwija też narzędzia dla sprzedawców wspierające m.in. analitykę czy prowadzenie działań promocyjnych.
Za rozwój technologiczny platformy odpowiada Kamil Bednarek – Dyrektor IT. W działaniach wspiera go między innymi Maciej Wachowski – IT Support Specialist, odpowiedzialny za administrowanie i utrzymanie infrastruktury.
Współpraca między Arena.pl a FOTC rozpoczęła się w 2017 roku, początkowo przy pakiecie Google Workspace. Niedługo później rozszerzyliśmy współpracę o Google Cloud Platform.
Zależało nam na posiadaniu partnera w Polsce – jest to bardziej efektywne niż kontaktowanie się bezpośrednio z Google'em. Daje też elastyczność współpracy i wygodę rozliczeń w złotówkach. Nasz wybór, zarówno przy Google Workspace jak i przy Google Cloud Platform, padł na FOTC – to wiodący partner Google na rodzimym rynku.
Główne wyzwanie
Kamil Bednarek, Dyrektor IT w Arena.pl, widział możliwość ulepszenia platformy i zwiększenia tempa jej rozwoju. Łączyło się to z potrzebą przeprowadzenia refaktoryzacji technicznej oraz zmiany rozwiązania infrastrukturalnego.
Rozwiązanie on-premise – wysoki koszt, niska skalowalność
Dotychczas platforma Arena.pl korzystała z własnego rozwiązania infrastrukturalnego w modelu on-premise. Łączyło się to z pewnymi trudnościami w kwestii:
- kosztów utrzymania – specjaliści z zespołu IT musieli poświęcać czas nie tylko na prace rozwojowe, ale też na konserwację sprzętu; do tego dochodził stały miesięczny koszt, nawet przy niedużym natężeniu ruchu;
- skalowalności – zwiększenie przepustowości platformy wymagało zaplanowania, przygotowania i wdrożenia odpowiednich mechanizmów, przy czym konieczne było zaangażowanie w proces developerów.
Dług technologiczny wstrzymujący migrację
Negatywnym skutkiem szybkiego rozwoju platformy było zaciągnięcie długu technologicznego. Dług spowalniał dalszy rozwój oraz wstrzymywał całkowitą migrację platformy do chmury. Zespół IT, wraz z panem Kamilem, zmagał się między innymi z:
- wyborem strategii spłaty długu technologicznego, która umożliwiłaby po części refaktoryzację, a po części przepisanie systemu, nie spowalniając przy tym rozwoju platformy czy procesu migracji do chmury,
- konteneryzacją platformy – zaciągnięty dług wstrzymywał przeniesienie aplikacji do kontenerów i uruchomienie systemu w chmurze.
Nieznajomość chmury publicznej
Dla zespołu IT, dotychczas pracującego z infrastrukturą w modelu on-premise, chmura obliczeniowa była obcą technologią. Pan Kamil wskazuje, że wielu specjalistów nie miało świadomości, jakie możliwości daje Google Cloud Platform. Łączyło się to z pewnymi obawami, zespół nie był też przekonany co do (obiecywanej przez Google’a) elastyczności rozwiązania i łatwości obsługi.
Jedną z największych trudności, jakie napotkaliśmy po drodze, była nieświadomość, czym właściwie jest Google Cloud Platform i co jest w stanie zaoferować. To była dla nas zupełnie obca technologia, w którą wdrażaliśmy się stopniowo i sprawdzaliśmy jej możliwości. Ale nie ma przeszkód, które byłyby nie do przeskoczenia – również w tym przypadku.
Rozwiązanie problemu
Postanowiono całkowicie zrezygnować z rozwiązania on-premise na rzecz chmury publicznej. Zespół, dotychczas trochę nieufny wobec rozwiązania, migrował po kolei usługi, jednocześnie zapoznając się z możliwościami chmury i sposobami utrzymania infrastruktury. Najpierw przeniesiono środowiska testowe i developerskie, później wersję produkcyjną. Z każdym działaniem świadomość możliwości i znajomość chmury publicznej rosły, co przekładało się też na coraz lepsze wykorzystywanie dostępnych usług.
Obecnie Arena.pl posiada infrastrukturę w modelu multi-cloud, łącząc usługi oferowane przez Google Cloud Platform z rozwiązaniami Amazon Web Services oraz Microsoft Azure.
Około 90% naszej infrastruktury stanowi Google Cloud Platform. Wybieramy z każdej chmury to, co najlepsze i dostosowujemy możliwości do prowadzonych przez nas działań. Przy tym na pierwszym miejscu stawiamy bezpieczeństwo przechowywania danych między platformami.
Arena.pl wykorzystuje usługi GCP związane między innymi z maszynami wirtualnymi w usłudze IaaS oraz PaaS, przechowywaniem i przetwarzaniem danych w chmurze, analityką BigData, konteneryzacją czy monitorowaniem i analizą systemu. Pan Kamil wskazuje trzy główne przewagi GCP nad dotychczas używanym rozwiązaniem on-premise. Są to:
- Cloud SQL – skalowalna usługa bazodanowa, która pozwala łatwo konfigurować, przechowywać i zarządzać zasobami w chmurze; zapewnia ciągły, stabilny dostęp do danych, również w środowisku multi-cloud;
- Operations (poprzednio Stackdriver) – portfolio usług służących przechowywaniu, retencji i monitorowaniu logów; pozwala śledzić dane między usługami w różnych środowiskach chmurowych;
- Google Kubernetes Engine – platforma do orkiestracji kontenerów, która umożliwia łatwą, bezpieczną i skalowaną migrację elementów systemu do nowszych technologii; GKE, zdaniem pana Kamila, bardzo wspiera proces spłacania długu technologicznego i przenoszenia aplikacji do kontenerów.
Wybraliśmy nie najprostszą ścieżkę spłacania długu technologicznego. Stoimy trochę w rozkroku między starym a nowym systemem – część wymaga przepisania od nowa, część poprawy. Google Kubernetes Engine pozwala nam utrzymać równowagę w tej pozycji. Na pewno dużo ciężej byłoby to osiągnąć, korzystając wciąż z rozwiązania on-premise. Możliwości, jakie w tym przypadku daje nam GCP, są nieocenione.
Zespół IT Arena.pl jest już świadomy możliwości, jakie daje rozwiązanie chmurowe i wykorzystuje pełen potencjał w celu ulepszania platformy. FOTC pełni rolę pośrednika między Arena.pl a Google – wspieramy naszego klienta w kwestiach organizacyjnych czy formalnych, partycypujemy w negocjacjach z dostawcą usługi infrastrukturalnej oraz pomagamy rozwiązać ewentualne trudności związane z obsługą Google Cloud Platform. Umożliwiamy również klientowi prowadzenie rozliczeń w złotówkach.
Dla całego zespołu, jak i dla mnie, korzystanie z GCP daje poczucie pewności i stabilności. Nie musimy sobie zaprzątać głowy czymś, co już raz zrobiliśmy. Tworzymy, testujemy, wdrażamy, a do danej funkcjonalności wracamy dopiero kiedy trzeba wprowadzić zmiany wynikające na przykład z potrzeb biznesowych.
Rezultaty
Korzyści z przejścia do rozwiązania chmurowego, jakie dało się odczuć w Arena.pl:
- redukcja wewnętrznych kosztów utrzymania infrastruktury o 20-30% – siły specjalistów, dotychczas przeznaczane na utrzymanie i obsługę maszyn, zostały przeniesione w sferę prac rozwojowych; infrastrukturą w chmurze mogą samodzielnie zarządzać developerzy,
- elastyczność i skalowalność – w odróżnieniu od rozwiązania on-premise, wykorzystywana infrastruktura chmurowa dopasowuje się automatycznie do wymagań i jest gotowa na nagłe wzrosty ruchu,
- większa świadomość i kontrola – rozwiązanie chmurowe podniosło poziom weryfikacji aplikacji, umożliwiło łatwiejsze śledzenie błędów czy rejestrację działań, co wpłynęło też pozytywnie na komfort pracy zespołu IT,
- skrócenie TTM (time to market) – nowe wdrożenia zajmują zdecydowanie mniej czasu, dzięki czemu rozwój platformy jest dużo szybszy,
- realne wsparcie rozwoju biznesu – dotychczas technologia stawiała pewne bariery w kwestii realizacji potrzeb biznesowych; dzięki rozwiązaniu chmurowemu, aplikację można elastycznie zmieniać, rozbudowywać i dopasowywać do strategii rozwoju.
Czas deploymentu jest wyraźnie krótszy, zwiększył się też komfort pracy developerów. Najważniejsze dla nas jest jednak to, że dzięki GCP technologia przestała przeszkadzać biznesowi. Biznes może elastycznie zmieniać wymagania wobec aplikacji bez trafiania na opór ze strony administracji IT.
Dyrektor IT wskazuje, że plan rozwojowy Arena.pl przewiduje przejście w całości na rozwiązanie Google Cloud Platform.
Nie będę ukrywał, że multi-cloudowość łączy się z pewnym dyskomfortem, związanym chociażby z koniecznością używania różnych bibliotek klienckich czy różnic wynikających z architektury chmurowej. Kiedy migrowaliśmy Arena.pl, Google Cloud Platform nie oferowało jeszcze wszystkich potrzebnych nam usług. Teraz one są, są zweryfikowane i działają, dlatego chcemy zrezygnować z usług AWS oraz Azure i przejść w pełni do GCP.