Turvallisuuden tunne joka on vain harhakuva
Savonsanomat.fi oli nurin viimeviikon koulu-uhkausten kiihdytettyä ihmisten tiedonjanoa. Savon Sanomien, kuten muidenkin uutispalveluiden pääasiallinen tavoite on saada klikkauksia. Liiketoiminta riippuu kävijävirrasta. Joskus tehdään jättimäisiä markkinointikampanjoita tavoitteen saavuttamiseksi, toisinaan joku idiootti hoitaa hommat mediatalojen puolesta esimerkiksi esittelemällä uusia silareita kuvissa tai uhkaamalla jotain koulua pommilla.
Jokainen verkkotoimituksen johtaja toivoo salaa perähuoneessaan, että juuri tällä kertaa omasta jutusta tulisi hitti ja kävijämäärät räjähtäisivät käsiin. Siksi otsikointi onkin verkkouutisissa niin raflaavaa.
Hämmästyttävää kuitenkin on kuinka harvassa verkkopalvelussa on lopulta on varauduttu todellisiin menestystarinoihin. Ja tämä ei edes riipu toimialasta.
Kaikkein suosituimmissa verkkopalveluissa äkillisistä kävijäpiikeistä on huolehdittu jo etukäteen. Lisäksi palveluiden kestoa koetellaan jatkuvasti vihamielisen ympäristön varalta.
Googlen työntekijät testaavat säännöllisesti palvelinkeskusten varotoimia tekemällä hyökkäyksiä. Niissä esimerkiksi häiritään tietoverkkoja tai puhkotaan jäähdytysvettä kuljettaviin putkiin reikiä. Aivan vastaavalla tavalla myös verkkopalvelu Netflix on jatkuvan haasteen alla. Netflixin Chaos Monkey työkalu hyökkää sattumanvaraisesti palvelinten kimppuun 1000 kertaa viikossa.
Selityksiä laiminlyöntiin löytyy satojen toimistopöytien takaa. Testaaminen on niin vaivalloista. Se maksaa varmaan liikaa rahaa ja aikaa. Ja sitäpaitsi palvelumme on toiminut ihan hyvin tähänkin asti. Voin kertoa, että mikään näistä ei pidä paikkaansa. Väitän, että ainoa syy laiminlyöntiin on rajallinen ryhtymiskyky.
Jokainen maalaisjärjellä varustettu ihminen tietää, että harjoitus tekee mestarin. Kuitenkin verkkopalveluiden kohdalla harjoittelu lyödään aina laimin. Koska kaikki on tähänkin asti toiminut, niin tuudittaudutaan turvallisuuden tunteeseen, joka on vain harhakuva.
Minun on helppo yhtyä tuohon, että ainoa syy kuormitustestauksen laiminlyöntiin on rajallinen ryhtymiskyky. Toisinaan tuntuu siltä, että sama pätee testauksessa laajemminkin.
Tuudittautuminen turvallisuuden tunteeseen sillä verukkeella, että ”se on toiminut tähänkin asti” tai sitten ”kyllä se meilläkin kestää kun Masan firmalla on melkein samanlainen ja hyvin kestää”.
Mikäli asia ei olisi näin, niin olisimme saaneet lukea tämän Savonsanomien uutisenkin toisenlaisena, nimittäin siten että palvelu olisi ollut normaalisti saatavilla kaikesta huolimatta ja koko ajan. Näin ei nyt kuitenkaan käynyt.
Mitä ihmettä vastaaville tilanteille sitten oikein voi tehdä, saattaa joku kysyä, kuten myös minä itse. Onko olemassa mitään muuta tapaa kuin kuormitustestata palvelu? Voisikos sellainen auttaa, että ostetaan niitä servereitä sen verran monta, että ei varmasti lopu kapasiteetti kesken?
Todellakin kysymys on siitä mihin toimenpiteisiin tulisi ryhtyä, jotta kestokyky saadaan kuntoon. Periaatteessa kai homman voi hoitaa kahdella tavalla. Kehittämällä alusta asti skaalautuva arkkitehtuuri tai sitten pitää hommata sellainen palvelinkapasiteetti, joka varmasti kestää hurjimmatkin huiput.
Molemmissa tapauksissa on kuitenkin yhteistä se, että ilman kunnollista kuormitustestausta ei voi tietää miten lopulta kävijäryntäyksen kanssa käy. Skaalautuuko järjestelmä todella tai onko kapasiteetti niin roima, että se todella kestääkin?
Tietysti on se kolmaskin vaihtoehto. Painaa pää alas ja heittää pyyhe kehään. Hyväksyä nöyränä, että käyttäjät eivät nyt pääsekään palveluun ja menevät muualle.
Minulla oli tilaisuus tovi sitten todistaa paalupaikalta tapausta jossa palvelulle itseasiassa suoritettiin kuormitustestaus. Palvelua pyörittämään oli valjastettu järeähkö serveri 24-ytimellä ja kymmenillä gigoilla muistia. Lisäksi näitä servereitä oli tarkoitus laittaa useita load balancerin taakse eli palvelun kehittäjä oli ottanut suorituskyvyn tosissaan – ainakin raudan puolesta.
Testien aikana paljastui, että palveluun valitut softateknologiat ja arkkitehtuuriset ratkaisut olivat menneet pieleen sekä säädöissä oli paljonkin toivomisen (säätämisen) varaa. Yksi serveri kykeni hoitamaan ainoastaan muutaman sata yhtäaikaista kävijää ja serverin kapasiteetti oli täysin syöty. Palvelu oli rakennettu niin kehnosti, että asia ei ollut pelastettavissa raudalla ellei nyt ala hulluttelemaan ja ostamaan kymmenittäin servereitä.