Laite- ja sovelluskustannukset kuriin sovellusten suorituskyvyn valvonnalla

8.3.2017 Juha Strandman

Digitalisaation myötä yritysten investoinnit digitaalisten palveluiden kehittämiseen ja ylläpitämiseen ovat kasvaneet huomattavasti. Toisaalta liiketoimintaprosessien ja palveluiden digitointi on tuonut myös säästöjä, kun tehokkuus on lisääntynyt ja manuaalinen työ vähentynyt. Tökkivät digitaaliset palvelut aiheuttavat kuitenkin harmaita hiuksia niitä ylläpitäville yrityksille. Asiakkaat kaikkoavat, mikäli palvelut eivät toimi.

Toimimattomien IT-ratkaisujen ja katkeilevien digitaalisten palveluiden tuottamat kustannukset saattavat olla lopulta päätä huimaavia. Näin ne syövät digitalisaation tuomia etuja. Haasteena on yhä monimutkaisemmiksi käyvissä järjestelmissä päästä käsiksi itse kustannusta kasvattavaan ongelmaan.


Ongelmat korjataan lisäämällä kapasiteettia

Kun digitaalinen palvelu kasvaa ja käyttäjiä tulee lisää, voivat taustalla olevat järjestelmät olla koetuksella. Tilanne on sama, kun palvelua ajan myötä kehitetään ja siihen tulee yhä uusia osia ja päivityksiä.

Palvelut hidastuvat ja serverien tuulettimet huutavat konesalissa. Usein päädytään ratkaisuun, jossa laitekapasiteettia lisätään ja pyritään näin parantamaan esimerkiksi hidastuneen palvelun toimivuutta ja käyttäjäkokemusta. Jos nykyiset serverit vaikuttavat olevan tukossa, luonnollinen ratkaisumalli yleensä on hankkia lisää serverikapasiteettia.

Ongelma voi kuitenkin liittyä sovellusympäristön nivelkohdissa olevaan vikaan tai häiriöön. Saattaa myös olla, että aiemmin sovellusympäristössä havaittu ongelma on korjattu tavalla, joka vie kaikki käytössä olevat resurssit.

Tällöin ei serverikapasiteetin lisääminen auta, vaan ongelma on edelleen olemassa. Vaikka kapasiteettia lisättäisiin, ei asiakkaan käyttökokemus parane, ja lisäkapasiteettikin ähkii lopulta suorituskyvyn äärirajoilla.

Vika voi myös piillä jossain kokonaan sovellusympäristön ulkopuolisessa tekijässä. Esimerkiksi luottopäätöksen tekeminen digitaalisessa palvelussa on toiminto, jossa saatetaan olla yhteydessä muihin järjestelmiin ja palveluihin, kuten asiakastietorekisteriin tai ajoneuvorekisteriin. Ongelmaa pyritään usein korjaamaan optimoimalla oma ympäristö mahdollisimman nopeaksi ja tehokkaaksi, mikä ei kuitenkaan asiakkaan käyttökokemukseen vaikuta, kun virhe johtuu muualla olevasta syystä.


Sovellusten suorituskyvyn valvonta paljastaa virheen sijainnin

Virheinvestointeja siis tapahtuu, jos sovelluskerroksiin ja niiden toimintaan ei ole laajakulmanäkymää. Todelliseen juurisyyhyn ei päästä käsiksi ja ongelmaa ei pystytä tällöin nopeasti ja tehokkaasti korjaamaan. Jos ei tarkkaan tiedetä, mikä sovelluksien ja palveluiden hidastumisten ja virheiden takana on, riski rahan haaskaukseen ja turhiin investointeihin kasvaa merkittävästi.

Tarvitaan siis tehokas järjestelmä takaamaan näkyvyys sovellusten suorituskykyyn myös kokonaisuutena. Sovellusten suorituskyvyn valvonnalla päästään käsiksi niihin kohtiin, missä palvelupyynnöt viipyvät ja haittaavat käyttäjäkokemusta. Tämän avulla pystytään jäljittämään ongelman aiheuttaja. Kustannusten ehkäisemiseksi tarvitaan myös selkeät raja-arvot ja laatustandardit sovellusten suorituskyvylle, palvelupyyntöjen vasteajoille ja käyttäjäkokemukselle.


Sovellusten suorituskyvyn valvonta jo kehitysvaiheessa

Sovellusten virheet ja ongelmat aiheuttavat kustannuksia virheellisinä, rahaa vievinä korjausliikkeinä ja asiakaskatona. Myös sovellusten kehittämisessä saatetaan hukata investointeja ilman tehokasta valvontaa. Huolellinen testaaminen kehitysvaiheessa toki ehkäisee sovelluksen virheitä, mutta kaikkia kuviteltavissa olevia käyttötilanteita ei aina pystytä simuloimaan. Mikäli sovellusympäristön toimivuutta ja sovellusten suorituskykyä ei valvota heti kehitystyön alusta lähtien, saatetaan vasta julkaisuvaiheessa huomata, että järjestelmä ei toimikaan odotetusti.

Tällöin ei ole muuta vaihtoehtoa kuin tehdä mittavat investoinnit lisäkapasiteettiin, jotta palvelua pystytään käyttämään edes jotenkin. Myös kehitystyöhön käytetyt resurssit valuvat hukkaan, ja uusia kustannuksia syntyy, jotta järjestelmä saadaan toimimaan kunnolla. Sovellusten suorituskyvyn valvonnalla pystytään optimoimaan jo kehitysvaiheessa sovellusympäristön toimivuus. Lisäksi määritellään tarvittava kapasiteetti ja näin päästään mittaviin kustannussäästöihin. Suorituskykyä on tärkeää valvoa myös silloin, kun kehitetty palvelu otetaan käyttöön, jotta mahdolliset kehitysvaiheen virheet saadaan korjattua pikaisesti heti niiden ilmaannuttua.

Kun tiedetään tarkkaan, miten järjestelmä toimii, mikä kuluttaa resursseja, missä on tehottomuutta tai virheitä, on helppo korjata tarpeettomia kustannuksia aiheuttavat ongelmat. Jos sovellusten suorituskykyä valvotaan jo kehitysvaiheessa, voi tekeillä olevan järjestelmän palauttaa takaisin sovelluskehittäjälle, mikäli se ei vastaa suorituskykyyn asetettuja raja-arvoja. Tällöin voidaan numeraalisesti osoittaa, että järjestelmä vaatii vielä korjaamista ja jatkokehittelyä vastatakseen palvelun laatustandardeja. Näin säästytään virheistä koituvilta kustannuksilta ja investoidaan toimivaan järjestelmään.