Microsoftin Power Platform on yhä vahvempi tekijä, kun puhutaan nk. “low-code” alustoista. Ne mahdollistavat monia sovelluskehityksen ja sovellusautomaation mahdollisuuksia graafisen käyttöliittymän kautta ilman työlästä sovelluskehitystä. Tämä malli leikkaa tyypillisesti sovelluksen käyttöönottoon tarvittavaa aikaa sekä erityisesti kustannuksia. Alustan avulla loppukäyttäjät voivat tehdä monia asioita, jotka aiemmin eivät olleet mahdollisia ainakaan ilman raskaita ja kalliita sovelluskehityksen ponnisteluita. Power Platformin käyttöönotto voikin parhaimmillaan tehostaa työntekijöiden ajankäyttöä merkittävästi ja tuoda tätä kautta kustannussäästöjä, yleistä tehokkuuden paranemista sekä lisätä henkilöstön yleistä tyytyväisyyttä.
Myös Gartner listasi aiemmin syksyllä Microsoftin Power Platformin low-code alustojen tämän hetkiseksi markkinajohtaksi: https://powerapps.microsoft.com/en-us/blog/gartner-names-microsoft-a-leader-in-enterprise-low-code-application-platforms-2019-magic-quadrant/
Kirjoittelin tämän vuoden MS Igniten pohjalta yhteenvetoa jo aiemmin, ja sieltä löytyy muutama sananen myös Power Platformista: https://newway2work.blog/2019/11/13/ms-ignite-2019-loppukayttaja-ottaa-modernin-tyon-yha-vahvemmin-omiin-kasiinsa/

Tässä blogissa esittelen yksinkertaistettuna Power Platform -ympäristön käyttöönoton perustarpeet. Oletus on, että organisaatio haluaa hyödyntää ja lähteä liikkeelle seuraavilla kokonaisuuksilla:
- Graafiset Canvas-tyyppiset Power Appsit ja niiden päälle rakennetut kevyet sovellukset
- Työnkulut ja sovellusautomaatio niiltä osin, kun tarpeita on tunnistettu
- Em. kokonaisuudet halutaan tuoda kaikkien työntekijöiden saataville sekä toisaalta halutaan tehdä muutamia “virallisia” sovelluksia organisaatiolle
Mitä pitää vähintään huomioida?
1) Power Platform-ympäristöt
Kaikkiin Office 365 -tenantteihin muodostuu automaattisesti yksi default -ympäristö (Environment). Tähän ympäristöön päätyvät oletuksena kaikki luotavat Power Appsit ja Power Automate-työnkulut. Lisäksi kaikilla käyttäjillä on oikeus luoda em. komponentteja ympäristöön.
Ympäristöjä voidaan hallita Power Platformin Admin Centerin kautta osoitteessa https://admin.powerplatform.microsoft.com/environments.
Organisaation tarpeista riippuen pitäisi luoda ainakin toinen ympäristö tuotantokäyttöön (Type “Production”), johon kasataan organisaation viralliset sovellukset. Tähän ympäristöön voidaan antaa rajatummat käyttöoikeudet ympäristökohtaisen nk. maker-roolin puitteissa, jolloin kokonaisuus on paremmin hallittava. Tähän liittyy myös ympäristön kesken jaettujen datayhteyksien tietoturva ja tarvittaessa myös ympärisökohtaiset DLP-policyt. Lisäksi voidaan perustaa esim. kehitysympäristö, johon voidaan myös määrittää erikseen oikeuksia tyypillisesti default- ja tuotantoympäristön välimaastosta.

2) Erillinen automaatiotunnus
Power Platformin käyttöön kannattaa luoda erillinen automaatiotunnus, joka omistaa lähtökohtaisesti tuotanto-ympäristön sovellukset. Ei ole väliä, onko tämä tunnus lokaali AD:n tunnus vai “Cloud Only”-tyyppinen Azure AD-tunnus. Tämän omistajatunnuksen rinnalle voidaan tuoda co-owner roolissa esim. IT:n henkilöiden tunnukset / ryhmät. Tätä kautta säilytetään hyvä näkyvyys kaikkiin ympäristössä oleviin sovelluksiin sekä mahdollistetaan tarvittavat huoltotoimet.
Hyviä syitä automaatiotunnuksen luomiseen ovat ainakin:
- Perinteinen sovelluksen omistajan lähtö yrityksestä -> Orvot työnkulut ja Power Appsit
- Tarvittaessa kaikilla hallintorooleilla pääsy sovelluksiin yhden tunnuksen kautta
- Sovelluksen sisäiset datayhteydet määritellään usein samalle tunnukselle, joka omistaa sovelluksen -> Huomioi tunnuksen näkyvyys loppukäyttäjille tietyin yhdistimin, kuten esim. sähköpostin lähetys tai Teams-viestin lähetys
- Yhdistimien vaatimat oikeudet taustalla voivat olla järeitä Office 365 admin-rooleja -> selkeä luvitusmalli
- Tarvittaessa MFA-autentikaatio voidaan pitää voimassa myös tässä mallissa
3) Lisensointitarpeet
Lisensointitarpeet on hyvä selvittää heti alkuun. Perusyhdistimet ja esim. SharePoint-listan hyödyntäminen tietovarastona kuuluvat peruslisensointiin ja itse asiassa näillä päästään peruskäyttötapauksissa ja perussovelluksissa hyvinkin pitkälle.

Erikseen maksullisia Per App ja Per User -lisensointimalleja tarvitaan ainakin seuraavissa tapauksessa mikäli:
- Hyödynnetään premium-yhdistimiä
- Dynamics 365-yhdistimet
- Azure-yhdistimet ml. Azure SQL / Cosmos DB
- GraphAPI ja sitä vasten tehtävät operaatiot
- Käytetään Common Data Serviceä (CDS) tietovarastona
- Käytetään ominaisuuksia, jotka tarvitsevat toimiakseen CDS:ää esim. AI Builder, Portal-tyyppiset Power Appsit, Power Virtual Agents jatkossa
- Käytetään OnPremise Data Gateway:tä tapauksissa, joissa datalähde sijaitsee lokaalissa konesalissa
Lisensointi tulee aina miettiä tapauskohtaisesti ja esim. se, onko organisaatiolla käytössä Dynamics 365, vaikuttaa Power Platformin käyttömahdollisuuksiin merkittävästi. Uusin ohjeistus lisensointiin löytyy täältä https://docs.microsoft.com/en-us/power-platform/admin/powerapps-flow-licensing-faq.
4) Virallisten Canvas-tyyppisten Power Appsien ulkoasu ja käytettävyys
Liian usein tulee vastaan graafisia Power Appseja, joiden ulkoasu on jotakin “sinne päin”. Jotta loppukäyttäjien olisi mukava käyttää sovelluksia, edes perus saavutettavuusvaatimukset täyttyisivät ja applikaatiosta kävisi selkeästi ilmi minkä organisaation sovellus on kyseessä esim. vieraskäyttötapauksissa, olisi organisaation sähköisten kanavien ulkoasuun muutenkin sovellettavat ohjeet syytä huomioida myös Power Appsien puolella mahdollisuuksien mukaan. Esimerkkejä:
- Perusilme aina samanlainen – Ylä- ja alatunnisteen sisältö
- Perusnavigoitavuus ja esim. “koti”-painikkeen lokaatio
- Käyttöliittymän suunnittelu jonkinlaisen “parhaan käytännön” mukaisesti niin, että liittymän perusasiat ovat kunnossa
- Organisaation värimaailma ja logo applikaatiossa
- Saavutettavuuden perusasiat: Riittävän suuri ja selkeä fontti, selkeät ja erottuvat elementit, riittävät kontrastit elementeissä jne.

5) Sovelluksen loppukäyttäjät
Miksi sovellus olikaan olemassa? Todennäköisesti helpottaakseen loppukäyttäjien elämää ja päivittäisen työn tekemistä. Näin ollen loppukäyttäjät tulee huomioida monella eri rintamalla:
- Ks. kohta 4. yhtenä tärkeimmistä
- Loppukäyttäjien ja koko henkilöstön mahdollisuus ja tuki alustan ominaisuuksien hyödyntämiseen. Alustan perusominaisuudet käytössä kaikilla työntekijöillä Office 365 Business / E1 / E3 / E5-lisensointitasoilla ja myös F1 -lisensointi mahdollistaa sovellusten käytön
- Tarvittava koulutus, jotta peruseväät ja “uskallus” hyödyntää ominaisuuksia ovat olemassa
- Power Platform tulee ottaa osaksi käyttöönoton- ja muutoksen tukea organisaatiossa. Jos olette määritelleet esim. Office 365 -käytön Pelikirjaa, tulisi Power Platformin elementtien olla myös mukana Pelikirjassa
- Yrityksen käytössä oleva mobiililaitteisto ja laitekanta
6) Kevyt hallintomallitarve virallisille sovelluksille
Vaikka Power Platform tuo kevyen mallin sovellusten rakenteluun ja hyödyntämiseen, ei sekään toimi ilman perushallintomallin määrittelyä. Organisaatiossa IT:n tai alustastavastaavien tahojen pitää pysyä perillä tilanteesta myös Power Platformin suhteen ja tarvittaessa esim. tarjota tukea, jos loppukäyttäjillä tulee ongelmia virallisten sovellusten kanssa. Samoin jos esim. sovelluskumppanin halutaan tekevän kehitystä alustalle, pitää kokonaisuuteen olla määriteltynä selkeä malli.
Hallintomallin tulisi sisältää vähintään seuraavat määrittelyt:
- Kehitys- ja tuotantoonvienti prosessi virallisille applikaatioille – Missä ympäristössä kehittäminen tapahtuu? Kuka vie sovellukset tuotantoon? Missä ympäristössä bugikorjaukset tehdään? Miten jatkokehitys hoidetaan?
- Sovellusten versiointi ja varmistus – Liittyy suuresti edelliseen kohtaan, mikä myös määrittelee sovellusten ja työnkulkujen versiointia. Vaikka sovellukset säilyvätkin ympäristöissä ja kuuluvat esim. Microsoftin perusvarmistusten piiriin, halutaanko uusista versioista viedä exportatut sovelluspaketit (ja tarvittaessa esim. SharePointin listatemplaatit) vielä erikseen organisaation versionhallintaan?
- Yhtenevät nimeäsmiskäytännöt – Vaikka rakennettu sovellus muodostuisi esim. Canvas Power Appsista, Power Automate työnkulusta ja SharePointin listasta, ei suoraa linkitystä näiden elementtien välillä välttämättä ole sovellusnäkökulmasta. Dokumentaatio sovelluksista on hyvä olla olemassa ja eri komponentit tulee myös nimetä niin, että myöhemmin on helppo kertoa mitkä niistä liittyvät a) toisiinsa b) mihinkin toiminnalliseen kokonaisuuteen.
- Power Appsien uudelleenjulkaisu ja yhdistimen versiopäivitykset tietyllä syklillä – Jotta Microsoftin päivitykset ja esim. yhdistimien suorituskykyyn liittyvät parannukset tulevat voimaan, tulisi Power App-sovellukset aika-ajoin julkaista uudelleen. Lisäksi Power Automaten yhdistimissä tapahtuu parannuksia ja versiopäivityksiä (kuten esim. juuri nyt Outlook-yhdistimen version päivittyminen V3 -> V4) ja nämä versiopäivitykset eivät automaattisesti päivity työnkulkuihin.
- Ympäristöjen ja applikaatioiden monitorointi – Admin Centerin hallintaliittymien kautta on saatavilla jatkossa dataa siitä miten esim. Power Appseja käytetään organisaatiossa. Käyttöä tulisi mitata ja dataa pystyä hyödyntämään samalla tavoin kuin muutakin Office 365:n tuottamaa vastaavaa analytiikkaa toimintapojen kehittämisessä.
- Virhetilanteiden selvitys ja tukitoiminnot – Power Platformin sovellukset ovat sovelluksia siinä missä kaikki muutkin sovellukset. Vastaavalla tavalla niissä ilmenee välillä loppukäyttäjillä ongelmia, joihin tarvittaessa pitää pystyä vastaamaan. Yrityksellä tulisi olla selkeä tukimalli esim. oman IT:n ja tarvittaessa vaikkapa sovelluskumppanin kautta.
Hyödyllisiä linkkejä ja dokumentteja, joilla päästä alkuun Power Platformin parissa
Lopuksi vielä muutamia linkkejä ja dokumentteja, jotka helpottavat Power Platformin käynnistelyä. Kun perusasiat ovat kunnossa, on vakaalla pohjalla mukavaa lähteä rakentamaan sovelluksia ja tätä kautta parantamaan työntekijöiden arkea ja päivittäistä työskentelyä.
- Power Apps, Power Automate and Power Virtual Agents Licensing Guide Dec 2019 – https://docs.microsoft.com/en-us/power-platform/admin/powerapps-flow-licensing-faq
- PowerApps and Power Automate Governance and Deployment Whitepaper – https://powerapps.microsoft.com/en-us/blog/powerapps-enterprise-deployment-whitepaper/
- PowerApps Canvas App Coding Standards and Guidelines – https://powerapps.microsoft.com/en-us/blog/powerapps-canvas-app-coding-standards-and-guidelines/
- Power Apps and MS Teams Whitepaper – https://powerapps.microsoft.com/en-us/blog/introducing-the-microsoft-teams-and-power-apps-whitepaper/
- MS Ignite 2019 recap for PowerApps – https://powerapps.microsoft.com/en-us/blog/microsoft-ignite-2019-event-recap/