TSM - Operațiunile eficiente cu date, fundație pentru avansarea capabilităților de ML și AI

Oana Sentanai - Head of Data Technology @ Betfair Romania Development


Operațiunile cu Date (Data Ops pe scurt de la Data Operations) înseamnă mult mai mult decât menținerea funcționării sistemelor, suportul pentru serviciile live sau gestionarea incidentelor pe platforme de date, produse de date sau servicii de date. DataOps cuprinde toate activitățile esențiale, necesare pentru a asigura informații bazate pe date care sunt livrate la timp, sunt precise, sigure și relevante. Un DataOps eficient reprezintă fundația pentru analize avansate și implementări de succes ale Machine Learning (ML) și ale Inteligenței Artificiale (AI).

În lumea tehnologică actuală, termeni precum Inteligență Artificială (AI), Machine Learning (ML) și Data Science sunt omniprezenți - și pe bună dreptate, deoarece potențialul acestor tehnologii este imens. Totuși, înainte de a discuta despre aceste capabilități avansate, trebuie să subliniem importanța realizării corecte a aspectelor fundamentale legate de gestionarea datelor.

Date

Companiile colectează cantități uriașe de date, folosite pentru diverse cazuri de utilizare, fiecare având arhitecturi de date, furnizori de cloud și niveluri diferite de maturitate în această călătorie. Indiferent de arhitectura și capabilitățile existente și indiferent dacă datele sunt găzduite, procesate și utilizate on-premise sau în cloud, există câteva aspecte valabile pentru toată lumea:

Operațiuni cu date (Data Ops)

Inginerii și liderii din domeniul datelor și al Machine Learning (ML) încearcă mai mult ca oricând să își educe colegii din tech și factorii de decizie despre importanța gestionării corecte a datelor prin operațiuni optime (Optimal Data Ops), înainte de a discuta despre capabilitățile AI/ML. Uneori, acesta este ultimul lucru pe care vrea să-l audă cineva entuziasmat de viitor. Adică faptul că datele trebuie să "meargă" înainte ca AI/ML să poată "alerga".

Totuși, acest principiu nu este deloc nou. Același lucru era valabil și acum câțiva ani buni, când Data Insights și Business Intelligence (BI) erau subiectele fierbinți din industrie. Companiile care au implementat operațiuni eficiente cu date încă de atunci, pe vremea când BI era la modă, sunt cele care acum culeg roadele acelui efort și sunt pregătite pentru următoarea etapă a evoluției lor în direcția AI și ML.

Ce sunt Operațiunile cu date?

Operațiuni eficiente cu date (Data Ops) includ toate activitățile esențiale pentru gestionarea optimă a datelor, printre care:

  1. Proiectarea și validarea tehnologică a ecosistemelor de date;

  2. Guvernanța platformelor de date, a proceselor și a oamenilor;

  3. Asigurarea monitorizării și a observabilității corespunzătoare;

  4. Procese excelente de suport și răspuns la incidente;

  5. Automatizarea pentru eficiența ingineriei, scalabilitate, performanță și managementul costurilor platformelor de date;

  6. Angajamente și parteneriate adecvate cu furnizorii de platforme de date în cloud.

Toate aceste activități ar trebui să facă parte din strategia unei funcții performante de inginerie a datelor și să se desfășoare în paralel cu activitatea esențială a echipelor de inginerie - dezvoltarea de soluții de date care sunt scrise în cod, testate, implementate, monitorizate, susținute și îmbunătățite continuu în funcție de evoluția afacerii.

Proiectarea și validarea tehnologică a ecosistemelor de date.

Arhitectura sistemelor de date nu este ceva în care ar trebui să fie implicați ca factori de decizie doar arhitecții. Este esențial ca inginerii care lucrează pe platformele de date, le susțin și le îmbunătățesc, să contribuie activ la selectarea tehnologiilor și la construirea ecosistemelor.

Cele mai bune implementări vor avea întotdeauna criterii de validare a tehnologiilor de inginerie a datelor integrate în procesul decizional. Pentru a ajunge acolo, inginerii ar trebui să dezvolte criterii de validare a tehnologiilor (entry-level criteria) cu care doar inginerii de date care susțin activ sistemele și produsele sunt familiari într-un mod intim.

Unele dintre aceste criterii de evaluare a tehnologiei sau entry-level criteria, ar trebui să se concentreze pe:

Deși aceasta nu este o listă exhaustivă, acestea sunt câteva exemple de întrebări legate de un Data Ops calitativ pe care ar trebui să le pui atunci când alegi tehnologia de date potrivită.

Guvernanța platformelor de date, a proceselor și a oamenilor

Subiectul guvernanței (Governance) este extrem de important și vast. În contextul operațiunilor de date (Data Ops), acesta se împarte în două mari categorii:

Guvernanța platformelor și a proceselor

În ecosistemul de date bazat pe cloud de astăzi, unde capabilitățile de date sunt furnizate de un număr vast de tehnologii, multe dintre ele necesitând abilități de nișă și implementări unice, nu poți să aplici aceeași soluție de bază de date/Data Warehouse pentru toate problemele pe care încerci să le rezolvi. Din acest motiv, necesitatea de a guverna platformele este foarte reală.

Ceea ce am observat că funcționează bine pentru a avea nivelul corect de guvernanță pentru platformele de date este conceptul de Proprietate a componentelor (Component Ownership).

Acest concept atribuie o responsabilitate de a se ocupa de sănătatea, îmbunătățirile, guvernanța, situațiile de urgență, standardele și planul tehnic de dezvoltare a fiecărei platforme de date bazate pe cloud și gestionează relația operațională cu furnizorii platformelor, îmbunătățiri și noi caracteristici ale platformei.

De obicei, acest rol este deținut de un lider în ingineria datelor care are înțelegerea corespunzătoare a platformei la nivel înalt, a utilizării sale în cadrul comunității de ingineri și în cadrul comunității de analiști, pentru acele tehnologii care expun datele pentru a fi consumate.

Dincolo de procesele specifice platformelor, este foarte important să construiești și procese solide de inginerie, infrastructură și testare a datelor care sunt create pentru a sprijini (nu pentru a împiedica) diversele tipuri de ingineri de date, să dezvolte cele mai bune soluții.

În același sens, asigurarea unor medii adecvate pentru aplicații care sunt potrivite pentru aceste procese generale (development, test, pre-production, production), dar care sunt și fezabile din perspectiva costurilor și a performanței, este esențială.

Guvernanța Oamenilor:

Inginerii de date sunt unicorni pe care mulți încă nu îi înțeleg pe deplin. Unii consideră inginerii de date ca fiind administratori de baze de date (DBA) sau redactori de rapoarte, iar acest lucru nu poate fi mai departe de adevăr.

Inginerii de date sunt un amestec de cunoștințe legate de concepte și metodologii de stocare a datelor (atât Online Transactional Processing (OLTP), dar în special Online Analytical Processing (OLAP), diverse baze de date (în cloud sau on premise), concepte de Data Warehouse, înțelegere statistică, acuitate în definițiile de business ale datelor și cunoștințe despre SQL, python și ML frameworks.

Inginerii de date cu care am lucrat de-a lungul anilor au fost excepționali în multe domenii tehnologice, dar cei mai buni dintre ei au avut dorința de a evolua în același ritm cu lumea datelor, de la date structurate la concepte nestructurate, de la baze de date tradiționale la lacuri de date (data lakes) și de la construirea de modele multidimensionale pentru explorare (OLAP Cubes) la construirea de caracteristici de date (data features) pentru modele de Machine Learning (ML).
Crearea unor echipe de inginerie autonome și autosuficiente care au oportunitatea de a inova, învăța noi abilități și de a ține pasul cu domeniile vaste ale datelor face parte din guvernarea celor mai importante active ale noastre, inginerii de date.

Pentru a facilita acest lucru, câteva aspecte care pot ajuta sunt: comunități de practici (inginerie a datelor, python, sql, testare a datelor etc.), un program clar de integrare pentru tehnologiile foarte diferite din ecosistemul de date (de exemplu, interogarea unei platforme MPP va fi semnificativ diferită de automatizarea unor pipelineuri de date sau de testarea unui unit-test scris în Python).

Asigurarea monitorizării și a observabilității corespunzătoare

Cunoașterea modului în care funcționează sistemul tău de date și, mai important, cunoașterea stării datelor tale în diferitele etape ale existenței acestora reprezintă cheia unor operațiuni de date (Data Ops) excelente.

Monitorizarea datelor, a performanței și a scalabilității atât a sistemelor, cât și a serviciilor, împreună cu observabilitatea metricilor și a trasabilității datelor (în special a metricilor de calitate) va asigura că operațiunile de date nu doar că îndeplinesc toate cerințele de performanță și eficiență, dar, mai important, va asigura că datele sunt corecte.

Deoarece implementările de AI/ML pot fi doar atât de bune pe cât sunt datele, investiția în calitate, monitorizare și observabilitate adecvate și procese operaționale solide pentru a reacționa și remedia erorile în calitatea datelor este extrem de importantă.

Procese excelente de suport și răspuns la incidente

Practicile de Operațiuni cu date bune (Good Data Ops) anticipează și intervine proactiv pentru a se asigura că sistemele de date sunt auto-reparabile pe cât posibil și că problemele sunt rare.

Dar practicile de Operațiuni cu date excelente (Great Data Ops) se asigură și că procesele de suport sunt clare, echipele operaționale sunt instruite și sprijinite, și că răspunsul la incidente se realizează fără probleme.

Cel mai bun Data Ops pe care l-am văzut folosește o mentalitate de genul "Tu îl construiești, tu îl deții", care este atât de înrădăcinată în cultura echipelor de inginerie a datelor încât un sentiment de mândrie și responsabilitate poate fi observat chiar și de la ușa departamentului. Pregătirea pentru evenimentele mari care se întâmplă în sistemele tale este, de asemenea, esențială pentru un Data Ops excelent și, în timp, devine un factor care face ca evenimentele mari să facă parte din rutina ta zilnică.

Automatizarea pentru eficiența ingineriei, scalabilitate, performanță și managementul costurilor platformelor de date

Au apus zilele în care monitorizarea se făcea cu ochiul liber, privind rapoarte sau grafice de către ingineri.

Operațiunile excelente cu date (Great Data Ops) au automatizat alertele și scalarea automată, crearea automată de cazuri cu furnizorii de cloud pentru defecțiuni ale sistemelor, iar ambiția ar trebui să fie de a avea sisteme și soluții de date auto-reparabile.

Automatizarea ar trebui utilizată nu doar pentru implementarea soluțiilor de inginerie a datelor, pipeline-uri CI/CD, scalarea și performanța platformelor, ci și pentru a asigura un management adecvat al costurilor cloud ale platformelor de date.

Acest ultim aspect nu este specific datelor, ci oricăror platforme bazate pe cloud, dar viteza cu care datele sunt transferate de la on-premise la cloud a făcut ca aceste implementări să fie unele dintre primele soluții mature duse în cloud, care necesită o atenție mai mare asupra costurilor.

Angajamente și parteneriate adecvate cu furnizorii de platforme de date în cloud

În final, operațiunile excelente de date (Data Ops), în special pentru implementările bazate pe cloud (unde tehnologia evoluează mult mai rapid), necesită un parteneriat strategic cu furnizorul de platformă de date în cloud.

În ultimul deceniu, a fi în cloud a însemnat să învățăm alături de furnizorii de cloud și să provocăm acești furnizori pentru mai multă vizibilitate asupra problemelor, a logurilor, a înțelegerii designului sistemului lor, cerându-le explicații detaliate când vine vorba de probleme operaționale.

În același timp în care avem discuții operaționale dificile, ne vedem nevoiți să și colaborăm cu acești furnizori de platforme de date în cloud pentru a co-proiecta funcționalități, a le testa, a le modifica sau, alternativ, a construi propriile utilități care coexistă alături de aceste platforme pentru o experiență îmbunătățită pentru inginerii noștri și pentru analiștii de date.

În concluzie, toate cele de mai sus sunt activități obligatorii pentru a asigura că ai operațiuni cu date excelente în sprijinul implementărilor excelente de ML/AI. Dacă operațiunile de date încep cu validarea tehnică pentru a asigura că deciziile arhitecturale sunt adecvate și corecte, acestea evoluează spre investiții în performanța platformelor și a proceselor, observabilitatea și suportul acestora, dar și spre automatizare.

Construirea echipelor cu o mentalitate Data Ops, asigurarea unor procese operaționale clare, care au un grad ridicat de automatizare, și integrarea guvernanței, a educației și a documentației în modul zilnic de lucru sunt, de asemenea, obligatorii.

În mod similar, sunt necesare monitorizarea operațiunilor și răspunsurile adecvate, îmbunătățite constant la probleme operaționale.

În concluzie, realizarea uneia sau doar a unor activități descrise mai sus nu te va aduce aproape de nivelul de maturitate necesar pentru o fundație solidă de date adecvată pentru implementarea avansată de ML/AI. Realizarea tuturor acestora, în diferite grade, în funcție de nevoile organizaționale, este cheia pentru un Data Ops excelent.