DataOps, czyli dane źródłem przewagi konkurencyjnej

DataOps (ang. operations work) to proces dotyczący wszystkich operacji, które należy wykonać z danymi, zanim będą one gotowe do analizy lub prezentacji. Obejmuje kilka etapów – od pozyskania danych ze źródła, przez ich wstępne przetworzenie i „oczyszczenie”, po przechowywanie i zarządzanie. Cel jest jednak jeden – wykorzystanie generowanych lub pozyskiwanych przez organizację informacji do osiągnięcia konkretnych korzyści biznesowych.

Firmy coraz chętniej inwestują w projekty z dziedziny data science, narzędzia Bussiness Intelligence działające w modelu self-service, czy rozwiązania z dziedziny sztucznej inteligencji – słowem we wszystko, co może pomóc im w sprawniejszym analizowaniu informacji i podejmowaniu decyzji bazujących na płynących z tego procesu wnioskach. Rozwijane są aplikacje dla klientów, bazujące na wizualizacjach danych, osadzonych na stronach webowych czy aplikacjach mobilnych. Inni tworzą zaawansowane projekty agregujące dane z rozproszonych sieci sensorów, projektują najróżniejsze urządzenia „ubieralne” czy interfejsy API. Jeszcze inni starają się pozyskać informacje kluczowe dla funkcjonowania ich biznesu agregując ogromne ilości nieustrukturyzowanych danych, takich jak choćby dokumenty, grafiki, pliki wideo czy zapisy rozmów.

Ale agregowanie danych to tylko część pracy, która jest do wykonania – kluczowe jest pozyskanie z nich cennej wiedzy, czyli wykorzystanie ich do tworzenia raportów, wizualizacji, dashboardów i innych narzędzi, wykorzystywanych do wspomagania podejmowania decyzji, analityki, i tworzenia modeli, na podstawie których specjaliści data scientist mogą prognozować wyniki różnych operacji czy procesów decyzyjnych.

Zobacz również:

Esencją całego procesu związanego z gromadzeniem oraz analizowaniem danych, a także wykorzystywaniem zdobytej w ten sposób wiedzy, jest DataOps.

DataOps w centrum uwagi

Można powiedzieć, że DataOps łączy cały szereg procesów, które wcześniej często rozpatrywane były jako oddzielne etapy – od ich integrowania, przez ETL (ang. extract, transform and load), maskowanie i kontrolę jakości, centralne zarządzanie, czy data wrangling, co oznacza konwertowanie surowych danych do postaci obsługiwanej przez daną aplikację czy usługę. Jednak takie ujęcie byłoby przesadnym uproszczeniem – DataOps to bowiem coś więcej niż suma pewnych operacji, tak jak samochód jest czymś więcej niż tylko sumą części użytych do jego zbudowania.

Bardziej trafne będzie opisanie DataOps jako swego rodzaju słowa-klucza, opisującego zestaw praktyk z dziedziny zarządzania danymi w celu umożliwienia użytkownikom realnego i użytecznego ich wykorzystania. Do owych użytkowników zaliczyć możemy zarówno kadrę zarządzającą w firmach, czy specjalistów data science, jak i aplikacje, dokonujące dalszej analizy danych.

DataOps wykorzystuje pewne praktyki znane z metodyki agile – celem nadrzędnym jest usprawnienie funkcjonowania odpowiedniego proces, tu – analizy danych – i zapewnienie możliwie najwyższej jakości. Znajdziemy również punkty styczne z innym popularnym zjawiskiem ze świata IT, czyli DevOps, szczególnie w zakresie automatyzowania przepływu danych, umożliwienia częstszego wprowadzania zmian, usprawniania procesu przetwarzania danych czy minimalizowania czasu przestojów podczas rozwiązywania problemów związanych z przetwarzaniem danych.

Wszystkie te pryncypia dość szczegółowo opisuje dokument znany jako DataOps Manifesto, który opisuje 20 podstawowych zasad DataOps, i to zarówno tych ściśle technicznych, jak i kulturowych („staraj się zawsze zadowalać swojego klienta), czy dotyczących etyki pracy („dbaj o samo-organizację, codziennie podejmuj interakcje”) czy jakości dostarczanego „produktu” („stale monitoruj jakość i wydajność”).

Jednak skoro dataops jest terminem tak mocno pokrywającym się w niektórych obszarach z innymi zjawiskami i de facto zbiorczym określeniem na pewien zestaw praktyk, to pojawiać się może pytanie, po co właściwie nam taka definicja. Odpowiedź jest prosta: istnienie takiego słowa-klucza, krótko i w miarę kompletnie opisującego cały, dość złożony, łańcuch technik i zasad, bardzo ułatwia rozmowy oraz definiowanie i odpowiednie osadzenie w firmowej infrastrukturze tego kluczowego dla funkcjonowania organizacji zjawiska. Praktyka pokazuje, że dzięki temu łatwiej jest tłumaczyć jego role, synchronizować prace różnych zespół, definiować priorytety czy… planować budżet.

Kto korzysta na DataOps

Prostym sposobem na opisanie roli DataOps i znaczenia terminu jest definiowanie go w oparciu o ludzi, procesy, technologię i kulturę – czyli wyjaśnienie, jak dokładnie funkcjonuje cały proces DataOps i jak wpływa na firmę i jej otoczenie.

Swoją rolę do odegrania w procesach DataOps mają przede wszystkim specjaliści DataOps, czyli pracownicy, którzy z danych nie korzystają bezpośrednio, ale dbają o to, by cały system ich gromadzenia, magazynowania i przetwarzania działał sprawnie (do tej grupy zaliczamy m.in. inżynierów baz danych, inżynierów danych, etc). Podobnie specjaliści data steward, odpowiedzialni za zapewnienie jakości danych, ich kategoryzowanie i definiowanie.

Bezpośrednimi beneficjentami są klienci, którzy używają „produktów” usprawnionych dzięki bazującej na DataOps analityce, uczeniu maszynowemu, etc. To mogą być konsumenci kupujący produkt lub używający usług dostarczanych przez firmę – ale mogą to być również klienci „wewnętrzni”, czyli pracownicy czy szefowie organizacji, korzystający w codziennej pracy z plonów procesów składających się na DataOps (data scientists, developerzy, autorzy raportów – wszyscy, którzy używają danych do usprawnienia lub tworzenia efektów swojej pracy).

DataOps – etapy, tworzenie, funkcjonowanie

DataOps jest pojęciem bardzo pojemnym i obejmuje wiele procesów i specjalności. Ich zestaw może się jednak znacząco różnić, w zależności od organizacji i jej potrzeb, a także tego, jakie dane są dostępne, jak bardzo są one złożone, jaki jest oczekiwany poziom dostępności i jakie są wymagania regulatorów wobec danej firmy.

Jednym z ważniejszych aspektów DataOps jest przepływ danych, czyli skomplikowany proces produkcyjny, obejmujący stworzenie systemu dostarczania danych z źródła do systemu oraz zarządzanie nim. Tzw. strumienie danych mogą być tworzone z wykorzystaniem różnych technologii integrowania danych, różnych technik ich oczyszczania oraz różnych platform do zarządzania danymi. Wszystkie te procesy nie polegają jedynie na dostarczaniu danych ale zapewniają również narzędzia, dzięki którym data stewardzi mogą zadbać o jakoś danych, wprowadzić pewne podstawowe reguły dot. zarządzania nimi, śledzić ich pochodzenie, a także archiwizować lub usuwać je.

Drugim istotnym aspektem DataOps są procesy deweloperskie, które określają, jakie dane lub właściwości danych są zachowywane i analizowane. Takie procesy składają się z wielu etapów – od zarządzania sandboxem, przez tworzenie kodu, orkiestrację, testowanie, wdrażanie i monitorowanie. Warto zauważyć, że niektóre z nich (orkiestracja, testowanie, wdrażanie) są identyczne jak w przypadku DevOps.

Finalny aspekt to funkcjonowanie całego systemu i zarządzanie infrastrukturą. Tak jak w przypadku DevOps, również tu część tych zadań jest ściśle związana z zarządzaniem przepływem danych produkcyjnych i zapewnieniem niezawodności, bezpieczeństwa i odpowiedniej wydajności. Ponieważ takie dane mogą być bardzo zróżnicowane (w szczególności dotyczy to informacji generowanych przez uczenie maszynowe), przed osobami odpowiedzialnymi za całość operacji DataOps stoi wyzwanie stworzenia skalowalnego, wydajnego, prostego w budowie i wszechstronnego (pod względem obsługiwanych danych) środowiska.

DataOps. Bogactwo technologii

Ponieważ DataOps obejmuje zadania z dziedziny orkiestracji danych, a także przetwarzania ich i zarządzania, to liczba technologii i produktów wykorzystywanych do tego celu jest ogromna – tak jak zakres procesów i operacji, które mieszczą się w definicji DataOps. A że ten segment rynku – big data, data science czy uczenie maszynowe – właśnie rozkwita, to równie duża jest liczba konkurujących na nim producentów.

Weźmy choćby Amazon Web Services, oferujący obecnie siedem typów baz danych – od typowych relacyjnych, bo rozwiązania typu document stores czy key-value database. Podobnie zresztą wygląda oferta Microsoft Azure. Do wyboru jest też ogrom narzędzi do integrowania danych i tworzenia ich przepływów oraz strumieni. Nawet te kategorie można jeszcze rozbić na bardziej szczegółowe – w kategorii „przepływów danych” mieszczą się choćby narzędzia do kontrolowania ich jakości oraz zarządzania (master data management).

Jeśli chodzi o rozwiązania pokrywające większe obszary DataOps, to ich również znajdziemy niemało – popularne są narzędzia do tworzenia systemu przepływu danych i data science, takie jak np. Jupyter, Do testów często używane są Delphix oraz QuerySurge. Alteryx, Databricks, Dataiku oraz ai to z kolei cenione i popularne aplikacje realizujące zadania z zakresu przekrojowej analityki i sztucznej inteligencji, łączące funkcje i zadania z dziedziny DataOps, data science oraz DataOps. Oczywiście, specjaliści często sięgają również po najróżniejsze rozwiązania uzupełniające, odpowiadające np. za bezpieczeństwo danych i ich maskowanie.

Wewnętrzna rywalizacja potrzebuje DataOps

DevOps powstało jako odpowiedź na napięcia, które w naturalny sposób pojawiają się w firmach. Zespoły programistyczne realizujące swoje zadania zgodnie z założeniami filozofii agile były motywowane do wprowadzania nowego kodu jak najszybciej. Z kolei pracownicy odpowiedzialni za funkcjonowanie firmowych systemów z oczywistych względów stawiali raczej wolniejsze tempo wprowadzania innowacji, bo tylko to gwarantowało zapewnienie odpowiedniej stabilności, niezawodności i bezpieczeństwa.

Zadaniem DevOps jest rozwiązanie tego konfliktu i tłumienie napięć, poprzez koordynowanie pracy różnych elementów ekosystemu organizacji i upewnienie się, ze wszystkie wdrożenia prowadzone są w odpowiednim tempie i zachowaniem odpowiedniego poziomu bezpieczeństwa i testów. Środkiem do osiągnięcia tego celu jest, przykładowo, wdrażanie najróżniejszych zautomatyzowanych rozwiązań, takich jak automatyczne testy, czy centralnego monitoringu.

DataOps wprowadza do firmowego środowiska kolejną grupę specjalistów i kolejną warstwę zadań – specjaliści data scientists, developerzy dashboardów i baz danych, inżynierowie danych i inni pracują wspólnie, by zapewnić nieprzerwany przepływ danych i ich najwyższą jakość. Dbają o sprawne tworzenie nowości, niezawodność i bezpieczeństwo infrastruktury ale jednocześnie starają się pozyskać kluczowe dla sprawnego funkcjonowania i rozwijania organizacji informacje, używając analityki, uczenia maszynowego i innych technik analizowania danych.

Oczywiście to, jak cenne i przydatne będą te informacje, zależy od wielu czynników – ale w znacznej mierze również od tego, jak sprawnie zespół DataOps będzie w stanie „przerobić” ogromne ilości dostarczanych przez organizację danych. Od tego jak szybko będą one transferowane w firmowych strumieniach danych, jak dużo danych może obsłużyć dana organizacja i jaka jest ich jakość. Istotne jest również choćby to, jak szybko DataOps jest w stanie zintegrować w firmie nowe źródło danych i jak wszechstronne są jej platformy bazodanowe (i czy są w stanie obsłużyć wciąż zwiększającą się różnorodność w zakresie zapotrzebowania na tworzenie modeli statystycznych).

Te zagadnienia to tylko niewielki przykład wyzwań i zadań, które stoją przed zespołami odpowiedzialnymi za DataOps.

Będzie ich coraz więcej, bo coraz więcej firm rozumie i docenia korzyści wynikające z analizowania danych i wykorzystywania pozyskanych w ten sposób informacji do zwiększenia swojej przewagi konkurencyjnej. Możemy się zatem spodziewać, że zapotrzebowanie na DataOps będzie rosło równie szybko.