17.01.2022

Data Meshin parhaat palat

Hei,

Moni on varmasti törmännyt Data Mesh-arkkitehtuuriin, joka on uusi paradigma datanhallintaan. 

Kirjoitin sen perusperiaatteista vuosi sitten tässä, mutta lyhyt kertaus Data Mesh-filosofiasta on ehkä paikallaan.

Data Meshissä keskeistä on:

  • hajautettu (decentralized) arkkitehtuuri vs keskitetty arkkitehtuuri (centralized), 
  • mikropalvelut vs monoliittiset IT-järjestelmät.
  • Pienet ketterät tiimit vs isot allokaatiot
  • API-rajapinnat

Myös datatuotteet (data product) sekä domain driven design (DDD) ovat siinä erittäin tärkeitä konsepteja.

Aihe tälle kirjoitukselle tuli siitä, että nyt jo toinen kansainvälinen suuryritys suunnittelee Data Mesh-arkkitehtuurin lanseeraamista Ellietä hyödyntäen. Näin ollen olen saanut ensi käden tietoa näiden massiivisten yritysten suunnitelmista.

Uusille lukijoille, Ellie on Ellie Technologies Oy:n lanseeraama uudenlainen tietomallinnus & governance työkalu.

 

Data Mesh – puurot ja vellit sekaisin

Data Mesh on tämän hetken hypetetyin termi ja se on omiaan ärsyttämään jääriä.

Moni vanhan koulukunnan tietovarastoihminen on repinyt pelipöksynsä lopullisesti, koska näkevät Data Meshin jälleen uutena yrityksenä kaataa tietovarastoon perustuvan datanhallinta paradigman.

Aikaisemmin tietovarastojen kaatamista yrittivät big data, BI-softa ja datalake (tietoallas) porukat – huonolla menestyksellä.

Tässä ovat nimittäin menneet ne kuuluisat puurot ja vellit sekaisin. 

Jälleen ollaan unohdettu use case ja yrityksen toimiala. Data Mesh luotiin alunperin teknologiayrityksille, kuten Netflix ja Zalando. Niiden use caset poikkeavat muista yrityksistä, koska toimiala on eri.

Samaa tapaan Hadoop-vetoinen big data kehittettiin Facebookille ja vastaaville verkkodatan analysointiin. 

Verkkodatan analysointi oli muille kun softafirmoille hyvin harvinainen use case, mutta silti samaa ratkaisua yritettiin tunkea surutta joka toimialalle korvaamaan tietovarastoa – luonnollisesti homma meni metsään.

 

Data Meshin haasteet perinteiselle yritykselle

Data Mesh-arkkitehtuuria toteutetaan seuraavasti.

Yrityksessä on domaineja, joita voi kutsua myös liiketoiminta-alueiksi. Nämä domainit sitten tuottavat itsenäisesti datatuotteita. Yksiköissä on ns. product ownerit, joiden vetovastuulla tämä on. 

Esimerkiksi Zalandolla yksi tällainen domain on sen nettikaupan hakukone. Yksi tiimi siis vastaa siitä, että kuluttaja saa mahdollisimman relevantteja osumia kirjoittaessaan hakukoneeseen etsimiään tuotteita.

Tämä pieni tiimi koostuu koodareista ja tiimissä on product owner, joka on niin ikään hyvin teknisesti orientoitunut ja tuntee sovelluskehityksen vaiheet kuten backlogin hallinnan, epicit sekä muun scrum-käsitteistön.

Jos mietitään “perinteisimpiä” toimialoja, kuten teollisuus ja vaikkapa rakentaminen (tässä muuten Suomen top kolmen kärki: metalliteollisuus 41 %, kemianteollisuus 21 %, metsäteollisuus 20 %), tämä Zalandon use case on tietysti hyvin erilainen. 

Perinteisen teollisuusfirman domaineja, eli liiketoiminta-alueita voisivat olla tuotanto, laskutus tai rekrytointi. 

Näiden funktioiden edustajat eivät luonnollisesti ole koodareita tai data-alan osaajia. 

Veikkaisin, että heille termit “product owner” ja “backlog” kuulostavat suhteellisen kaukaiselta. 

Ja mitä edes tarkoitetaan datatuotteella tai domain driven designinllä?

 

Mikä on datatuote tai domain driven design?

Kaikkialla puhutaan datatuotteista, mutta usein ei avata mitä tällä konkreettisesti tarkoitetaan.

Datatuote on sovellus joka hyödyntää dataa. Esim verkkopankin lainahakupalvelu on sellainen.  Se voi olla myös sisäinen, kuten tuotannon laadunvarmistukseen liittyvä digitaalinen palvelu.

Itse asiassa tietovarasto- ja BI-puolelta tutut datamartit itse ovat eräänlaisia datatuotteita.

Datamartit ovat tietovarastosta johdettuja data-analytiikka kokonaisuuksia. Ne usein rakennetaan pienen tiimin toimesta ja tietyn domainin vetäminä. Ne tehdään aina myös tietyn liiketoimintahaasteen ratkaisuun, esim dashboard tietyn tuotteen myynnistä jossain lokaatiossa. 

Domain driven design juontaa data meshin tapaan juurensa ohjelmistokehityksen menetelmiin. Sen mukaan ohjelmistokehityksen pitäisi perustua domainien käyttämään kieleen ja logiikkaan sekä yhteistyöhön liiketoiminnan ja sovelluskehityksen välillä. 

 

Hyödynnä kuitenkin Data Meshin parhaat palat

Organisaation täytyy kuitenkin olla hyvin korkealla maturiteetin tasolla, mikäli se mielii hyödyntää Data Meshiä sellaisenaan.

Pelkäänpä, että se on liian iso muutos ja järjestely ruveta kouluttamaan jokaisesta myynti-, HR- ja talousjohtajasta product owneria ja dataosaajaa (sivuhuomautus: olen isossa kuvassa ehdottomasti sitä mieltä, että ihan kaikkien roolien tulisi nostaa edes hieman dataosaamisen tasoa, siitä olisi valtavasti hyötyä liiketoiminnan kehityksen kannalta).

Data Meshin keskeinen osa on domain driven design, eli että Zalandon hakukoneen vastuuhenkilö osaa määrittää datatuotteet perustuen oman alueen termeihin, tarpeisiin ja käyttötapauksiin.

Jos unohdetaan kaikki product ownerit, domain driven designit, datatuotteet ja muu höpinä, niin koko Data Meshin sanoma voidaan redusoida tähän:

Miten saadaan liiketoiminta, eli datan hyödyntäjä, mukaan datan kehittämiseen siten, että dataprojektit palvelevat nimenomaan heitä?

 

Liiketoimintalähtöinen mallinnus

Nyt on useampi ulkomaalainen korporaatio lähestynyt Ellien myyntiä juuri tämä ajatus mielessä: he puhuvat Data Meshistä ja erityisesti domain driven designista.

Ellien avulla voidaan määrittää liiketoimintaspeksit datalle (tai datatuotteelle) ilman, että jokaisesta liiketoiminnan edustajasta pitää tulla product owner!

Elliessä voi tehdä liiketoimintalähtöiset datamallit, joista voidaan johtaa ns. loogiset datamallit itse datatuotteen rakentamiseen (tai ihan vain datan hyödyntämiseen).

Ellien ajatus on se, että datamallien pitää olla mahdollisimman helposti saatavilla ja jaettavissa.  Tämä ominaisuus juuri on yllättävän tärkeää olennaista domain driven design -tyyppisessä ajattelussa. 

Pankin lainanhakupalveluun ei tarvita kaikkea pankin dataa, vaan pelkästään sovellukseen liittyvää relevanttia dataa. Elliessä voi määritellä scopen siihen. Elliessä voidaan tehdä myös tähtimallit datamartteihin.

Ei siis ihme, että Ellien liikevaihto tuplaantui viime vuodesta, kysyntä on nyt erittäin suurta!

 

Ei kannata lähteä soittaen sotaan

Minusta ei ole vaivan väärti lähteä miettimään, miten Data Mesh voisi korvata esim tietovarastoja ja onko se hypeä ja blaa blaa. Tai että mikä on virallinen ja oikea määritys datatuotteelle.

Kun seuraa data mesh slack-foorumin keskustelua, niin tosiaan pahoin pelkään, että sille käy kun hadoop-vetoisen big datan kanssa – miljoonat menevät hukkaan kun ei ymmärretä use caseja ja toimialan rajoitteita.

Tärkeämpää on miettiä, miten voisin hyödyntää Data Meshin parhaat palat ilman, että pitää räjäyttää koko organisaatiorakenne. 

Ellet sitten ole esim suomalainen Supercell, jossa 90 % ihmisistä on koodareita ja jonka use caset on hyvin toisenlaisia kuin vaikkapa Outokummun. 

Oikein hyvää kevään jatkoa kaikille!

Ystävällisin terveisin,

Johannes Hovi

Ps. Ari Hovi järjestää nyt upouuden kurssin Data Mesh-aiheeseen littyen:

Creating Data Products in a Data Mesh, Data Lake or Lakehouse for Use In Analytics 03.02 – 04.02.2022

Miten rakennetaan datatuotteita uusilla teknologioilla? 

Mike Ferguson on yksi maailman johtavia data-alan teknologia-analyytikoita ollen hyvin perillä uusista trendeistä ja teknologioista. Nyt kannattaa säästää aikaa ja tulla kuulemaan parin päivän ajan, mitä maailmalla tapahtuu ja voisiko sinun organisaatiosi hyötyä alan uusista suuntauksista, kun Data Mesh ja Data Lakehouse.  Kuulet käytännön toteutuksista sekä parhaista käytännöistä, tule siis mukaan!

Lisätiedot ja ilmoittautuminen tästä.

Saattaisit olla kiinnostunut myös näistä

Tiedon elinkaari ja tiedonhallinta

Lue lisää

Tietovaraston paras arkkitehtuuri

Lue lisää

Strategia antaa kontekstin datatyölle

Lue lisää