Green ICT:llä tarkoitetaan tieto- ja kommunikaatioteknologian käyttämistä kestävästi ja ympäristövaikutukset tiedostaen. Aihe on tärkeä sekä moraalisesti että kasvavissa määrin myös EU-regulaation tuomien paineiden takia. Aihealue on siitä hankala, että IT-järjestelmien ympäristövaikutuksia on vaikea mitata.
Green ICT on viisasta resurssien käyttöä. Resurssien viisas käyttö, onneksi, pienentää kustannuksia. Kyse on loppujen lopuksi tehokkuudesta, joka liittyy suoraan laitteistoihin, palveluihin, ohjelmistokehitykseen, suunnitteluun tai välillisesti pitkällä aikavälillä ylläpidon ja elinkaaren hallinnan kustannuksiin.
Hiilijalanjälkeen vaikuttavat asiat
Suurimmat, mutta toisaalta epäsuorat, vaikutukset tapahtuvat hankkeiden alussa. Alussa tehdyt valinnat määrittävät muun muassa rakennettavan palvelun tavoitteen, yleisön ja teknologian. Varsinainen mittaus on kuitenkin mahdollista vasta palvelun ollessa käytössä, sillä se tapahtuu käytetyn ja mitattavissa olevan laskentatehon, tiedonsiirron ja tallennuskapasiteetin sähkönkulutuksen pohjalta.
Sähkön lähde vaikuttaa luonnollisesti ja merkittävästi päästöjen määrään. Laitteiden valmistuksesta seuraa myös päästöjä, mutta tässä kirjoituksessa ei oteta kantaa mineraaleihin tai logistiikka-asioihin.
Infrastruktuuri eli palvelimet ja pilvipalvelut
Perinteisen palvelinympäristön suurimpia haasteita on, että palvelimen pitäisi toimia jatkuvasti lähes täydellä kapasiteetilla ollakseen kustannustehokas ja ympäristöystävällinen. Harva palvelu kuitenkaan vaatii ympärivuorokautista jatkuvaa täysajoa.
Oikein käytettynä pilvi-infrastruktuuri tarjoaa tarpeen mukaan dynaamisesti skaalautuvaa laskentatehoa. Parhaimmillaan se vähentää turhaa prosessoriaikaa. Teoriassa pilvipalvelut voivat jopa suorittaa laskentaa alueella, jossa on kullakin ajan hetkellä edullisinta ja kestävintä energiaa.
Pilvipalveluiden skaalautuvuudella on myös haasteensa. Kasvava abstraktiotaso ja monimutkaisuus hankaloittavat mitattavuutta ja vaativat enemmän osaamista. Pilven käyttämän energian määrää on usein mahdollista mitata palveluntarjoajien omilla työkaluilla, mutta mittaustavat eivät ole standardoituja.
Pilvipalveluiden suorituskykyä kasvattaessa on helpompaa ja lyhyellä aikavälillä halvempaa hoitaa asia skaalausnappia painamalla kuin optimoida ohjelmistoa.
Ohjelmistokehitys
Ympäristövaikutukset alkavat ohjelmointikielen ja kirjastojen valinnasta ja jatkuvat arkkitehtuuriin sekä algoritmeihin. Valtaosalla valinnoista on kääntöpuolensa – ohjelmointikielillä on merkittäviä tehokkuuseroja, mutta kutakin kieltä osaa eri määrä ihmisiä. Valinnalla on vaikutus ohjelmiston elinkaaren hallintaan sekä tulevien työntekijöiden rekrytointimahdollisuuksiin.
Koodia optimoimalla voimme nopeuttaa koodin ajamista, mikä parantaa resurssitehokkuuden lisäksi käyttökokemusta. 2010-luvulla laskentatehon, tallennuskapasiteetin ja tiedonsiirtonopeuden eksponentiaalinen kasvu saavutti pisteen, jossa meidän ei välttämättä tarvinnut enää miettiä tehokkuutta yhtä paljon. Vanhan liiton optimointikikat unohtuivat.
Ajattelen optimointiasioita kahdesta näkökulmasta: siirrettävän datan määrän hallinta ja datan prosessointi.
Datan siirron optimoinnissa voidaan huomioida esimerkiksi kuvakoko ja kuvan pakkaus, median “laiska lataus”, välimuistin käyttö, fontit tai turhan koodin siivous. Mitä vähemmän dataa siirretään palvelimelta selaimelle tai applikaatiolle, sen parempi.
Datan prosessoinnissa on syytä huomioida tietokantakyselyiden tehokkuus, välimuistitus, toimenpiteiden turha toisto algoritmitasolla sekä ohjelmistokielien tai -kirjastojen valinta.
Myös ohjelmistokehityksen prosesseilla on epäsuora vaikutus tuotettuihin päästöihin. Esimerkiksi testien kirjoittaminen ja suorittaminen on tehokas tapa ehkäistä virheitä ja välttää toisenlaista hukattua resurssia, eli ihmisten aikaa.
Suunnittelun vaikutuksia
Visuaalinen ilme ja käyttöliittymä vaikuttavat rakennettavan palvelun arkkitehtuuriin, joka vaikuttaa kehitys- ja pilvityöhön. Yksinkertaisetkin ratkaisut, kuten tummat värit vaikuttavat näyttöpäätteiden kuluttaman energian määrään. Kuvien ja videoiden määrä vaikuttaa merkittävästi tiedonsiirtoon. Reaaliaikaiset ominaisuudet vaativat taustalleen ylimääräisiä tehoja ja varajärjestelmiä.
Suunnittelun tulisi hyvien tapojen mukaisesti tapahtua yhteistyössä kehittäjien kanssa, jotta valintojen vaikutus on yhdessä tiedostettu. Vaikka yksittäiset valinnat tai parannukset voivat tuntua pieniltä, on niillä pitkälle tulevaisuuteen vaikuttavat kumulatiiviset seuraukset.
Elinkaari ja ympäröivä systeemi
Digitaalisten palvelujen elinkaaret voivat vaihdella kuukausista vuosikymmeniin. Palveluita pitää pystyä ylläpitämään kohtuullisella vaivalla ja ilman, että ylläpito on riippuvaista tietyistä toimijoista tai henkilöistä.
Tämän takia asiantuntijoiden tulee välittää työstään kokonaisvaltaisesti. Dokumentaation tulee olla riittävä. Tietoturva- ja tietosuoja-asiat vaikuttavat uskottavuuteen ja riskienhallintaan. Hyvin hoidettua koodipohjaa tai infrastruktuuria on helpompi jatkokehittää.
Aktiivinen ylläpito ja refaktorointi on yleensä edullisempi, helpommin hallittava ja kestävin vaihtoehto. Uudelleenrakentaminen on usein kallista ja monimutkaista, mutta joskus ainoa järkevä vaihtoehto. Uusiksi mietitty palvelu voi ratkaista ajan saatossa ja maailman muuttuessa syntyneitä, täysin erilaisia haasteita.
Välilliset vaikutukset
Rakennetulla palvelulla voi olla merkittäviä välillisiä vaikutuksia suorien hiilipäästöjen lisäksi. Hyvää tavoitteleva ja erinomaisesti tehty tuote voi ohjata käyttäjiä ympäristöystävällisempään tai yhteiskunnan kannalta positiiviseen toimintaan.
Asiointipalvelut pyrkivät auttamaan käyttäjäänsä hoitamaan asiansa mahdollisimman nopeasti, mutta viihdekäyttöön tarkoitettujen ”mitä enemmän huomiota, sen parempi” -palveluiden vaikutusten kanssa on vaikeampi tasapainoilla. Välillisten vaikutusten arvioinnissa täytyy pinnistellä systeemiajattelun kanssa, ja oikeita vastauksia ei aina ole.
Tekoäly
Tekoälyn ympäristövaikutuksissa suurin kysymys lienee: onko tekoälyn käyttöön ja sen kouluttamiseen kulutetut resurssit suurempia kuin ihmisen samaan työhön käyttämä aika? Oli tilanne nyt mikä tahansa, tulee tekoälyn tehokkuus ja sen kehittämiseen käytetty energia oletettavasti kasvamaan.
AI tehostaa yllä mainittuja ohjelmistokehitykseen liittyviä asioita ja yleisesti monia rutiinitoimenpiteitä. Ihminen voi keskittyä kokonaisuuden ymmärtämiseen.
Kestävyyden näkökulmasta kysymys on erityisesti tekoälyn käytön tarpeellisuudesta, sillä nykyisen tekoälyhypen aikana sitä työnnetään paikkoihin, jonne se ei kuulu. Toisaalta vain kokeilemalla tekoälyn käyttöä eri yhteyksissä löydämme uusia sekä tehokkaampia tapoja toimia. Tekoäly on väistämätön asia, ja mielestäni meidän tulisi etsiä sen tuomia mahdollisuuksia vaikuttaa positiivisesti myös ympäristöön.
Kestävät ratkaisut yhteiseksi tavoitteeksi
Green ICT ponnistelut kannattaa aloittaa rakennettavan palvelun vaikutusten arvioinnista ja vasta sitten keskittyä teknisiin toimenpiteisiin. Elinkaaren hallinta ja tarpeettomien ominaisuuksien välttäminen ovat tärkeitä toimenpiteitä. Parhaimmillaan kestävien ratkaisujen rakentaminen on koko yrityksen yhteinen tavoite, ei vain osittain sovellettu periaate. Lähes jokainen digitaalisia palveluita rakentava voi tehdä yllä mainittujen asioiden pohjalta pieniäkin positiivisia valintoja.
Joonas Pajunen on Fraktion toimitusjohtaja ja kokenut ohjelmistokehittäjä, jolla on yli vuosikymmenen kokemus digitaalisten palveluiden kehittämisestä eri toimialoilla. Joonas uskoo, että teknisellä tehokkuudella, ketteryydellä ja läpinäkyvällä organisaatiokulttuurilla voidaan rakentaa aidosti kestäviä digitaalisia tuotteita. www.fraktio.fi