Power Platform haastaa perinteisen ohjelmistokehityksen

Low code -välineet – eli sovellusten kehittäminen ilman varsinaista ohjelmointia – yleistyy jatkuvasti. Syynä on yksinkertaisesti raha: Korkeamman abstraktiotason kehitysvälineellä sovellukset syntyvät nopeammin, ja lopputuloksen ylläpito on halvempaa.

29.4.2024

Low-code-ilmiö on elänyt ja kehittynyt tutkan alla hiljaisemmin, mutta varmasti kehittyen. AI-kohinassa on melkein ollut helppo unohtaa, että toinen, kenties IT-alalle merkittävämpikin muutos on tapahtumassa samaan aikaan taustalla. Gartner ennustaa low-code/no-code teknologioiden käytön kolminkertaistuvan vuoteen 2025 mennessä ja arvioi, että organisaatioiden uusista liiketoimintasovelluksista jopa 70 % toteutettaisiin näillä teknologioilla.

Devisioona on kautta historiansa profiloitunut osaavana Azure-, .NET- ja Microsoft-skenen räätälöityjen softa- ja integraatioprojektien rakentajana. Projektimme on monesti rakennettu niin sanotusti pitkästä tavarasta aloittaen tyhjästä. Tämä tapa tehdä softaa ei poistu, mutta tiedostamme että se muuttuu. Rinnalle tulee vaihtoehtoisia tapoja ratkaista kulloinkin esillä oleva tarve.

Pohjimmiltaan syy muutokselle on liiketoiminnallinen: Omia sovelluksia hankkivien organisaatioiden – ja niiden sovellusten kehittäjien – on uudistuttava, tai jää auttamatta jälkeen. Pelkkä perinteiseksi mielletty ohjelmistokehitys ei enää riitä organisaation kaikkien tarpeiden kattamiseen, ellei lompakko salli jatkuvaa devaaja-armeijan työllistämistä.

Joko-tai vai sekä-että?

Microsoftin vastaus kevytkehitykseen on Power Platform -tuoteperhe. Se sopii hyvin etenkin organisaation sisäisten ja monimutkaisuudeltaan yksinkertaisten liiketoimintasovellusten ja -prosessien toteuttamiseen. Oikeanlaisen käyttötapauksen kanssa ideasta tuotteeksi on mahdollista päästä tehokkaasti ja palautesykli voi olla parhaimmillaan lähes reaaliaikainen. Säästetty aika näkyy luonnollisesti säästettynä rahana.

Liiketoimintalogiikaltaan tai käytettävyydeltään laajat ja monimutkaiset ydinsovellukset kannattaa edelleenkin tehdä perinteisesti hallinnan ja muokattavuuden vuoksi. Usein mutkikkaidenkin sovellusten ympärillä on kuitenkin käyttötapauksia tai prosesseja, joiden osalta paras liiketoiminta-arvo saattaa syntyä kevyemmälläkin toteutuksella.

On syytä miettiä tarkkaan, kannattaako esimerkiksi integraatioalustan kylkeen toivottu tiedon ylläpitotyökalu rakentaa edelleen React + .NET-sovelluksena, vai voisiko sen toteuttaa kevyemmin Power Appina hyödyntäen alustan tarjoamia palveluita Entra-kirjautumisesta datan audit-historiaan ja käyttöliittymän automaattiseen mobiiliyhteensopivuuteen.

Mikä onnistuu, mikä ei?

Rajat Power Platformin kyvykkyydelle venyvät kaiken aikaa. Alusta tarjoaa jo oletuksena satoja valmiita liittimiä (connectoreita) ja käyttöliittymäkomponentteja. Tämän lisäksi se sisältää mahdollisuuden luoda näitä tarvittaessa itse, mikäli valmista komponenttia tai liitintä ei valittuun käyttötapaukseen löydy. Ei kannata luovuttaa, jos alusta ei esimerkiksi tarjoaisikaan suoraan yhteyttä vaikkapa tuntikirjausjärjestelmääsi – tarvittavan rajapintaliittimen voi laajentaa API-kuvauksesta varsin kohtuullisella työmäärällä. Käyttöliittymän jatkaminen myös React-kehikkoa hyödyntäen on mahdollista.

Alustan rajoitteet tulevat vastaan, kun ratkaisuja halutaan skaalata organisaation ulkopuolelle. Identiteetinhallinta on sidottu tiukasti Microsoft Entraan (uudelleen brändätty Azure AD), jolloin toteutusten kohderyhmä on tyypillisimmin oman organisaation käyttäjät. Power Platform kehittyy tosin jatkuvasti myös julkisten sovellusten suuntaan mm. Power Pagesin myötä, ja niinpä alusta voi tarjota jatkossa lääkkeitä myös tähän tarpeeseen.

Harkintaan on aina syytä, myös sisäisissä sovelluksissa. Jos käytettävyyttä ja käyttöliittymää halutaan hioa aivan viimeisen päälle, riittävä kontrollin taso saavutetaan vain perinteiseen tapaan koodaamalla. Jos käsiteltävänä on äärimmäisiä datamassoja tai todella monimutkaisia lomakkeita, voivat Power Appsin kyvyt loppua kesken. Siis tällä hetkellä – raja siirtyy jatkuvasti.

Ohjelmistotuotannon ymmärryksen tarve ei poistu Power Platformilla

Ammattimaisen toimittajan näkökulmasta Power Platformin suurin heikkous liittyy tietoturvaan ja alustan hallintakysymyksiin. Ei tosin sen takia, etteikö näitä olisi Microsoftin osalta mietitty: Monet alustan tuotteet, kuten esimerkiksi Dataverse tiedon varastoinnin palveluna tarjoavat useita erinomaisia ominaisuuksia datan turvaamiseen.

Valitettavasti hyvän ja turvallisen ohjelmistokehityksen käytännöt on kovin helppo sivuttaa abstraktiotason ollessa korkea. Tällä ei kannata kuitenkaan liikaa pelotella, mutta on hyvä muistaa, että low-code kehittimet eivät poista tarvetta hyviin ohjelmistojen kehittämisen ja tuottamisen tapoihin.

Monesti sovellusten elinkaarikysymykset ovat pohjimmiltaan liiketoimintakysymyksiä: Miten sovellusta päivitetään, miten päivityksiä testataan, millaisia käyttöoikeusrajoituksia tuetaan? Vaikka tekninen alusta onkin low code -mallissa varsin vähähuoltoinen, ympäröivä maailma muuttuu. Jos Power Appit kalkkeutuvat yhtä pahasti kuin joistain organisaatioista löytyvät 90-luvulla tehdyt liiketoimintakriittiset Excel-taulukot, ongelma vain siirtyy paikasta toiseen.

Mitä Power Platform maksaa?

Power Platformin tarina linkittyy vahvasti Microsoft Dynamics -tuoteperheeseen. Vaikka yhteydet on nähtävissä, voi sitä käyttää aivan hyvin siitä irrallaan. Alusta tarjoaa uuden tavan rakentaa softaa – eikä kannata ajatella sen olevan pelkästään työkalu ERP:n jatkamiseen.

Hinnoittelu perustuu pääosin sen tuotteiden käyttäjäkohtaisiin lisensseihin. Power Appeilla on yksi hinta (blogin kirjoitushetkellä 18,70 €) per käyttäjä per kuukausi, Power Automate Flow:lla (14 €) toinen ja näin edelleen. Hinnoittelu on kuitenkin varsin monimuotoinen ja vaadittu lisenssi vaihtelee riippuen mitä alustan palveluita ja liityntöjä toteutus käyttää. Mahdollista on myös sitoa hinnoittelu pay-as-you-go malliin ja Azure-tilaukseen, jolloin alustan kokeilu pienellä määrällä toteutuksia ja käyttäjiä on kustannustehokasta.

Suurin kustannushyöty perinteiseen ohjelmistokehitykseen nähden tulee kuitenkin ylläpitokuluista. Kärjistetysti voisi sanoa, ettei niitä ole. Alustan kanssa ei tarvitse huolehtia sen käyttämien komponenttien päivittämisestä tai edellä mainittujen lisenssien lisäksi muista operointikuluista.

Samat sovelluskehityksen lainalaisuudet pätevät kuitenkin myös low code -maailmaan kuin perinteiseen softadevaukseenkin. Toteutukset ovat usein laajasti integroituja ja kun maailma ja rajapinnat ympärillä muuttuvat, tulee nämä heijastaa toteutuksiin. Hyvässä tapauksessa asiakasorganisaatio voi kuitenkin olla kyvykäs tekemään tarvittavat muutokset itse.

Kansalaiskehittäminen, jossa asiakkaan ei-ammattimaiset kehittäjät rakentavat matalan koodin sovelluksia voi olla haihattelua. Miksi maksaa taloushallinnon ammattilaiselle siitä, että hän voi toimia huonona koodarina? Organisaation kannattaa kuitenkin vaatia toimittajaa dokumentoimaan ja esittelemään kulloinenkin ratkaisu, jotta edellä mainittu pienkehitys- ja ylläpitotyö olisi järjestettävissä oman IT:n toimesta kallispalkkaisen konsultin sijaan. Tässäkään ei tarvitse valita jyrkästi kahden vaihtoehdon välillä, vaan kevytkehityksen ylläpitomalli voi perustua sekoitukseen omaa työtä ja konsulttien käyttöä.

Power Platform osana Devisioonan tarjoomaa

Vaikka puhummekin Azuresta, Power Platformista, Power Appeista ja Dataversestä, asiakas ei lopulta osta teknologiaa, vaan ratkaisun ongelmaansa. Teknologiakumppanin tehtävä on suunnitella ratkaisu käyttäen siihen parhaiten sopivia työvälineitä riippumatta sitä, onko se matalan vai korkean tason koodia. Power Platform tuo tuon hyödyn saamiseksi useita uusia rakennuspalikoita työkalupakkeihimme, ja siksi Devisioonakin on tähän välineeseen nyt tarttunut.

Toteutimme ensimmäiset Power App -toteutukset jo kauan ennen kuin aloimme tavoitteellisesti rakentamaan osaamista teknologian päälle. Sittemmin olemme toteuttaneet erinäisiä Dataverse-laajenteita, Power Automate -työnkulkuja, ja Power App -sovelluksia.

Oheisessa kuvassa näkyvä tuotetietojen ylläpitoliittymä on hyvä esimerkki sellaisesta perusratkaisusta, joka pelastaa käyttäjät tuttuakin tutummalta Excel-jumpalta, joita laajojen järjestelmien yhteyteen usein syntyy. Power Platform mahdollistaa tämän kaltaisten yksinkertaisten sisäisten työkalujen tuomisen mobiiliin, selaimeen ja osaksi organisaatioiden tuttua käyttäjänhallintaa huomattavasti edullisemmin kuin pitkästä puusta veistettynä.

Kaipaatko notkeaa eteenpäin katsovaa kumppania järjestelmäkehitykseesi? Ota yhteyttä!