Skip to main content
circle

DevOps to przede wszystkim praca zespołowa

O O tym na czym polega podejście DevOps, dlaczego jest ono kluczowe dla konkurencyjności firmy oraz… budowania jej zespołu, rozmawiamy z Mariuszem Wieczorkiem, Software Engineer w zespole Data Warehouse Engineering w PAYBACK Polska.

DevOps – na ten temat prowadziłeś ostatnio prezentację podczas targów pracy Talent Days. Dlaczego ta metodologia jest tak kluczowa dla osób chcących rozwijać się w IT i przede wszystkim – na czym ona polega?

DevOps to model pracy, w kierunku którego spogląda coraz więcej tych firm, którym zależy na skutecznym i efektywnym rozwoju oprogramowania. Możemy powiedzieć, że aktualnie to „być albo nie być’ dla każdej organizacji opierającej swoją pracę na nowoczesnych technologiach. W praktyce, DevOps to połączenie zespołu rozwijającego oprogramowanie (Dev) z zespołem operacyjnym (Ops) oraz zaimplementowanie narzędzi automatyzujących pracę obu tych teamów.

Widzimy więc, że wdrożenie tego podejścia w firmie musi odbyć się na dwóch płaszczyznach – technologicznej i organizacyjnej. Ta druga wymaga zrozumienia, jak kluczowy w codziennej pracy jest teamwork, bliska współpraca i jasna, otwarta komunikacja.

Czy z modelu DevOps może korzystać każda firma pracująca mająca do czynienia z nowoczesnymi technologiami?

Zdecydowanie tak. Powodem jest uniwersalność tej metodologii. DevOps wspiera zarówno produkcję oprogramowania mikroserwisowego, dzięki czemu można dostarczyć składowe oprogramowania szybciej i bardziej niezależnie od siebie, jak również oprogramowania monolitycznego, które od razu w całości trafia do środowiska produkcyjnego.

Ponadto, DevOps oferuje bardzo szerokie spektrum technologii, m.in. systemy zarządzania kontrolą wersji, czyli Git, systemy, które automatyzują procesy (Jenkins), czy w końcu – systemy, które konteneryzują aplikacje i zarządzają nimi, czyli Docker i Kubernetes. W podejściu DevOps mamy też do czynienia z bardzo popularnym w branży continues integration i continues delivery. Oznacza to, że bez względu na czas dostarczenia oprogramowania, cały proces jego rozwoju jest przewidywalny i podzielony na takie same sprinty, dotyczące np. testowania kodu, wdrażania zmian, monitorowania kodu, czy w końcu – uwalniania go do środowiska testowego, które sprawdza jego integralność. Po finalizacji wszystkich tych etapów podsumowujemy naszą pracę, dzięki czemu system może uczyć się na naszych błędach. To sprawia, że w przyszłości kolejny proces będzie prowadzony sprawniej.

Co na wdrożeniu DevOps zyskuje firma?

Połączenie dwóch wcześniej wspomnianych obszarów, czyli development i operations, sprawia, że firma może dostarczyć oprogramowanie efektywniej i bardziej wydajnie, dzięki czemu optymalizuje koszty, i jest w stanie szybko reagować na zmiany zachodzące na rynku.

Przykładem może być jeden z dużych projektów mojego zespołu, który jeszcze do niedawna mógłby nam zająć około 1,5 roku, a dzięki podejściu DevOps zamknęliśmy go w zaledwie 6 miesięcy. Wszystko dzięki automatyzacji i możliwości zintegrowania zespołów, które kiedyś były od siebie niezależne, a to niestety utrudniało niekiedy możliwość dojścia do porozumienia i wypracowania rozwiązania. Nam, deweloperom DevOps pozwala na pełne zaangażowanie w proces od początku do końca, dzięki czemu lepiej widzimy cel naszej pracy i to, w jaki sposób pomaga ona firmie. To pozytywnie wpływa na zaangażowanie i ogólną satysfakcję z pracy.

W jaki sposób wykorzystujecie ten typ metodologii w PAYBACK?

Jednym z najlepszych przykładów, ze względu na jego skalę, była migracja monolitycznej aplikacji Big Data PAYBACK do aplikacji mikroserwisowej. Dzięki wykorzystaniu podejścia DevOps zyskaliśmy nieporównywalnie większą elastyczność w pracy z naszym kodem, ponieważ poszczególne etapy procesu obserwowaliśmy w czasie rzeczywistym. Każda zmiana mogła być równolegle uwalniana do środowiska produkcyjnego, co znacząco skróciło cały proces migracji. Oprócz tego, projekt zakładał konteneryzację naszej aplikacji, a to oznaczało jej lepsze wykorzystanie w zespole – mogliśmy nasz kod szybko i sprawnie przenosić na każdą platformę, niezależnie od jej wymagań, a mój zespół będąc właścicielem kodu, był w stanie lepiej nim zarządzać. W procesie wykorzystaliśmy takie technologie, jak Git, Jenkins, Kubernetes, Docker, Python, Airflow, Icinga, Maven i Puppet.

Ten projekt bez wątpienia pokazał wszystkie atuty DevOps, nie tylko z punktu widzenia biznesu PAYBACK, ale również komfortu pracy zespołu. Dzięki wykorzystaniu tego typu metodologii w projekt był zaangażowany cały nasz team, a ogólny feedback był taki, że DevOps daje ogromne możliwości uczenia się. Korzystają na tym inne działy PAYBACK, między innymi nasi analitycy, którzy dzięki temu podejściu otrzymują od nas jeszcze lepsze wsparcie, mogą lepiej przetwarzać dane i oferować partnerom PAYBACK wartość dodaną. To przewaga konkurencyjna naszej firmy na rynku.

Oznacza to, że DevOps pomaga sprawniej zarządzać danymi?

Tak, a jest to kluczowe w takiej organizacji, jak PAYBACK, która pracuje na danych dotyczących milionów konsumentów. Sama baza użytkowników Programu w Polsce i w Niemczech to blisko 30 mln osób. Taki zbiór danych w połączeniu z infrastrukturą PAYBACK sprawia, że mamy do czynienia z tzw. jeziorem danych, podczas gdy wiele firm nadal operuje na tzw. hurtowni danych. Data lake powoduje, że dane, mimo iż są mniej ustrukturyzowane, szybciej i lepiej „przepływają” między działami. To zasługa podejścia DevOps. W efekcie, nasz zespół analityczny jest w stanie działać bardziej płynnie i otrzymuje wgląd w głębsze analizy dotyczące zachowań i preferencji zakupowych konsumentów. W efekcie, PAYBACK lepiej wspiera partnerów, a użytkownicy maja dostęp do ofert i kampanii real time trafiających w punkt ich potrzeb.

Jeśli miałbyś krótko opisać idealnego kandydata do pracy w Twoim zespole Data Warehouse Engineering…

Abstrahując od kompetencji technologicznych, bez wątpienia musi to być osoba otwarta i nastawiona na pracę zespołową, ponieważ tzw. team work to podstawa pracy nie tylko w metodologii DevOps, ale i w całej organizacji PAYBACK. Daje nam to tym więcej satysfakcji, że na co dzień jesteśmy częścią międzynarodowego środowiska, co bardzo urozmaica pracę i daje duże pole do rozwoju, również osobistego.

 

Mariusz Wieczorek jest związany z IT od 12 lat. W PAYBACK zajmuje się Data oraz Software Engineeringiem w DWH i Big Data. Na co dzień pracuje z technologiami Oracle, BigData, Konteneryzacją, Systemami Kontroli wersji, CI/CD, ETL. Posiada wiedzę o takich językach, jak Python oraz PL/SQL.

 

Najnowsze aktualności

57% Polaków obchodzi walentynki Każdego roku z początkiem lutego w sklepach… Czytaj więcej
Portfel kart PAYBACK
Portfel PAYBACK. Wszystkie karty w jednym miejscu PAYBACK Polska poszerza zakres funkcjonalności… Czytaj więcej
scroll-to-top