IT-ratkaisujen piilevät ongelmat - miten pääsen käsiksi järjestelmien suorituskykyyn?

3.3.2017 Juha Strandman


IT-ratkaisujen piileviin ongelmiin päästään käsiksi järjestelmän suorituskyvyn valvonnalla. Digitaaliset palvelut on usein räätälöity monesta eri osasta. Kun asiakas esimerkiksi hakee tilitapahtumat verkkopankissa, taustalla toimii useampia eri sovelluksen osia. Sovelluksen eri osat osallistuvat pyynnön toimittamiseen asiakkaan ulottuville, ja tietoja saatetaan hakea myös kokonaan toisesta järjestelmästä. Yksi palvelupyyntö käynnistää monipolvisen prosessin, joka etenee integraatiorajapintojen ja datayhteyksien läpi, mutta tästä huolimatta saavuttaa asiakkaan sekunneissa. Järjestelmät toki testataan huolellisesti, mutta täysin todellisessa käytössä tapahtuvia lukemattomia erilaisia tilanteita ei pystytä kuitenkaan ennakoimaan.

Jokaiselle on varmasti tuttua törmätä silloin tällöin tökkiviin digitaalisiin palveluihin. Jos virhettä ei pystytä jäljittämään järjestelmän oman analytiikan avulla, voidaan monesti vain todeta, ettei sen varsinaista aiheuttajaa edes tiedetä. Kokonaiskuvaa voi olla vaikea muodostaa, jos kokonaisuuden toiminnasta ei saada selkeää, yhteismitallista tietoa ja järjestelmien suorituskykyä ei valvota. Käyttäjän kokemien viiveiden ja ongelmien piileviin syihin päästään käsiksi vasta, kun katsotaan koko sovellusympäristön toimintaa ja palvelukäskyjen toteutusta kokonaisuutena.


Järjestelmien suorituskyvyn valvonta seuraa tapahtumia ja vasteaikoja

Kun asiakas pyytää tilitapahtumia, eri sovelluksen osat kysyvät esimerkiksi tunnistautumista. Sovellusten suorituskyvyn valvonnalla seurataan tapahtuman kestoa, keston vaihtelua ja eri yhteyksien aiheuttamia viiveitä.

Vasteaikojen tarkkailu auttaa löytämään syyn ongelmiin ja ratkaisun niiden ehkäisyyn. Näin voidaan selvittää asiakkaiden palvelun käyttöön liittyviä tekijöitä ja ongelmia pintaa syvemmältä – esimerkiksi syy palvelun käytön korkeisiin keskeytyslukuihin

Koko tilitapahtumaprosessin tyypillinen vasteaika saattaa olla noin sekunnin luokkaa. Muutamien sekuntien heitto ei vielä asiakkaalle välttämättä näy. Pientenkin muutosten havaitseminen on kuitenkin sikäli tärkeää, että ne saattavat indikoida suurempaa tai toistuvaa ongelmaa sovellusympäristössä. Kun ongelma kasautuu, voi se vaikuttaa ratkaisevasti verkkopalvelussa esimerkiksi asiakaspalvelun laatuun. Jos tilitapahtumien hakeminen kestää joka kerta viisikin sekuntia normaalia pidempään, ei digitaalisessa maailmassa surffaava asiakas jaksa enää odottaa.

Sovellusten suorituskyvyn valvonnalla ja tarkkailemalla pyynnön eri vaiheiden vasteaikoja päästään käsiksi jokaiseen sovellusympäristön nivelkohtaan. Näin voidaan jäljittää, esimerkiksi tilitapahtumakyselyn kohdalla, tapahtuiko viive mahdollisesti tunnistautumisessa tai vaikkapa tietokantakyselyssä. Kun viivekohta löydetään ja virhe pystytään paikallistamaan nopeasti, se pystytään myös korjaamaan ilman viivytyksiä. Näin ehkäistään esimerkiksi asiakaspalvelun laadun notkahdus sovellusvirheen takia.

Myös sovellusympäristön ulkopuoliset tekijät hallintaan

Hyvä sovellusten suorituskyvyn tarkkailuun kehitetty järjestelmä piirtää jäljen jokaisen käyttäjän tekemästä pyynnöstä. Järjestelmä seuraa, mitä sovelluksen osia pyyntöjen täyttämiseen käytetään ja miten nuo osat toimivat. Se antaa myös mahdollisuuden hälytyksen antamiseen silloin, kun esimerkiksi tyypilliset vasteajat sovellusympäristössä alkavat pitkittyä.

Järjestelmä antaa metriikan ja raportoinnin kautta näkymän koko sovellusympäristön ja taustajärjestelmän toimintaan ja hälyttää häiriöistä ja virheistä. Parhaassa tapauksessa asiakas tai käyttäjä ei edes havaitse viivettä.

Useimmat verkkosovelluksissa tapahtuvat virheet ja viiveet johtuvat sovellusympäristöstä itsestään, esimerkiksi järjestelmäpäivityksistä tai uusista ominaisuuksista. Jotta sovellusten toiminnan valvonta olisi kattavaa käyttäjän näkökulmasta, on syytä monitoroida kuitenkin myös niitä käyttäjän kokemia viiveitä, jotka johtuvat sovellusympäristön ulkopuolisista tekijöistä.

Kun käyttäjä vaikkapa verkkokaupassa tekee pyynnön ostoskorin ostosten maksamisesta, kulkee pyyntö ja vastaus siihen usean pisteen kautta. Välissä on serveriä, palomuuria, teleoperaattoria, tukiasemaa ja muita tahoja, jotka kuljettavat pyyntöä paikasta toiseen. Vaikka sovellusympäristö itsessään toimisi moitteettomasti, asiakas voi kokea huonoa palvelua esimerkiksi verkon datayhteyksien hitaudesta johtuen. Vasteaika voi näyttää sovellusympäristön sisältä käsin normaalilta sekunnilta, mutta asiakas odottaa kännykän päässä 30 sekuntia.


Valvo koko prosessin toimivuutta

Vaikka vika olisi esimerkiksi teleoperaattorissa, asiakas todennäköisimmin syyttää digitaalisen palvelun tuottanutta yritystä, kuten verkkokauppaa, varausjärjestelmän ylläpitäjää tai pankkia. Jos seurataan pelkästään sovellusten ja järjestelmien antamaa dataa itsestään, sovellusten suorituskykyyn vaikuttavat ulkopuoliset tekijät jäävät pimentoon. Viat saattavat paljastua vasta kun huomataan, että verkkokaupan myynti on tipahtanut dramaattisesti tai kun pankin asiakas antaa palautetta sosiaalisessa mediassa. Valvonnalla tieto esimerkiksi verkkoyhteyksien ongelmasta saadaan kiinni nopeasti, ja siitä voidaan tiedottaa esimerkiksi palveluntarjoajaa.

Kattava sovellusten suorituskyvyn hallinnan ohjelma seuraa koko palvelukäskyn matkaa niin sovelluksen sisällä kuin sen ulkopuolellakin ja ottaa huomioon nimenomaan loppukäyttäjän kokemuksen. Se antaa selkeän kuvan siitä, miten digitaalinen järjestelmä toimii ja kuinka käyttäjä sen käytön kokee. Mikäli näissä ilmenee piileviä tai näkyviä ongelmia, annetaan hälytys.

Suorituskyvyn hallinta mahdollistaa myös järjestelmän jatkuvan, ennakoivan parantamisen. Raskaan simuloinnin sijaan järjestelmän toimintaa voidaan tutkia asiakkaiden ja käyttäjien todellisessa käytössä ja korjata virheet jo ennen kuin ne vaikuttavat käyttäjän arkipäivään.