Czy DataOps zmieni zasady gry w dziedzinie inżynierii danych? Tomasz Gintowt

Czym jest DataOps? Jakie są różnice między DevOps a DataOps? Jaka jest przyszłość DataOps? Na te i na wiele innych pytań odpowiedział Tomasz Gintowt, organizator spotkań grupy DataOps Polska.

Co znaczy podejście DataOps?

Gdybym musiał streścić to w trzech słowach, to powiedziałbym: „Technologia, ludzie i procesy”. W jednym zdaniu: „Szybkość, powtarzalność przy równoczesnym zapewnieniu wysokiej jakości danych.” Manifest DataOps składa się z 18 punktów, które są wskazówkami, jak zbudować dobrze naoliwioną i sprawnie działającą maszynę, którą będzie organizacja zajmującą się przetwarzaniem i analizą dużej ilości danych. 

DataOps składa się z trzech najważniejszych filarów: Agile, DevOps, Lean Manufacturing. Nie nazwałbym DataOps rewolucją, raczej ewolucją w dziedzinie inżynierii danych i analityki. Kolejnym krokiem w procesie usprawniania pozyskiwania, przetwarzania i analizowania danych.

Skąd wziął się manifest DataOps? Kto jest jego autorem i jaką mam pewność, że każdy z punktów sprawdza się?

Manifest DataOps został stworzony przez firmę DataKitchen, która jest prekursorem w tej dziedzinie, a dokładniej: Christopher Bergh, Gil Bengiat, Eran Strod. Pierwsze wzmianki o DataOps pojawiają się w artykule z 2014 roku, którego autorem jest Lenny Liebmann. Zostały w nim opisane trzy powody, dlaczego DataOps jest niezbędne do odniesienia sukcesu w Big Data.

Jakie są różnice między DevOps a DataOps?

Głównym beneficjentem DevOps jest Software Engineer. DataOps jest dużo szerszą dziedziną i jednym z jej elementów jest podejście DevOps, a nadrzędnym celem jest usprawnienie procesu analizy danych. Metodologia DataOps jest skupiona na danych i jej głównymi odbiorcami są Data Engineer i Data Scientist. Różnice doskonale obrazuje poniższa grafika.

Dlaczego przekonujesz, by z niego korzystać?

Wystarczy zapoznać się z ikonografiką żeby zobaczyć, ile danych jest przesyłanych w ciągu każdej sekundy. Coraz częściej słyszymy slogan „Data is new oil” i moim zdaniem analiza danych to przyszłościowy kierunek. Pytanie brzmi: Jak szybko, prawie bezbłędnie obrabiać i analizować duże zbiory danych? Tutaj właśnie pojawia się DataOps. Według raportu firmy DataKitchen w 76% organizacji produkcyjne wdrożenie nowej analityki zajmuje od jednego dnia nawet do miesiąca. Wykorzystanie odpowiednich narzędzi oraz organizacji pracy może zmniejszyć ten czas do minut. To ogromny zysk dla wszystkich firm pracujących w modelu Data-Driven. 

Komu DataOps przyda się najbardziej?

Mówiąc bardzo ogólnie DataOps będzie przydatne wszędzie tam, gdzie biznes oparty jest na danych i ich analizie. Na poziomie osób decyzyjnych będzie to Chief Data Officer i Chief Information Officer. Na poziomie inżynierów będa to: DevOps, DBA, ETL Engineer, Data Engineer, Data Scientist, BI, wielkiej maści analitycy. Jeśli więc pracujesz z danymi, na pewno znajdziesz w DataOps coś, co pomoże Ci usprawnić twoją codzienną pracę.

Jakie są zalety, a jakie wady podejścia DataOps?

W podejściu DataOps widzę bardzo dużo zalet i mało wad. Lepsza organizacja pracy, podział ról, mniej błędów, krótszy czas od pomysłu do gotowego produktu końcowego, to tylko kilka z wielu korzyści. Wadą jaką widzę to szeroki zakres technicznych kompetencji jakie są potrzebne do wdrożenia DataOps. Dla jednej osoby będzie to heroiczny wysiłek, dlatego DataOps Engineer to stanowisko dla osób z bardzo szerokim wachlarzem umiejętności technicznych oraz miękkich. Łatwiej jest wdrożyć DataOps w większych organizacjach i poprawić współpracę między różnymi zespołami. 

Jedną z ciekawostek jest wprowadzenie różnej długości sprintów dla poszczególnych ról, od kilku tygodniowych do dziennych dla analityków, którzy są najbliżej odbiorców końcowych. Wszystko po to, że lepiej odpowiadać na potrzeby biznesu, sprawniej dostarczać dane oraz analizy na nich oparte. 

DataOps współpracuje z CI/CD?

Jednym z trzech głównych filarów DataOps jest DevOps. Czerpiemy wszystko, co najlepsze z DevOpsowego podejścia, również CI/CD, automatyzację procesów, monitoring, testy i wiele innych. Zaadoptowaliśmy znane i sprawdzone praktyki DevOps w inżynierii danych. 

Jak zaimplementować DataOps?

Żeby, wdrożyć podejście DataOps nie musisz wcale, kupować nowego drogiego oprogramowania lub całej platformy. Możesz wdrożyć DataOps na podstawie narzędzi, które już używasz lub wybrać inne bezpłatne. Wystarczy kilka prostych kroków i odrobina własnej inicjatywy, żeby rozpocząć podróż w kierunku poprawy wydajności twojego zespołu.

Na początek warto zmierzyć wydajność, sprawdzać, które obszary są wąskimi gardłami i zgodnie z teoria ograniczeń szukać miejsc do poprawy. Pamiętaj, żeby na początek wybrać te elementy, gdzie niskim nakładem pracy osiągniesz największy skok wydajności. Często małe, proste zmiany powodują duże skoki. 

Kiedy już wiemy jaka jest nasza wydajność, analizujemy dane, zmniejszamy ilość błędów i zgodnie z DevOps automatyzujemy procesy. Sprawdzamy format danych wejściowych, duplikaty, a po każdej transformacji danych testujemy. Tak, to zajmuje czas, ale uwierz, że się opłaca. Pierwszą rzeczą, która pogrąży twój zespół, są błędy. Nikt nie zaufa zespołowi analityków, którzy dostarczają błędne dane.

Dbajmy o poprawne relacje w całym zespole i między zespołami. Wszyscy gramy w jednej drużynie, tylko nasze stanowiska inaczej się nazywają: Data Engineer, Data Scientist, Analyst.

Wdrożenie DataOps to ciągły proces ulepszania, zmian, poprawek i warto o tym pamiętać,że to nie jest jednorazowe wydarzenie.     

Jakie wyzwania stoją przed inżynierami DataOps?

Największe wyzwanie jakie widzę to bardzo szeroki zakres umiejętności technicznych z domieszką dobrej organizacji i współpracy pomiędzy różnymi działami. Inżynier DataOps to osoba spinająca cały proces od pozyskania danych przez ich składowanie i obróbkę, aż po analizę. 

Z umiejętności miękkich najważniejszą jest umiejętność przyznania się, przede wszystkich przed samym sobą, że nie jesteśmy ekspertami w każdej dziedzinie i nie znamy wszystkich narzędzi. Cenione jest podejście do rozwiązywania problemów przy użyciu dostępnych narzędzi, a nie forsowanie jednego. Sprawdza się sentencja, “wiele dróg prowadzi do rozwiązania tego samego problemu”, kwestia wyboru najlepszego, spełniającego kryteria danego projektu. Osobną rozwijającą się dziedziną są platformy DataOps, jest kilka firm które oferują takie rozwiązania enterprise.

Co muszę zrobić, żeby pracować jako DataOps?

Stanowisko DataOps może być kolejnym krokiem kariery dla administratorów baz danych, inżynierów DevOps/ETL/Data. Jako osoba, której głównym zadaniem jest zapewnienie wysokiej jakości i wydajności przepływu danych, będziesz koordynować cały proces. Dbać o automatyzację, elastyczność, powtarzalność oraz niezawodność. Zminimalizować bariery, które występują pomiędzy obszarem analizy danych (DATA) a operacjami (OPS). 

Idealny kandydat na to stanowisko posiada wiedzę z zakresu danych (Big Data, DBRM, ETL, Hadoop, HDFS, Apache Kafka, Apache Spark), developmentu (python, bash, go, git) automatyzacji procesów (docker, ansible, puppet, CI/CD)  infrastruktury (Kubernetes, AWS, GPC, Azure, OpenStack). 

Będziesz wsparciem dla zespołów złożonych z Data Engineer, Data Analyst i Data Scientist. Nie musisz rozumieć informacji zawartych w danych, musisz wiedzieć jak zoptymalizować cały proces, od źródła, przez obróbkę aż do końcowego etapu. Jak widać, nie szukamy eksperta z jednej wybranej dziedziny, szukamy człowieka z dużym przekrojem technologii, który będzie, potrafił spiąć je w jedną całość.

Źródło: valdas.blog

Żeby nie być gołosłownym, w momencie pisania tego artykułu na portalu LinkedIn jest 19 ofert pracy w Polsce, w których występuje słowo DataOps. Jeśli rozszerzymy kryteria na cały świat to tych ofert będzie 463. Widać, że ten trend powoli przebija się do głównych nurtów.

Co mogłoby sprawić, że więcej osób dowie się o DataOps?

To jest bardzo dobre pytanie, sam je sobie często zadaję. Na początek z Konradem Szatan stworzyliśmy cykl spotkań DataOps Polska, na które zapraszamy głównie zagranicznych gości. W Polsce DataOps nie jest jeszcze popularne, chociaż pojawiają się pierwsze oferty pracy dla inżynierów DataOps, głównie za sprawą dużych międzynarodowych korporacji. Co dwa tygodnie organizujemy prezentacje o jednej z dziedzin DataOps: Data Engineering, Machine Learning, DevOps, Data Science, BI, Data Management. W najbliższej przyszłości planujemy warsztaty z technologii wykorzystywanych w DataOps. Będzie można nas spotkać na konferencjach, z prezentacjami przybliżającymi tajniki DataOps oraz przeczytać artykuły w których opisuje podstawy tej metodologii. To jest ciągle praca u podstaw, potrzeba jeszcze trochę czasu i kilku success story żeby to podejście zyskało rozgłos. 

Czy DataOps zrewolucjonizuje świat IT?

Jeszcze jesteśmy na początku drogi, w której DataOps zmieni zasady gry w dziedzinie inżynierii danych. Raczej skłaniałbym się jednak w stronę ewolucji niż rewolucyjnego skoku. Nakłady, które ponoszą firmy na zespoły pracujące z danymi ciągle rosną.

8 na 10 projektów AI kończy się niepowodzeniem, a 96% z nich doświadcza problemów z jakością danych. Dodatkowo zbliżający się kryzys wymusi na osobach decyzyjnych uważniejsze gospodarowanie środkami finansowymi. To doskonała okazja na zapoznanie się z DataOps i przymiarki do wdrożenia. Pamiętajmy, że głównym celem DataOps jest skrócenie czasu, zmniejszenie błędów oraz wsparcie kluczowych biznesowych decyzji o dane i analizy. 

Trochę twardych danych:


Tomasz Gintowt. W swoim życiu był już Architektem, DevOpsem, SysOpsem oraz DBA. Skupia się na dostarczaniu rozwiązań składowania i przetwarzania danych. Nie są mu obce wszelkiej maści bazy danych, systemy real-time data i streamingu. Doradza, wdraża, projektuje jak efektywnie wykorzystywać technologie. Wierzy, że razem z zespołem może więcej, dlatego ponad procesy i narzędzia stawia ludzi i interakcje. Po godzinach dzieli się swoją wiedzą i nieustannie uczy czegoś nowego. Jest organizatorem spotkań DataOps Polska.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Jak rozpoznać obiekty ze zdjęcia? Wystarczy te 10 linii kodu w Pythonie