- 27.8.2017

Integraatioalusta Azure palveluiden avulla: Logic Apps ja Flow

Yritykset kytkeytyvät toisiin yrityksiin sähköisten järjestelmien kautta yhä useammin. Lisäksi yritykset käyttävät sisäisesti erilaisia järjestelmiä, joihin tallennetaan osittain päällekäisiä tietoja, mutta jotka eivät usein kommunikoi keskenään kovin hyvin. Jos lainkaan. Näihin ongelmiin hankitaan yhä useammin integraatioalusta, jonka avulla kytketään järjestelmät paremmin toisiinsa, ja saadaan tiedot soljumaan järjestelmästä toiseen automaattisesti ja varmasti.

Tämä artikkeli on osa artikkelien sarjaa, jossa käsitellään järjestelmäintegraatioita ja sovellusten hallintaa Azuren palveluiden avulla.

Azure Logic Apps

Azure -palveluiden avulla toteutettu integraatioalusta hyödyntää lähes poikkeuksetta aina Azure Logic Apps -palvelua. Sen avulla voit visuaalista työkalua käyttäen luoda työnkulkuja, ns. ”orkestraatioita” joissa tieto kulkee eteenpäin määriteltyjen vaiheiden ja käsittelylogiikan läpi. Näihin vaiheisiin voit liittää muita järjestelmiä valmiiden liittimien (connectors) avulla, joita löytyy valmiina jo yli sadalle eri palvelulle tai teknologialle.

Logic Apps -työnkulku käynnistyy aina jostakin herätteestä, joita liittimet tarjoavat. Tämä heräte sisältää yleensä jonkin tiedon palasen, jota työnkulussa käsitellään. Integraatioalusta huolehtii tämän jälkeen työnkulun käynnistämisestä, ja työnkulussa määriteltyjen vaiheiden suorittamisesta näihin liitettyjä liittimiä hyödyntäen.

Valmiit Logic Apps -liittimet

En ryhdy tässä kaikkia liittimiä listaamaan, mutta olen tähän poiminut muutaman mielenkiintoisen.

  • Dynamics 365 – Käynnistä työnkulku kun Dynamics 365:een tallennetaan uusi myyntivihje (lead), ja tallenna siitä tieto SQL tietokantaan, ja lähetä sähköpostia Outlook -liittimen avulla.
  • Office 365 Outlook – Käynnistä työnkulku kun uusi sähköposti saapuu, ja vie sen liitetiedostot SharePoint Online -sivustoon, mikäli sähköposti täyttää tietyt kriteerit. Päivitä yhteystietoja automaattisesti tai luo uusia tehtäviä omalle tehtävälistallesi.
  • SharePoint Online – Käynnistä työnkulku kun uusi tiedosto luodaan tai vanhaa muokataan. Tallenna tietoja SharePointin listalle muista lähteistä.
  • Salesforce – Käynnistä työnkulku kun yrityksesi Salesforceen joku luo esim. uuden myyntiviheen (lead), ja prosessoi sitä tietoa eteenpäin, esim. tallentamalla se myös SharePoint Online -liittimen avulla listalle.
  • Azure SQL tietokanta – Päivitä SQL tietokannassa olevaa tietoa, tai nouda tietoja työnkulkuun, ja välitä niitä eteenpäin muille liittimille työnkulussa.
  • HTTP – Käytä web -kutsuja työnkulkujen herätteinä joilla käynnistetään työnkulku esim. tilanteissa, joissa yrityksesi verkkosivut eivät toimi oikein. Käynnistä työnkulku ulkopuolelta tulevalla HTTP -pyynnöllä. Mahdollistaa yksinkertaisen tavan integroida muita järjestelmiä Logic Apps orkestraatioihin.
  • Azure Functions – Liitä omat funktiosi työnkulkuun ja käytä niitä esim. työnkulussa käsiteltävän tiedon muokkaamiseen tai tarkistamiseen. Soveltuu hyvin erilaisiin tiedon tarkistuksiin ja muotoiluihin.

Logic Apps integraatioalusta – järjestelmäorkesterisi kapellimestari

Logic Apps on parhaimmillaan silloin, kun haluat saada useamman järjestelmän ”juttelemaan” keskenään ilman että järjestelmien tarvisee ymmärtää toistensa sisäisistä kiemuroista juuri mitään. Järjestelmät juttelevat vain Logic Appsin kanssa, mutta eivät keskenään. Tällä tavalla saadaan merkittävästi vähennettyä järjestelmien välisiä riippuvuuksia.

Tässä ajatuksessa ei sinänsä ole mitään uutta, vaan näin on ajateltu jo siitä asti, kun palvelukeskeinen arkkitehtuuri (SOA) yleistyi vuosituhannen vaihteessa. Nykyään puhutaan jo enemmän mikropalveluarkkitehtuurista, mutta perusperiaatteet ovat samat. Mikropalveluarkkitehtuuri ja sen toteutustapa vaan on kevyempi, ja palvelut ovat luonteeltaan pienempiä, ja yhä erikoistuneempia johonkin tiettyyn asiaan.

Mikäli jokin järjestelmä ei suoraan osaa jutella Logic Appsin kanssa, saa siihen yleensä suhteellisen vähällä vaivalla tehtyä liitoksen joko olemassa olevilla liittimillä, tai Azure API Apps:n ja Azure Functions:n avulla. API Apps ja Azure Functions pääsevät tarkempaan syyniin tämän artikkelisarjan seuraavassa eli 3:ssa osassa.

Konkreettisia esimerkkejä

Jotta saisit vielä paremman kuvan siitä mitä Logic Appsilla toteutettu integraatioalusta voi tarjota, niin listaan tähän alle lyhyesti muutaman konkreettisen esimerkin.

  • Asiakaspalautteen käsittely – Kaikillahan nykyään on verkkosivuillaan jonkinlainen palautekanava. Yleensä tätä kautta lähetetyt palautteet ohjataan yhteen ja samaan ”Info -laatikkoon”. Entä jos voisitkin tehdä lomakkeen käsittelyn hieman älykkäämmin, ja valita vastaanottajan palautteen aiheen perusteella: yleispalautteet toimitusjohtajalle, tuotteisiin liittyvät palautteet tuotepäällikölle ja rekrytointikyselyt HR -päällikölle. Lisäksi voisit tarkistaa, että jos henkilöllä jolle palaute ohjataan on poissaolovastaus päällä (out-of-office reply), niin etsitään poissaolovastauksesta sähköpostiosoite, ja välitetään palaute kopiona myös tähän osoitteeseen. Ei jää palautteet käsittelemättä lomien tai poissaolojen takia.
  • Uuden työntekijän palkkaus – Montako järjestelmää sinulla töissä on, jota käytät työtehtävissäsi? Office 365:n myötä näiden järjestelmien määrä on onneksi vähentynyt rajusti, mutta silti edelleen on yrityksissä käytössä useita erilaisia järjestelmiä, esim. matkalaskujen, tilavarausten ja lomatoiveiden kirjaamiseen. Lisäksi HR:llä ja palkanlaskennassa on tyypillisesti omat järjestelmänsä. Palkanlaskenta on useinpa vielä täysin ulkopuolisen yrityksen hoidossa. Eikö olisi hienoa, jos voisit perustaa uuden työntekijän vain yhteen paikkaan, jonka jälkeen tieto uudesta työntekijästä kulkisi kaikille käytössä oleville järjestelmille, myös palkanlaskentaan?
  • Sosiaalisen median seuranta – Mietityttääkö mitä yrityksestäsi puhutaan sosiaalisessa mediassa? Anna automaation vahtia sosiaalista mediaa puolestasi, jonka avulla saat Microsoft Teams -kanavaan viestin kun tietyt kriteerit täyttyvät. Tähän sopisi vielä erittäin hyvin Microsoftin Cognitive Services ja sen tekstin analysointi, jonka avulla voit analysoida mihin sävyyn teksti (esim. twiitti Twitterissä) on kirjoitettu. Lue myös Antin artikkeli Cognitive Service -palvelusta.
  • Tuotearvosteluiden kerääminen – Tilaako asiakkaasi tuotteitasi tai palveluitasi netistä? Haluaisitko pyytää heiltä viikon tai kahden kuluttua (kun ovat ehtineet tuotetta jonkin aikaa käyttää) arvostelun ostamastaan tuotteesta? Arvostelun voisit myös analysoida Cognitive Servicen avulla, ja julkaista automaattisesti vain ne, joissa tuotteestasi puhutaan hyvään tai neutraaliin sävyyn.

Microsoft Flow

Vaikka Microsoft Flow ei varsinaisesti ole Azuresta löytyvä palvelu, otin sen tähän mukaan siksi, että se on Logic Appsin ”pikkuveli” siinä mielessä, että on rakennettu täysin Logic Appsin varaan. Se mikä on Flow:lla tehty voidaan siirtää suhteellisen helposti Logic Apps -sovellukseksi, ja ne liittimet (connectors) jotka Flow:ssa toimii, toimii myös Logic Appsissa.

Flow on myös se työkalu joka tulee olemaan tutumpi useammalle, todennäköisesti myös sinulle. Microsoft on jo nyt tuonut Flow:n esimerkiksi SharePoint Onlinen listoihin ja dokumenttikirjastoihin, ja voit näiden integraatioiden avulla helposti jatkokäsitellä listojen ja dokumenttikirjastojen sisältöjä kun niitä luodaan tai muutetaan. Voit myös esimerkiksi tallentaa sähköpostissa tulleet liitteet SharePointin dokumenttikirjastoon täysin automaattisesti Flow:n avulla.

Nämä seikat tekevätkin Flow:sta erittäin mielenkiintoisen; toisaalta, sen taustalla on teknologia, jonka avulla täytetään tiukimmatkin liiketoimintavaatimukset, ja sitten toisaalta, se on jo nyt muutamalla klikkauksella käytettävissä. Jos teet Flow:n avulla työnkulkuja joista myöhemmin tulevat kriittisiä liiketoimintasi kannalta, voit ne suhteellisen yksinkertaisesti siirtää Logic Apps -sovelluksiksi. Jos kaipaat apua, niin me voimme luonnollisesti siinä auttaa.

Kumman valitsen? Logic Apps vai Flow?

Suoran vastauksen antaminen ei valitettavasti ole niin helppoa, mutta itse näkisin, että seuraavien ohjenuorien avulla onnistut valinnassasi paremmin.

Itse miellän nämä vaihtoehdot niin, että Microsoft Flow on ensisijaisesti suunnattu henkilökohtaisen työn tehostamiseen ja toistuvien tehtävien automatisointiin, kun taas Logic Apps on enemmän tarkoitettu yrityksen ”virallisten” prosessien digitalisoimiseen ja automatisoimiseen. Logic Apps on integraatioalusta ja Flow integraatiotyökalu. Aina ei voi kuitenkaan näin mustavalkoisesti asioita ajatella.

Jos vastaat kyllä johonkin alla olevista kysymyksistä, niin oikea vaihtoehto on mitä todennäköisimmin silloin Logic Apps.

  • Käsitteletkö työnkulussa GDPR -asetuksen alaista tietoa?
  • Tarvitsetko keskitettyä työnkulkujen hallintaa?
  • Tarvitsetko XML -konversioita tai EDI -standardeihin pohjautuvaa tiedon prosessointia?
  • Tarvitsetko yhteyksiä IBM MQ tai SAP -tuotteisiin?
  • Tarvitsetko tukea kehitysvälineille, esim. Visual Studio?

Microsoft Flow voi siitä huolimatta olla hyvä valinta, vaikka vastasitkin muutamaan kysymykseen kyllä. Ainakin pääset sillä helposti ja jopa ilmaiseksi käyntiin. Ja kun innostut aiheesta, niin ota meihin ihmeessä yhteyttä, niin me autamme sinua eteenpäin, sekä Logic Appsin että Flown kanssa.

Ota yhteyttä

Katso myös tämä Microsoftin artikkeli, jossa linjattu yleisellä tasolla Logic Appsin ja Flown erot.

Mitä maksaa?

Azure Logic Apps

Logic Apps:sta on kaksi hinnoittelumallia. Joko suoraan käytön mukaan, tai sitten osana App Service -kokonaisuutta, johon voi liittää muitakin palveluita kiinteällä kuukausihinnalla. Oikeastaan hinnoittelu toimii tuntiperusteisesti, mutta kuukausihinnat on helpompi hahmottaa. Kummassakaan tapauksessa mitään aloituskustannuksia ei ole. Kiinteät kuukausihinnat lähtevät käytännössä muutamasta kympistä kuukaudessa, vaikka ilmaisiakin tasoja on käytettävissä. Käytännössä ilmaiset palvelut ovat hyvin rajoitettuja, ja monesti riittämättömiä.

Alla olevassa esimerkissä tarkastelen tarkemmin käyttöön perustuvaa hinnoittelua. Hinta määräytyy suoritettujen tapahtumien mukaan. Pelkkä Logic Appsin olemassaolo ei maksa mitään. Maksat todellakin vain käytöstä.

Työnkulussa on aina vähintään yksi tapahtuma – Se heräte joka työnkulun käynnistää. Jokainen vaihe tämän jälkeen lasketaan yhdeksi tapahtumaksi. Esim. funktiokutsu, toisen liittimen käyttö, looginen haarautuminen jne. ovat kaikki esimerkkejä tällaisista tapahtumista.

Jos tapahtumia on kuukaudessa alle 250 000 kpl, on yhden tapahtuman hinta 0,000675 EUR. Toisin sanoen siis 0,0675 senttiä.

Otetaan esimerkkinä yllä kuvattu asiakaspalautteen käsittely. Siinä vaiheet todennäköisesti olisivat: 1) vastaanota palaute (käynnistä työnkulku), 2) tarkista palautteen aihe, 3) selvitä henkilö jolle palautteen aihe kuuluu, 4) tarkista henkilön poissaolovastaus, 5) selvitä poissaolovastauksesta vaihtoehtoinen sähköpostiosoite 6) lähetä palaute oikealle vastaanottajalle ja vaihtoehtoiselle vastaanottajalle, mikäli oikealla vastaanottajalla on poissaolovastauks kytketty päälle ja 7) lähetä palautteen lähettäjälle kuittaus että palaute on välitetty asianomaiselle henkilölle.

Yhteensä siis 7 vaihetta. Yhden palautteen käsittely maksaa näin ollen 0,47 senttiä. Mikäli vastaanotat kuukaudessa 1000 palautetta, tulee niiden kustannukseksi 4,725 EUR.

Kun tapahtumien määrät kasvavat, tippuu myös yhden tapahtuman hinta. Ensimmäinen pykälä on 250 000 tapahtumaa, jolla karkeasti käsittelisit jo lähes 36 000 palautetta. 250 000 tapahtumaa maksaa 168,75 EUR. Tuon jälkeen hinta tippuu n. puoleen, eli jos tapahtumia on kuussa yli 250 000 kpl, niin yhden tapahtuman hinnaksi jää silloin enää 0,000338 EUR, eli 0,0338 senttiä / tapahtuma.

Esimerkiksi 300 000 tapahtumaa maksaa silloin enää 101,40 EUR. Tällä käsittelisit yllä olevan esimerkin mukaisesti jo melkein 43 000 palautetta. Jonkunhan on toki alkukäsittelyn jälkeen ne luettava, jonka kustannukset on sitten jo ihan omaa luokkaansa verrattuna palautteen reitityskustannuksiin. Integraatioalusta ja sen hinta ei ainakaan ole se johon homma kaatuu.

Katso tarkemmat tiedot Azuren Logic Apps hinnoittelusivuilta.

Microsoft Flow

Flow:n hinnoittelu on hieman erilainen. Flow on saatavilla eri paketeissa, joista jotkut tulevat esim. Office 365 tai Dynamics 365 käyttöoikeuksien mukana, eikä näin olleen siis maksa erikseen mitään. Näissä paketeissa on omat rajoituksensa, esim. sen suhteen, kuinka monta työnkulkua kuukaudessa voit käynnistää.

Paketti joka tulee Office 365:n tai Dynamics 365:n mukana sisältää 2000 työnkulun suorituskertaa / kuukausi / käyttäjä. Tämä kiintiö on kuitenkin jaettavissa kaikkien yrityksesi työntekijöiden välillä joilla on jokin Flow:n käyttöön oikeuttava paketti. Eli jos teillä on 70 Office 365:sta käyttävää työntekijää, on teillä keskenänne jaettavissa yhteensä 140 000 työnkulun suorituskertaa.

Mikäli Microsoft Flow palvelupaketit, jotka tulevat Office 365:n ja Dynamics 365:n mukana, eivät riitä, voi olla syytä miettiä olisiko Logic Apps sitten kuitenkin se oikea vaihtoehto.

Katso tarkemmat hintatiedot Microsoft Flow hinnoittelusivulta.

Tietoa kirjoittajasta

Mika Berglund

Arkkitehti, teknologiakonsultti

mika.berglund@meteoriitti.com

+358 50 570 6237

Mika on toiminut IT-alalla 90-luvulta lähtien ohjelmistosuunnittelijana, teknologiakonsulttina ja arkktehtina erikoisuusalanaan Microsoftin tuotteet ja palvelut. Viime vuosien aikana hän on keksittynyt auttamaan organisaatioita hyödyntämään Microsoft Azure ja Office 365 -pilvipalveluita.

Kirjoitukset (16)