Näyttää siltä, että käytät Internet Explorer -selainta. Selain ei valitettavasti ole tuettu. Suosittelemme käyttämään modernia selainta kuten Chrome, Firefox, Safari tai Edge.

Vihreällä koodilla kohti kestävämpää ohjelmistokehitystä

Julkaistu aiheella Teknologia

Kirjoittaja

Santtu Vuori

Santtu Vuori työskentelee Nitorilla CTO:na Tukholmassa. Hänellä on pitkä kokemus erilaisista rooleista ohjelmistokehityksen saralla ja erityisesti järjestelmät, joiden suorituskyky on keskeisessä osassa, kiinnostavat häntä. Santtu syttyy myös olemassa olevien järjestelmien ja prosessien analysoinnista ja sen jälkeen niiden parantamisesta yhdessä. Vapaa-ajallaan hän pitää ruoanlaitosta ja ulkoilusta yhdessä perheensä kanssa.

Artikkeli

14. joulukuuta 2023 · 3 min lukuaika

ICT-ala on tällä hetkellä vastuussa noin kymmenesosasta koko maailman sähkönkulutuksesta. Arvioiden mukaan tämä osuus kasvaa vuoteen 2030 mennessä jopa 20 prosenttiin. Yritykset ovat keskittyneet pitkään laitteiden energiatehokkuuteen, mutta nyt on aika luoda kriittinen katsaus myös ohjelmistoihin. Vaikka ympäristövastuu ja vihreä teknologia ovat monissa suhteissa muodostuneet liike-elämän normiksi, ICT-alalla on vielä matkaa kiinni kurottavana.

Vihreä koodi on askel oikeaan suuntaan ja keino optimoida ohjelmistosuunnittelun energiankulutusta ja -tehokkuutta. Vihreä koodi on tärkeää paitsi kestävyyden näkökulmasta, mutta se tuo myös liiketoimintahyötyjä liiketoiminnan hyötyjen kannalta. Näinä aikoina tarvitsemme molempia enemmän kuin koskaan.

Ohjelmistojen optimointi ei ole uutta, mutta alalla suhtaudutaan siihen usein yllättävän lepsusti. Kun järjestelmät alkavat toimia liian hitaasti, klassinen ratkaisu on usein ostaa uutta laitteistoa. Pilviympäristöissä lisäkapasiteetin ostaminen on tietenkin helpompaa. Sekä palvelimien että mobiililaitteiden laskentatehon nopea kasvu ei ole auttanut asiaa.

Valitettavasti tehoton ohjelmisto on usein merkki muista laadullisista ongelmista.
Aiemmin koodaamiseen liittyi rajoituksia: piti ottaa huomioon rajoitettu muisti, tallennustila ja verkkokapasiteetti. Kehittäjien piti olla säästeliäitä ja reagoida tilanteen vaatimalla tavalla. Tänä päivänä meillä on pääsy lähes rajattomiin resursseihin, jolloin niitä on myös helppo pitää itsestäänselvyytenä. Sen myötä kasvaa myös huolettoman, kenties jopa laiskan, koodaamisen riski.

Esimerkiksi aikoinaan oli välttämätöntä varata muistia tietojen tallentamiseen ja vapauttaa se myöhemmin. Nykypäivänä tälle ei ole tarvetta, mikä toisaalta tarkoittaa myös sitä ettei kehittäjät enää kohtaakaan jatkuvia muistutuksia koodinsa resurssivaatimuksista – tai että kukaan ei ohjaa aloittelijoita pohtimaan koodinsa kestävyyttä.

Vihreä koodi – näin pääset alkuun:

1. Varmista, että ohjelmistosi on energiatehokas

Ensimmäinen askel on varmistaa käytössä olevien ohjelmien energiatehokkuus. Sisäisen auditoinnin avulla voit tarkistaa, että hyödynnät käytössä olevia palveluita järkeväsi niin ympäristön kuin taloudenkin kannalta. Saatat esimerkiksi huomata maksavasi palveluista, jotka ovat jääneet vaille käyttöä tai ovat osin päällekkäisiä muiden työkalujen kanssa.

Tässä on hyvä sauma optimoida myös kustannuksia.
Jos palveluntarjoajasi on mahdollista toimittaa raportteja omien palveluidensa ympäristövaikutuksista, voit hyödyntää tätä tietoa kestävämmän päätöksenteon tukena. Valitse palveluita, jotka ovat energiatehokkaita, mutta silti sopivat tarpeisiisi.

On myös hyvä luoda katsaus omaan työhön: onko kehittämäsi ohjelmiston julkaisu toteutettu järkevästi myös ympäristön kannalta.

2. Valitse vihreä ohjelmointikieli

Ohjelmointikieliä löytyy melkoinen määrä, ja niiden energiankulutuksessa on suuria eroja. Esimerkiksi laajasti käytetty Java ei juuri energiaa kaipaa. Python sen sijaan lukeutuu energia-ahneiden kielien kärkikaartiin, mutta silti sitä hyödynnetään melko suurissakin palveluissa. Jos tavoitteena on ottaa käyttöön vihreämpää koodia, on valinta esimerkiksi näiden kahden välillä kuitenkin selvä. Ja toki monet kielet asettuvat jonnekin Pythonin ja Javan välimaastoon sähkönkulutuksen osalta, kuten suosittu C#.

Tekoälyn ja työkalujen, kuten ChatGPT:n, esiinmarssi on kuuma puheenaihe, ja monet ovat alkaneet testata niiden kykyjä päivittäisessä työssään. Mutta tekoäly ja koneoppiminen voivat tehdä paljon enemmän – asioita, jotka pysyvät piilossa konepellin alla. Nämä teknologiat voivat merkittävästi vaikuttaa erilaisiin prosesseihin, parantaa tehokkuutta ja vähentää päästöjä. Esimerkiksi IT-infrastruktuurin optimointi tai automaation käyttöönotto voivat muuttaa jokapäiväistä elämäämme. Vaikka mukana oleva datan käsittely voi olla intensiivistä, tulokset ovat yhä vaikuttavampia ja menettelyt jatkuvasti tehokkaampia

3. Luo kestäviä ratkaisuja

Kestävän kehityksen näkökulmasta kertakäyttöratkaisuja ei pitäisi kehittää laisinkaan, vaan ratkaisuja on tarkasteltava pitkällä tähtäimellä. On tärkeää valita teknologioita ja rakentaa arkkitehtuuria, joka toimii tulevaisuuden kehityksen perustana sen sijaan, että työ aloitettaisiin nollasta aina uusien tarpeiden noustessa. Tämän päivän investointien tulisi tarjota käyttökelpoisia ratkaisuja vielä vuosien ajan.

Kestävyys on yritysten elinehto

Alussa vihreän koodin soveltaminen vaatii ajattelua ja suunnittelua. Se voi viedä ensin hieman enemmän aikaa, sillä saatat joutua arvioimaan ja vertailemaan erilaisia vaihtoehtoja ja palveluita. Pitkällä aikavälillä vihreämpi koodi tekee ratkaisuistasi kustannustehokkaampia, sillä niiden käyttöönotto maksaa vähemmän. Pohjatyön tekeminen maksaa itsensä takaisin.

Fiksut, kestävät ratkaisut tuovat myös lisäarvoa. Yhä useammat yritykset haluavat varmistaa, että koko liiketoiminnan ketju on kestävällä pohjalla. Alihankkijoille ja kumppaneille tämä tarkoittaa kasvavaa tarvetta määritellä omia kestävän kehityksen tavoitteita ja keinoja niiden saavuttamiseksi.

Tiukentuva lainsäädäntö koskettaa pienempiäkin yrityksiä, ja esimerkiksi Liikenne- ja viestintävirasto Traficom on nostanut Vihreän ICT-alan osaksi tulevaisuustyötään. Kestävyyteen keskittyminen on muodostunut kilpailueduksi, jopa elinehdoksi yritysten olemassa ololle.

Nitorille kestävällä digitaalisella kehityksellä ja vihreällä koodilla on suuri merkitys. Haluamme kehittää serverless-palveluita, jotka aktivoivat resursseja vain tarvittaessa. Näin säästämme sekä ympäristöä että asiakkaidemme budjettia. Ratkaisujemme pitäisi palvella käyttäjiään useita vuosia ja toimia vakaana perustana myös tulevaisuuden kehitykselle.

Meille vihreän koodin käyttöönotossa on enemmän kyse asenteesta ja halusta kuin tiedon tai koulutuksen puutteesta. Tietoa on jo olemassa, mutta loikka kohti kestävämpää tulevaisuutta on otettava itse.

Kirjoittaja

Santtu Vuori

Santtu Vuori työskentelee Nitorilla CTO:na Tukholmassa. Hänellä on pitkä kokemus erilaisista rooleista ohjelmistokehityksen saralla ja erityisesti järjestelmät, joiden suorituskyky on keskeisessä osassa, kiinnostavat häntä. Santtu syttyy myös olemassa olevien järjestelmien ja prosessien analysoinnista ja sen jälkeen niiden parantamisesta yhdessä. Vapaa-ajallaan hän pitää ruoanlaitosta ja ulkoilusta yhdessä perheensä kanssa.