Azure Data Platform – Täyden palvelun datalogistiikkakeskus pilvessä

Antti Lumijärvi Analytiikka, Avarea, Pilvipalvelut, Tiedon hyödyntäminen, Tiedon varastointi, tiedonhallinta, Tietovarastointi

Azure Data Platform on ”Microsoftin konesali pilvessä” – pilvialusta, joka tarjoaa kattavan kokoelman toimintoja ja palveluita moneen eri käyttötarkoitukseen. Otetaan laajasta kirjosta käsittelyyn yksi kokonaisuus: data platformin rakentaminen Azuren palveluja hyödyntäen.

Mikä on data platform?

Suomennettuna data platform voisi olla ”alusta tiedon hyödyntämiseen”. Sen voisi yhtä hyvin sanoa ”moderni tietovarasto”, mutta logistikkona pelkkä varasto ei mielestäni riitä, vaan varaston lisäksi mukana on ainakin terminaali, cross-docking ja kuriiri. Vertauskuvallisesti kyseessä on siis dataa käsittelevä automatisoitu täyden palvelun logistiikkakeskus.

Englanninkielinen termi ”data platform” on mielestäni melko toimiva, mutta käytettyä termiä olennaisempaa on tietysti ymmärtää ajatus sen takana ja Hannun blogikirjoitus tiivistää hyvin, mistä on kyse.

Data platform -kokonaisuuteen kuuluu olennaisena osana:

  • Datan kerääminen ja tallentaminen – Erilaisista tietolähteistä, eri menetelmin ja monenkirjavissa formaateissa
  • Datan säilöminen, data lake – Nyt tai mahdollisesti tulevaisuudessa hyödyllistä dataa ei kannata hävittää
  • Datan integrointi ja jäsennetty tietovarasto, EDW – Esimerkiksi Data Vault 2.0 mallinnettu, ks. Pasin kirjoitus aiheesta
  • Tiedon hyödyntämisrajapinnat, data/information mart – Tiedon tarjoaminen raportointivälineille, kuten Power BI:lle, siinä muodossa, jossa siitä on eniten hyötyä, tarvittaessa lähes reaaliaikaisesti
  • Ympäristö edistyneelle analytiikalle – Tiedon säilöminen raakadatana sekä jalostetussa muodossa tarjoaa hyvän pohjan esimerkiksi koneoppimisen sovelluksille tai muulle datan louhinnalle

Jäljempänä otetaan tarkasteluun näistä vaiheista erityisesti datan tallentaminen, säilöminen sekä integrointi.

Kuvaus Azuren Data Platformin prosessista trukkien ja pahvilaatikoiden avulla.

Azure-Data-Platform-Prosessikuvaus-fIN

Miksi perustaa data platform pilveen?

BI:lle ja analytiikalle pitää asettaa tavoitteet, jotta data platformia kannattaa ylipäänsä alkaa suunnitella. Alkusysäyksen voi antaa esimerkiksi IoT-datan keräämisen aloitus tai esim. se, että vanha raportointiympäristö yksinkertaisesti lahoaa alta muutospaineessa. Tavoitteena voi olla saada keskitetty tietolähde operatiivisen toiminnan hallintaan, parantaa ennustettavuutta tai valjastaa kertyvä data kehittämään uutta liiketoimintaa.

Pilveen sijoitettavalla data platformilla on useita etuja on-premises ympäristöön verrattuna ja jos palataan otsikon vertaukseen, niin yhdessä asiassa data platform eroaa logistiikkakeskuksesta merkittävästi – käynnistyskustannuksissa. Pilvialustat, kuten Azure, ovat ympäristöinä skaalautuvia ja käynnistysvaiheessa ei tarvitse tietää, mitä kaikkia palveluita ja millä kapasiteetilla tulevaisuudessa tarvitaan.

Azuren pay-as-you-go toimintaperiaate mahdollistaa ympäristön perustamisen käytännössä nollainvestoinneilla ja suorituskyvyn kasvattaminen onnistuu tarpeen mukaan. Etukäteen ei siis tarvitse osata ennustaa tarvittavaa hyllypaikkojen, shuttlejen tai lastauslaitureiden määrää vuosien päähän, kuten logistiikkakeskuksessa, vaan kapasiteettia voi säätää ylös tai alas tarpeen mukaan.

Vertailua Azuren ja muiden ympäristöjen, kuten AWS:n, välillä on tehty runsaasti. Perusteltuja näkökulmia on puolin ja toisin, eikä tässä haluta lähteä millään tavalla kampittamaan muita alustoja. Jos tarkastelee asiaa nimenomaan data platformin näkökulmasta, voi toki mainita, että yksi Azure Data Platfromin eduista on sen tarjooman laajuus: käytännössä kaikki tarvittavat palvelut saadaan samalta luukulta.

Azuren komponenteista Data Factory (v2), Blob Storage Account, Data Lake Store + Analytics ja Logic Apps hoitavat leiviskänsä osana data platform kokonaisuutta, näistä tarkemmin alla. Kokonaisuuden täydentää Azure SQL Database tai Data Warehouse sekä Azure Analysis Services. Ja koska ollaan yhdessä ja samassa ympäristössä, eri osa-alueet toimivat yhteen saumattomasti. Azure AD:n kautta käyttöoikeuksien hallinta on sujuvaa läpi kaikkien platformin kerrosten.

Raakadata talteen

Raakadata tarkoittaa oikeastaan mitä tahansa jalostamatonta dataa. Lähteenä voi olla esimerkiksi yrityksen tietojärjestelmät kuten ERP tai CRM, verkkosivustot ja niiltä kerätty data, avoimen datan palvelut, IoT-ratkaisut tai dataa kaupallisesti myyvät toimijat. Erilaisista lähteistä johtuen data voi tulla eri formaateissa, kuten JSON tai CSV ja olla noudettavissa ftp:ltä, suoraan SQL-tietokannasta tai vaikkapa REST API-rajapinnasta.

Azuren Logic Appit ovat osoittautuneet monipuolisiksi työkaluiksi datan keräämisessä ja tallentamisessa eri lähteistä. Dataa voidaan noutaa myös Data Factoryn toimintoja hyödyntäen.

Tallennuskapasiteettia tarjoavat Storage Account sekä Data Lake Store, joihin noudetun datan voi tallentaa ja säilöä. Näissä on paljon yhtäläisyyksiä, mutta myös pieniä eroja esimerkiksi tallennustilan tai luku/kirjoitus/poisto-operaatioiden hinnassa. Kumpaankaan vaihtoehdoista ei liity erityisiä sudenkuoppia, mutta datan määrä ja se, käydäänkö dataa lukemassa usein, vai onko se lähinnä tallennettuna ”levossa” odottamassa aikoja parempia, voi vaikuttaa kumpi vaihtoehdoista on järkevämpi valinta. Microsoftin sivuilta voit lukea hieman lisää eroavaisuuksista.

Tallennuskapasiteetin käyttöön on tarjolla valmiit kirjastot ohjelmointikielille, esim. Python, .NET ja Java. Myös Data Factory sekä Logic Appit toimivat molempien kanssa kiitettävästi.

Data Factory taipuu moneen

Data Factory (v2) on Azuren integraatiokeskus. Sen avulla voi toteuttaa esimerkiksi ajastukset, rakentaa dataputket (pipelinet) ja ylipäätään suorittaa tarvittavat ETL/ELT-prosessin vaiheet.

Data Factoryn kulmakivi ja perustoiminto, datan kopiointi, on yksinkertainen, mutta tehokas työkalu. Sen avulla dataa voi hakea monissa eri muodoissa ja monista eri lähteistä sekä toimittaa eteenpäin seuraavaan vaiheeseen. Välissä data voidaan esim. muuntaa JSON formaatista sarakemuotoon jatkokäsittelyn helpottamiseksi.

Monimutkaisempiin tai enemmän tehoa vaativiin operaatioihin Data Factorylla voi kutsua avuksi Data Lake Analytics-palvelun U-SQL-skriptejä. Näiden on havaittu taipuvan isojen datamäärien käsittelyn lisäksi varsin hyvin myös perinteisen ETL-prosessin osaksi, koska skriptien avulla onnistuu esimerkiksi yhdistää ja summata dataa. U-SQL on hybridi SQL-syntaksia ja C#/.NET koodia ja funktiokirjasto on laaja. Lisätietoja U-SQListä täältä.

Muita Data Factoryn toimintoja ovat esimerkiksi tietokantaproseduurien kutsut ja web requestit, kuten myös mahdollisuus custom-aktiviteetteihin. Myös Microsoftin perinteisempää SSIS-palettia on mahdollista käyttää Data Factoryn kautta, mutta se pyörii Azuressa virtuaalikoneen päällä, jollaisen käyttö lisää kustannuksia.

Pelkästään Data Factoryn perustoimintojen ja Data Lake Analyticsin yhteispelillä melko monimutkaisenkin integraatiokokonaisuuden saa tehtyä ilman virtuaalikoneita ja siten kustannustehokkaasti. Kun vielä lisätään Logic Appien monipuolisuus, niin kokonaisuus alkaa olla valmis.

Kehittyvä ympäristö

Azure ympäristönä kehittyy jatkuvasti, osittain käyttökokemuksesta saadun palautteen perusteella. Avarealla ollaan lähdetty ennakkoluulottomasti käyttämään Azureen uusia tai ns. preview-tilassa olevia ominaisuuksia. Tällöin väistämättä törmätään myös lastentauteihin, mutta vastaavasti päästään kartuttamaan kokemuksia ja ulosmittaamaan hyötyjä välittömästi kun uutta on saatavilla.

Jos kysymykseen ”Saadaanko tällä uudella testiin tulleella ominaisuudella taklattua jokin haaste aiempaa tehokkaammin?” vastaus on kyllä, sitä todennäköisesti lähdetään heti pilotoimaan. Siksi meillä on useiden projektien voimalla kokemusta viimeisimmistä Azuren toiminnoista ja vahva näkemys siitä, miten moderni data platform kannattaa rakentaa.

Sitten vielä vihoviimeinen logistiikkavertaus – logistiikkakeskuksen ja data platformin suunnittelun onnistumisessa auttaa, jos huomioi paitsi sen, miten pärjätään nykyisen data/tavaravirran kanssa, myös sen, miten ratkaisussa varaudutaan tuleviin muutoksiin toimintaympäristössä. Joustavat ratkaisut pysyvät mukana maailman muuttuessa. Perinteisten tietovarastojen haasteena on ollut työläät muutostoteutukset sekä käsistä karkaavat yllpitokulut. Tästäkin löytyy hyviä – ja huonoja esimerkkejä myös logistiikkakeskuksista.

Blogi-postauksetUutisia analytiikastaLue lisää osaamisestamme!Lue lisää palveluistamme!Ota yhteyttä Azure-asioissa!