Vihreää eOppimista: Kestävä kehitys ohjelmistotuotannossa

© Juulia Puukari

ICT-ratkaisuista inspiraatiota

Helmikuun lisääntyvä luonnonvalo täyttää eOppimiskeskuksen kestävän kehityksen etätoimiston ja tästä virkistyneenä allekirjoittanut palaa Green ICT -hankkeen kuulumisten pariin. Tieken luotsaaman hankkeen viime joulukuun 8. päivän webinaarin aiheena oli Kestävä ohjelmistotuotanto. Kestävän kehityksen tuominen ICT-ratkaisuihin on työkalujen luomista, joilla voimme kääntää tuhoa kohden raksuttavaa tempoa kohti positiivisempia ilmastokuvioita. Teknologiset harppaukset tuovat tullessaan myös haasteita, jotka helposti kääntyvät itseään vastaan, jollei tästä ristivedosta tulla tietoiseksi. Olemme kuitenkin onnellisessa tilanteessa. Meillä on aikaa ja varaa miettiä näitä asioita. Tarvitsemme motivaatiota, jota syntyy tiedon lisääntyessä ja vaikka tiedon lisääntyminen voi tunnetusti lisätä myös tuskaa, lisää se ennenkaikkea selkeämpiä näkymiä sille, mitä kaikkea voimme saavuttaa kunhan emme jää tuleen makaamaan.

Mistä digitaalisten ratkaisujen hiilijalanjälki muodostuu

ICT-päästöt aiheuttavat maailmanlaajuisesti 1,4-5 % päästöistä mittaustavoista riippuen. Ohjelmistotuotannon hiilijalanjälki ja sen vaikutukset ilmastopäästöihin on kuitenkin vielä osin tuntematonta maaperää. Datansiirroista eri yhteyksissä on julkisesti saatavilla vielä niukahkosti tietoa ja läpinäkyvyyttä kuulutetaan nyt yritysten suuntaan, jotta arvailuista ja hypoteeseista päästäisiin käsiksi todellisiin, mitattaviin lukuihin ja arvoihin. Datakeskuksilla, verkkoinfrastruktuureilla ja datansiirroilla on suuri vaikutus digi-päästöihin, samoin laitteiden ja teknologian tuotantoprosesseilla. Varsinkin kun puhutaan raaka-aineista ja niistä valinnoista, joita teemme koko tuotantoketjua ja tuotteiden elinkaarta ajatellen. Ei voi liiaksi korostaa, miten iso rooli teknologian kehityksessä on itse suunnitteluvaiheella, sillä tässä kohtaa voidaan oikeita valintoja tehdessä vähentää valmiin tuotteen aiheuttamista päästöistä jopa -15 % eri osa-alueilla. Näin luodaan positiivista hiilikädenjälkeä.

© Juulia Puukari

Käytännön ratkaisuja ICT-päästöjen vähentämiseen

Datan- eli tiedonsiirrosta syntyvät päästöt vaikuttavat ICT-päästöjen kokonaiskuvassa isona lohkonaan, joten optimointi tällä osa-alueella ja energiaasäästävien ratkaisujen löytyminen on keskittymisen arvoinen kohde. Optimointia voi toteuttaa esimerkiksi miettimällä verkkosivustoille laitettavien kuvien ja videoiden koon määrittelyä, mikä on tarpeen ja tarkoituksenmukaista. Usein selatessamme nettisivuja, keskitymme enemmän sivun ylä- kuin alaosastoon, jolloin sivustolle siirryttäessä alaosan kuvat/videot voisi hyvin jättää turhaan lataamatta. Suurien, esimerkiksi 4k-videoiden lataaminen olisi myös hyvä olla käyttäjän omassa valinnassa eikä oletusarvoinen optio, sillä usein pienempi koko riittää aivan hyvin nykypäivän nopeaan selailutahtiin. Ohjelmistotuotannossa tiedonsiirrosta maksetaan datan sekä käytetyn pilven perusteella, joten tältäkin osin optimointi on luonnollinen kehityskulku. Verkonkäytössä taas ekologisempi ratkaisu on hyödyntää mieluummin wifi-yhteyttä kuin mobiiliverkkoa. Mobiiliverkko kuluttaa enemmän energiaa, sillä yhteystolpat sijaitsevat fyysisesti kauempana kuin rajatummassa tilassa olevat wlan-asemat.

Koodauksen ekonäkökulma

Ekologisen ja kestävän kehityksen näkökulman tuominen koodaamiseen on jossain määrin virittäytymistä historian havinan taajuuksille ja jopa hieman palaamista ohjelmoinnin juurille. Ennen koodissa piti säästää aivan kaikessa. Nykyään serverit ovat kuitenkin suoritusteholtaan jo sen verran voimallisia, että ollaan valitettavasti menty aivan toiseen ääripäähän ja nykykoodia riittää hassattavaksi kirjastokaupalla. Osa ongelman ytimestä piilee juuri suurissa kirjastoissa, joita osa ohjelmointikielistä lataa käyttäjälleen vaikka tarve olisi saada vain lyhyt pätkä koodia spesifiin tarpeeseen. Jo suunnitteluvaiheessa on siis hyvä kiinnittää huomiota ohjelmointikielen tarkkaan valintaan ja olla tietoinen eri kielten käyttöön sisältyvistä vaihtokaupoista. Osa ohjelmointikielistä on nopeampia (esim. Go, Rust, C/C++) kun taas osa hyödyntää erityisen paljon raskaita kirjastoja (esim. Java script, Python), jotka käyttäjä joutuu lataamaan tarpeistaan riippumatta. Jälleen tässäkin tarkoituksenmukaisuus ja resurssitehokkuus pilvestä ladattaessa edistävät myös energiatehokkuutta koodaamisessa. Huomio kiinnittyy vahvasti oppilaitosten ja kouluttajien puoleen, sillä opiskelijat oppivat usein vain yhtä kieltä, joka tyypillisesti on juuri Java script tai Python. Halutessaan kehittyä tehokkaaksi ohjelmoijaksi jo opiskeluvaiheessa olisi hyvä tutustua ja ottaa haltuun entistä usempi ohjelmointikieli ja täten harjaantua myös työelämässä valitsemaan energia- ja resurssitehokkaimman työkalun ohjelmistosuunnittelussa. Hyvä etukäteissuunnittelu säästää niin rajallisia resursseja, rahaa kuin luontoakin.

Tieto lisää ymmärrystä, tiedostaminen motivaatiota

Kestävän kehityksen aiheet kiinnostavat hyvin monia ohjelmistokehittäjiä. Rahoituspuolella ympäristöteemat on jo hyvin tiedostavasti otettu huomioon päätöksenteossa, joten tämä vaikuttaa suoraan kysyntään ja tarjontaan alalla. Myös asiakkaat ovat entistä ilmastotietoisempia ja osaavat vaatia ympäristöasioiden huomioimista omilla kulutusvalinnoillaan. Aihe ei kertakaikkiaan ole enää sivuutettavissa pölyttyneimmänkään pukuihmisen pöydällä. Kun mennään sekä tehokkuuden, että rahan ehdoilla, tavoitteet itseasiassa kohtaavat myös kestävän kehityksen ja ilmastonmuutoksen hillitsemisen hyväksi. Vielä tarvitsemme kuitenkin lisää läpinäkyvyyttä, valmiimpia viitekehyksiä ja yhteisiä standardeja, jotta saamme ohjelmistokehityksen suuntautumaan entistä ekologisempaan suuntaan. Toivoa on!

Helmikuun hankien hohteessa aurinkoista hiihtolomakautta odotellen,

Juulia Puukari, Kestävän kehityksen harjoittelija, Suomen eOppimiskeskus ry

Teksti kirjoitettiin käyttäen hyväksi Tieken Green ICT -hankkeen 8.12.2021 järjestettyä webinaaria, linkki tapahtumasivulle esityksineen ja materiaaleineen löytyy tästä: https://tapahtumat.tieke.fi/kestavakoodi

© Juulia Puukari