Analytiikkaa Azure ML:llä: Osa 2, Teknisen ympäristön pystyttäminen Azureen

Käytännön analytiikan blogisarjamme jatkuu. Viime kerralla määrittelimme liiketoimintaongelman, joka pitää ratkoa ja sovimme toimenpiteistä joilla tähän päästään.

Ennen kuin päästään itse datan pariin, pitää meidän pystyttää tekninen ympäristö. Käydään se nyt läpi. Otetaan ensiksi katsaus ylätason arkkitehtuuriin, tuotteisiin ja komponentteihin. Sen jälkeen alempana näytetään miten kaikki tehdään käytännössä.

Edistyneen analytiikan arkkitehtuuri

Mitä tuotteita, tietokantoja ja sovelluksia tarvitaan kun rakennetaan täysiverinen, tuotantokelpoinen analytiikkaympäristö? Otetaan selvää.

Katsotaan ensiksi ihan ylätasolla, mitä meillä pitää olla ja mitä pitää tehdä?

  • lähdedata: meillä pitää olla jotain mitä työstää ja analysoida
  • tietojen poiminta, muokkaus ja integrointi. Eli meillä pitää olla jokin ns. etl-työväline (extract-transform-load, tuttu tietovarastomaailmasta). Yleensä valtaosa analytiikkaprojektin työajasta (n. 70%) menee datan muokkaamiseen ja käsittelyyn.
  • tietokanta, johon lähdetieto tallennetaan, jossa sitä myös muokataan etl-välineellä ja jonne myös valmiit tuotokset tallennetaan
  • analytiikkatyöväline: eli se missä varsinainen tiedon mallinnus, data science ja algoritmit sijaitsee
  • visualisointi, julkaisu: analytiikkatyöväline on harvoin se missä tulokset näytetään loppukäyttäjille. Usein, miltei aina tulokset viedään johonkin raportointi- tai visualisointiohjelmistoon.

Eli tiedon arvon jalostusta ja niihin liittyviä komponentteja voisi kuvata kuten alla.

Analytiikka-arkkitehtuuri Azure-ympäristössä Louhia

Arkkitehtuurin voi myös kuvata perinteisesti tietovarastotyyliin kuten alla kuvassa:

Analytiikka-arkkitehtuuri Azure-ympäristössä Louhia 2

Ja muistetaan, että kaikki tuotteet, palvelimet ja komponentit pitää löytyä pilvestä. Lähdetietoja lukuunottamatta. Mitään ei asenneta omalle koneelle tai omaan palvelinsaliin.

Heitän seuraavaksi pallon Lasselle, joka toipui influessasta yhdessä päivässä, kuulemma pelkästään proteiinipatukoiden voimalla.

Teknisen ympäristön pystyttäminen

Seuraavassa käydään läpi miten edellä luetellut kaikki tarvittavat tuotteet, tietokannat ja palvelimet otetaan käyttöön Microsoft Azure -ympäristössä.

1. Luo Azure tili

Azure tilin osalta voidaan puhua ihan tavallisesta Microsoftin käyttäjätilistä. Microsoftin käyttäjätilillä (yritys/yksityinen) pääsee kirjautumaan kaikkiin Microsoftin palveluihin. Microsoftin käyttätilin voi luoda osoitteessa signup.live.com

22_Create_azure_account

 

Kun Microsoftin käyttäjätili on luotu, pääset kirjautumaan osoitteessa https://account.windowsazure.com/, jossa seuraavaksi luodaan Azure-tilaus (Subscription). Tässä yhteydessä valitaan haluttu maksutapa ja kerrotaan kenen pussista rahat otetaan. Meidän blogisarjaa varten rahat viedään minun eli Lassen tililtä Pay-As-You-Go-tyyppisesti, eli maksetaan kiltisti viulut mitä palveluiden käytöstä aiheutuu, eikä tippaakaan ylimääräistä (kiitos Lasse uhrauksesta. T. Johto)

31_Azure_Subscription

Kun edellä olevat kohdat kyselyineen ovat täytetty, voidaan siirtyä seuraavaan kohtaan.

 

2. Azure virtuaalipalvelin ja sinne ETL-työväline (SSIS)

Kirjautumalla osoitteeseen https://portal.azure.com/ edellisessä kohdassa luomalla käyttäjätililläsi, pääset käsiksi Azuren palveluihin, yhdestä paikasta. Tarkkasilmäisimmät huomaavat, että alla olevassa kuvassa näyttäisi olevan jo ostettuina palveluita, mm. Azure SQL-tietokanta, Azure Virtuaalipalvelin, jne… Eli ei pitkälle päästy, kun jäätiin housut kintuissa kiinni,

a. Emme luoneet blogisarjaa varten uutta Microsoft-käyttäjätiliä vaan käytimme jo olemassa olevaa,

b. Unohdin ottaa screenshotin portaalin aloitusnäkymästä ennen kuin suoritin kohdat 3.-4.

Aloitusnäkymä poikkeaa täten aivan blankosta näkymästä

32_Azure__portal

Valitaan New -> Compute -> Windows Server 2012 R2 Datacenter

33_Azure_VM_1

Deployment method: Recource Manager (tai Classic) -> Create

33_Azure_VM_2

Seuraavaksi määritellään virtuaalipalvelimen asetukset

33_Azure_VM_4

Huomioitavaa on se, että tässä vaiheessa luodaan uusi Resource Group, jonka alle eri palveluita voidaan ottaa käyttöön (seuraaminen/hallinnointi helpompaa). Seuraavaksi määritellä raudan speksit, demoa varten meille riittää A1 Basic-tason virtuaalikone. Saamme valinnalla tuulahduksen nostalgisista 386:n ajoista. Tämän tason virtuaalimasiinasta on kokemuksia ja tiedän ettei hyvä heilu suorituskykymielessä, mutta mennään tällä jotta luottorajat ei pauku ja saan tuotua leivän perheelle ensi kuussakin.

33_Azure_VM_3

Ja kun kun kaikki on tarkistettu vähintään kertaalleen, painetaan OK

33_Azure_VM_5

Kun OK-nappia on painettu palaa Azure-portaali aloitusnäkymään, johon on ilmestynyt sininen suorakulmio, jossa viuhahtelee valkoisia viivoja, tämä tarkoittaa sitä, että palvelinta ollaan pystyttämässä. Pystytystä odotellessa voidaan siirtyä seuraavaan kohtaan ja palata ETL-työvälineen asentamiseen kun virtuaalipalvelin on luotu.

ETL-työväline, ts. Microsoftin Data Toolsin (tarkemmin demosarjan tapauksessa: (Microsoft SQL Server Data Tools – Business Intelligence for Visual Studio 2012) saa ladattua Microsoftin sivuilta (https://www.microsoft.com/en-us/download/confirmation.aspx?id=36843).

Nyt kun virtuaalipalvelin on luotu, voimme kirjautua sinne esimerkiksi suoraan Remote Desktop Connectionilla (palvelimen tiedot löytyvät Azure-portaalista). Kiikutetaan Data Toolsin sisältävä tiedosto (SSDTBI_VS2012_x86_ENU.exe) virtuaalipalvelimelle, keinoja on tietysti monia, esimerkiksi ”copy & paste”. Exe-tiedosto purkautuu automaattisesti haluttuun kansioon, jonka jälkeen käydään klikkaamassa SETUP-applikaatio käyntiin ja edetään lyehkön wizardin mukaisesti. Ei siis tämä ETL-työvälineenkään asentaminen ole vaikeaa (huomattavasti vaikeampaa voi olla löytää palvelinspekseihin sopiva Data Toolsin sisältävä tiedosto).

[Villen lisäys tähän väliin]. Huom: koko virtuaalipalvelin hässäkkä on tarpeen vain SSIS:ää eli etl-työvälinettä varten. Toki sitä voi käyttää myös tiedostojen tallennuspaikkana.

Useimmiten (=aina) analytiikkahankkeissa meidän pitää yhdistää eri tietolähteitä ja/tai muokata dataa, laskea uusia muuttujia jne.

Ja harvoin analytiikkatyövälineen oma tiedonkäsittely ja integraatio-ominaisuudet riittävät tähän. Tai se vaatisi kovaa koodaamista. Itse pitäisin analytiikkasoftan analytiikkakäytössä ja hankkisin aina parhaan työvälineen sille tarkoitettuun tehtävään. ETL-työväline ja sille dedikoitu palvelin tulee käyttöön viimeistään siinä vaiheessa jos rakennetaan tietovarastoa tai erillistä raportointitietokantaa.

Vaihtoehto SSIS:lle olisi Microsoftin Data Factory, mutta se ei ole vielä valmis tuote oikeaan datan käsittelyyn, enemmänkin tietojen lataukseen paikasta a paikkaan b. Tulevaisuudessa Data Factoryn pitäisi kuitenkin olla Microsoftin ykkösvaihtoehto pilvipohjaiseen ETL-työhön.

3. Azure SQL tietokanta

SQL tietokannan luonti on helppoa Azure Portaalin kautta, seuraava kuvasarja näyttää kuinka helppoa se on.

Valitaan New -> Data + Storage -> SQL Database

32_Azure_SQL_1

Määritellään tietokannalle nimi, kontin tilavuus, hevosvoimat, maksutapa ja lopuksi Create

32_Azure_SQL_2

Demon aineiston luonteen ja Louhian maksaman tilinauhan perusteella jätimme hevosvoimat minimiin valitsemalla B Basic-tyypin tietokannan. On siis hyvä alustavasti tuntea tarpeet ennenkuin tietokannan luo, skaalaus/hevosvoimien vaihtaminen onnistuu myös jälkikäteen (ei paneuduta tässä kuitenkaan siihen).

Azure-portaalin aloitusnäkymään ilmestyy jälleen sininen suorakulmio, nyt tiedätte jo mitä se tarkoittaa… hetken odottelun päästä tietokanta on käyttövalmiina. Valmistumista odotellessa voidaan siirtyä jälleen seuraavaan kohtaan.

Noniin, nyt se on pystytetty, tässä todiste siitä (tietokantaan pääsee käsiksi vaikkapa omalta läppäriltä SQL Management Studio:lla, edellyttää, että määrittelet ip:si sallituksi Azure-portaalista: Firewall settings)

35_Azure_SQL

 

4. Azure Machine Learning Studio

Sanotaanko, että hommat senkun helpottuu tässä vaiheessa, tämä on jo niin helppoa, oikein hirvittää. Siispä asiaan, tässä on käytännössä vain 2 välivaihdetta

Valitaan Azure-portaalista New -> Data + Analytics -> Machine Learning

34_Azure_ML

Kun valinta on tehty, ponnahtaa selaimeesi uusi ikkuna, joka näyttää seuraavalta

34_Azure_ML_2

Tämä on vanha näkymä ja uusi näyttäisi olevan myös tarjolla (sininen laatikko ylälaidassa), mutta kun sitä painaa päästään takaisin samalle sivulle (loogista?).

Azure ML:n käyttöä varten tarvitsee (ainakin ensimmäisellä kerralla) luoda ns. Azure ML Workspace (työtila) ja Storage account. Nämä 2 asiaa saadaan luotua yhdellä kertaa seuraavasti

Valitse New -> Data Services -> MACHINE LEARNING -> Täytä tiedot ja luo

34_Azure_ML_3

Azure ML:n käyttöliittymän kuvia tulee blogisarjan edetessä.

 

Enää puuttuu siis Power BI, Ville ota koppi ja nopeasti, menee mun laskuun, hopihopi!

5. Microsoft Power BI

Ville tässä taas. Olen ottanut aiemmin käyttöön MS Power BI desktopin. Asennus + ensimmäiset raportit kesti pari minuuttia. Katsotaan mitä kestää pilvipalvelun käyttöönotto.

Huomioikaa, että nyt ei olla enää Azure-ympäristössä. Tämä on enemmänkin sitä Office 365 maailmaa. Mutta mennään asiaan.

  • Mene osoitteeseen: https://powerbi.microsoft.com/en-us ja klikkaa Get started free
  • Valitse joko Power BI Desktop for Windows tai Power BI (pilviversio). Me otamme jälkimmäisen
  • Kirjaudutaan Microsoftin käyttäjätilillä (ks. kohta 1.), painetaan kerran tai pari OK
  • Ja valmis. Kesto: 42 sek.
Microsoft Power BI käyttöönotto 1 Louhia

Valitse haluatko desktop-sovelluksen vai pilviversion. Molemmat ilmaisia.

Microsoft Power BI käyttöönotto Louhia

Microsoft Power BI käyttöönotto 2 Louhia

Microsoft Power BI käyttöönotto 3 Louhia

Power BI valmiina ottamaan yhteyttä Azure SQL -tietokantaan tai muihin tietolähteisiin.

Otimme nyt käyttöön Power BI:n ilmaisversion. Siinä on rajoituksensa verrattuna Pro-versioon. Löydät erot täältä: https://powerbi.microsoft.com/en-us/pricing/

Pro-version hinta on siis 9,99$/kk/käyttäjä eli esim. 10 hengen organisaatiossa vuosikustannus olisi 1200$.

No niin, nyt meillä on koko paketti kasassa. Asensimme siis:

  • Azure virtuaalipalvelimen
  • ETL-työvälineen ko. virtuaalipalvelimelle
  • Azure SQL -tietokannan
  • Azure ML  analytiikkaa varten
  • MS Power BI:n raportointia ja analytiikkatulosten visualisointia varten

Nyt meillä on pystyssä täysiverinen, skaalautuva, täysin pilvipohjainen arkkitehtuuri, jolla voisi lähteä toteuttamaan myös tietovarasto- ja raportointiympäristöä.

Toisaalta jos sinulla on jo oma ETL-työväline (esim. SSIS, Informatica, IBM DataStage, Pentaho…) tai datasetti on valmiina ja odottaa pelkkää numeronmurskausta, voit skipata kohdat 1-3 eli hankkia pelkän Azure Machine Learning Studion.

Teknisen arkkitehtuurin ja sovellusten asennukseen käytetty aika

[Lasse]: Kohtien 1.-4. suorittaminen kesti pyöreästi 4h, sisältäen ruoka- ja kahvitauot. Suurin osa ajasta meni tiedoston SSDTBI_VS2012_x86_ENU.exe siirtämiseen ja asentamiseen palvelimelle, onneks säästy kuitenkin massii.

[Ville]: Kohdan 5 suorittaminen kesti 42 sekuntia. Sisältäen vessa- ja kahvitauot.

Seuraavassa osassa siirrymme lähdetietojen pariin. Pysy kuulolla!

2 comments on “Analytiikkaa Azure ML:llä: Osa 2, Teknisen ympäristön pystyttäminen Azureen

    • Ville Niemijärvi on

      Moi Asko. Kustannukset eivät ole vielä selvillä koska varsinainen työ on vielä tekemättä. Eli datan käsitttely, mallinnus ja tulosten tuotantokäyttö ja visualisointi. Tätä tehdään siis oikeasti reaaliajassa 🙂

      Ja Azuressa kustannukset tulevat käytön mukaan. Emme tiedä kustannuksia etukäteen, toki voimme antaa jonkin arvion. Esimerkiksi virtuaalipalvelin taisi maksaa reilu 40€/kk (tosi pienellä teholla) jos sitä pitää päällä yötä päivää. Mutta meidän käyttöä varten riittää, että palvein on päällä vain kun sitä käytetään eli datan latausten ja muokkauksen aikana.

      Azure machine learning taas maksaa sen mukaan miten teemme siinä mallinnusta. Eli tällä hetkellä Azure ML:stä ei pitäisi olla tullut kuluja, ainoastaan virtuaalipalvelimesta ja SQL-tietokannasta. Todennäköisesti jokunen euro.

      Vastaa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Yhteydenotto

Mikäli olet kiinnostunut yrityskohtaisista palveluista tai sinulla kysyttävää palvelujemme sisällöstä, niin ota yhteyttä oheisella lomakkeella tai soita Mikalle numeroon 040 845 8432.