ROIMA AKATEMIA
Lisää rautaa rajalle?

Otsikon lause on sellainen, jota itsekin on tullut joskus käytettyä. Ei sotaisassa, vaan softaisassa merkityksessä. Jos sovellus ei toimi tarpeeksi nopeasti tai hyvin, lisätään "rautaa rajalle", eli toisin sanoen lisätään palvelinkapasiteettia. Näin sovellus toimii taas paremmin, kunnes tulee aika lisätä kapasiteettia. Ja mikäs siinä, tuo rautahan on lähestulkoon ilmaista ja sitä saa heti kun tarvitsee? Ja tehoahan löytyy rajattomasti.
Kasvatetaan kapasiteettia...
IT-teknologia on valloittanut elämämme ja monet asiat pyörivät sen avulla, sekä työ- että yksityiselämissämme. Luotamme IT-välineisiin navigoidessamme, tilaamme netin kautta hyödykkeitä, viestimme toistemme kanssa erilaisten elektronisten apuvälineiden kanssa, seuraamme viihdetaltiointeja verkon kautta missä tahansa olemme, teemme työtämme IT-avusteisesti ja luotamme jopa siihen, että IT muistuttaa meitä siitä, mitä meidän on tarkoitus tehdä seuraavaksi. Tämä on johtanut moniin hyviin asioihin: voimme keskittyä olennaisiin asioihin ja meidän ei tarvitse muistaa kaikkea – toisin sanoen, voimme toimia tehokkaammin. Toisaalta meidän pitää olla valveutuneempia kuin koskaan ennen. Lapset ja nuoriso pitää opettaa uusiin osaamisprofiileihin, tai kaikki IT:n vapauttama aika menee turhuuksiin.
Alhaallaoloaika maksaa
Suurin osa yrityksistä toimii IT:n armoilla. Ennen IT:n rooli oli vain toiminnan tehostaja, nyt se on toiminnan mahdollistaja. Monikaan liiketoiminta ei kauaa pyöri ilman IT:n käyttöä. Sitä vaaditaan tehdaiden pyörittämiseen, palveluiden suunnitteluun ja hallintaan, viestintään, dokumentointiin, kokoustamiseen, taloushallintoon, laskutukseen ja henkilöstöhallintoon – se on jo niin luonnollinen osa yritysten arkipäivää, ettei sitä edes huomata. Sen huomaa vasta, kun se ei enää toimi. Menisivätkö suunnitelmasi sekaisin, jos et pääsisi enää nettiin tai läppärisi ei toimi? Olin itse juuri aikeissa tehdä kirjoitustyötä, mutta en pystynyt, koska netti oli poikki: netti on kietoutunut niin vahvasti oman muistin jatkeeksi ja tietolähteeksi, että siihen turvautuu huomaamattakin ja useammin kuin haluaisikaan.
Jos järjestelmä on alhaalla, alkaa alhaallaololle järjestelmän kriittisyydestä riippuen kasvaa oma kustannuksensa. Jos kuluttajille tarkoitetussa palvelussa on liikaa palvelukatkoja, saattavat asiakkaat siirtyä toisiin vastaaviin palveluihin. Jos yrityksen ERP-järjestelmä on pois käytöstä, voidaan päivätasolla puhua moninumeroisista menetyksistä. Jos yrityksen nettisivut ovat alhaalla, menetyksiä ei voi kovin hyvin kvantifioida, ellei sitten nettisivujen kautta käydä suoraa kauppaa. Näitä (poikkeus)tapauksia varten on rakennettu varmistuksia ja niiden varmistuksia. Kapasiteettia on käytössä niin paljon, että palvelut varmasti pysyvät käytettävissä.
Luontokin kuormittuu
Taannoin netissä kohistiin siitä, miten Netflixin käyttö kuormittaa luontoa yhtä paljon kuin lentokoneella lentäminen tietyn matkan verran. Olipa tämä totta tai ei, palvelinkapasiteetti ei toimi itsestään, vaan se vaatii sähköä ja muita resursseja, joiden tuottaminen rasittaa luontoa eri tavoin. Palvelimet vaativat myös ylläpitoa, niihin liittyy eri lisälaitteita, kuten aiemmin mainittuja varmistuksia ja niiden jäähdyttämiseen kuluu myös energiaa. Yhden virtuaalikoneen lisääminen kuluttaa siis jonkin verran lisää resursseja, yhden varsinaisen palvelinkomponentin lisäys selkeästi enemmän.
En kuitenkaan halua viisastella palvelinasioilla, koska niistä tiedän kovin vähän. Ajatukseni liittyy enemmän siihen, miten koko IT-kokonaisuutta voitaisiin optimoida paremmin: pitkään ollaan menty sillä ajatuksella, että pääasia on, että ratkaisut toimivat, kapasiteettia saa kyllä. Ohjelmistojen optimointi on jäänyt vähemmälle, kun palvelinkapasiteetti on kattanut kuorman kuin kuorman. Erityisen hyvä esimerkki on peliteollisuus: uudet pelit vievät järjettömiä määriä tallennuskapasiteettia ja vaativat niitä ajavilta koneilta yhä enemmän tehoja. Sama on vaivannut pitkään myös muita ohjelmistoja: tekninen velka on ja pysyy, korjata ei keretä eikä budjettia anneta. Korjataan mieluummin lisäkapasiteetilla. Optimointia tehdään kyllä esimerkiksi mobiiliapplikaatioiden osalta, mutta niissäkin monesti edetään sisältöä karsimalla ja tyhmentämällä, vastaavaan tietokonesovellukseen verrattuna.
Älykästä softaa ja lisää optimointia
Vielä ei voida sanoa, poistaako tekoäly tämän haasteen. Pystyykö tekoäly itse optimoimaan itseään niin, että se vaatii mahdollisimman vähän resursseja? Laitetaanko toinen tekoäly optimoimaan toisen tekoälyn toimintaa ja niin edelleen, kunnes saadaan aikaiseksi ketjun lailla itseään optimoiva kokonaisuus? Mistä löytyvät tämän junan alku ja loppu? Onko tekoäly edes vastaus kaikkeen? Ratkaisuja ajatellessa olisi hyvä miettiä juuri kyseiseen ongelmaan sopiva ratkaisu ja mennä sen mukaan. Ei rakentaa kaiken ratkaisevia kokonaisuuksia, ”ohjelmistomonoliitteja”, joista tulee juuri niitä kokonaisuuksia, jotka jumiutuvat omaan kompleksisuuteensa ja syövät runsaasti kapasiteettia. Ei overkilliä tekoälyn kanssa, kiitos. Tehdään se oikein alusta asti.
Itse ennustan, että optimointiin tullaan tulevaisuudessa laittamaan paljon enemmän huomiota kuin ennen. Tulemme näkemään koodareita, joille kun kunnia-asia kehittää toimintoja mahdollisimman pienin resurssein. Algoritmiikan osaaminen ja kehittämiskyky tulevat olemaan kuumia kompetensseja, joita voi hyödyntää monella tavalla. Samalla kun saamme digitalisoitua monia asioita rasittamaan maailmaa vähemmän – kuten paperin ja muovin käyttö, kuljetettuja ja kuljettuja kilometrejä, jätteitä – meidän tulee varmistaa, että korvaavat digitaaliset tavat ovat optimaalisen ympäristöystävällisiä. Lisää softaa rajalle, mutta vähemmällä raudalla.