Vuonna 1969 Kuuhun päästiin 72 kilotavun voimin1, kun taas vuonna 2022 keskimääräisen suomalaisen TOP 1000 -nettisivun koko oli 2,7 megatavua työpöytänäkymässä2 – ero on 37-kertainen. Tietenkään nämä kaksi asiaa eivät ole suoraan vertailukelpoisia, olihan edellinen Assemblerilla koodattu huikea teknologinen taidonnäyte ja jälkimmäinen pääasiassa tekstiä ja kuvia selaimen välilehdellä. Pointti onkin ehkä enemmän siinä, kuinka huolettomasti ja tuhlailevasti me tänä päivänä käytämmekään resursseja kun vähempikin riittäisi. Vihreän koodin periaatteilla tilanteeseen voi puuttua.
North Patrol on suunnitteluun erikoistunut konsulttitoimisto. Suunnittelemme, autamme teknologiavalinnoissa, kilpailutamme. Emme myy toteutusprojekteja, emmekä lisenssejä, olemme aidosti asiakkaan puolella.
Vihreällä koodilla tarkoitetaan energiatehokasta ohjelmakoodia, joka on hyvin optimoitua sekä toteutettu fiksusti ja kaukonäköisesti. Koodin vihertämisestä on pääasiallisesti vastuussa toteuttajapuoli, mutta myös ohjelmistojen ostajan on hyvä olla tietoinen aiheesta, koska vihreää koodia on osattava vaatia. Ohjelmistokoodin tekeminen energiatehokkaaksi kuitenkin vaatii oman tietotaitonsa samalla tavalla kuin vaikkapa saavutettavuuden huomioiminen.
Nykysivustojen koko työpöytänäkymässä on yli kolminkertaistunut viimeisen kymmenen vuoden aikana. Mobiilissa koko on peräti seitsenkertaistunut. Laitteiden tehokkuus ja verkon siirtokyky eivät tänä päivänä aseta samanlaisia rajoituksia kuin ohjelmistokehityksen alkuaikoina, joten niitä ei välttämättä tule koodatessa mietittyä ollenkaan. Monesti on helpompaa ja nopeampaa vain lisätä palvelinkapasiteettia kuin optimoida koodia, vaikka optimointi olisikin pitkällä aikavälillä järkevämpää sekä taloudellisesti että koodin ylläpidon kannalta.
Ohjelmistojen energiatehokkuutta saadaan parannettua heti, kun energiatehokkuudesta tulee ohjelmistoille välttämätön tarve.
professori Jari Porras, Vihreä koodi -kirjan esipuheessa
Ohjelmiston energiatehokkuus näkyy suoraan ylläpitokuluissa, ja lopulta myös loppukäyttäjän sähkölaskussa. Kukapa haluaisi maksaa yhtään ylimääräistä yli kahden euron kWh -hinnoilla.
Vihreän koodin huomioiminen uutta ohjelmistoa hankittaessa
Kirjoitin jo aiemmin digipalveluiden hankinnan vihreistä vaatimuksista, joita sinä palvelun omistajana voit itse tehdä:
- Vaadi uusiutuvan energian käyttöä palvelimissa
- Optimoi kaikki käyttämäsi kuvat ja videot
- Harkitse, ovatko kaikki kolmansien osapuolien tarjoamat palvelut oikeasti tarpeellisia omassa palvelussasi
Näiden lisäksi voimme tehdä enemmänkin yhteistyössä toimittajatahon kanssa:
- Tue myös vanhoja päätelaitteita
- Kerää vain välttämätöntä tietoa
- Ota vihreä koodi osaksi kaikkea tekemistä
Vanhojen päätelaitteiden tukeminen on ensiarvoisen tärkeää
Lähtökohtaisesti koodin on oltava nopeaa ja kevyttä, ja sitä myöten myös energiatehokasta, jotta se toimisi vanhoissakin päätelaitteissa. Vihreän koodin käyttö siis pidentää palvelusi käyttöikää, kun se ei happane heti uuden käyttöjärjestelmä- tai selainversion tullessa markkinoille. Tässä on myös yhteiskunnallinen ja yleisempikin kestävän kehityksen näkökulma: kaikki eivät tänä päivänä syystä tai toisesta halua tai voi ostaa jatkuvasti uudempia ja tehokkaampia päätelaitteita, jolloin moni käyttää edelleen useita vuosia vanhoja puhelimia ja kannettavia. Onko sinulla oikeasti varaa jättää tämä osa potentiaalisesta asiakaskunnastasi palvelun ulkopuolelle?
Verkkopalvelulle tai sovellukselle kannattaa asettaa tavoiterajoja nopeuden ja sivukoon suhteen. Samoin välimuistin ja evästeiden tehokas hyödyntäminen pitäisi huomioida projektin alusta saakka. Näitä tulisi ehdottomasti kirjata mukaan jo vaatimusmäärittelyyn. Vihreän koodin filosofia kulkee käsi kädessä progressive enhancement -periaatteen kanssa, jossa sovellus toimii minimivaatimuksilla sisällön ollessa pääosassa – animaatioita ja muuta silmäkarkkia voi kyllä olla, mutta ne ovat toissijaisia.
Vaatimusmäärittely on digiprojektissa keskeinen dokumentti, jonka avulla konkretisoidaan tietojärjestelmän tai verkkopalvelun suunnittelu, hahmotetaan tekniset ratkaisut, pyydetään toteuttajalta perusteltu työmäärä- tai kustannusarvio ja ohjataan ketterän toteutustyön työtehtäviä. North Patrolin vetämässä määrittelytyössä vaatimukset saadaan kirjattua laadukkaasti, asiantuntevasti ja kustannustehokkaasti.
Tärkeää on, että optimoidaan oikeita asioita sen sijaan, että vain siirretään ongelma toisaalle (esim. laskentatehoa vaativat toiminnot siirretään palvelimelta käyttäjän päätelaitteen suoritettavaksi vain, jotta voitaisiin kehua kuinka nopeaa toiminta on palvelinpäässä). Tottakai sillä, mikä on järkevää optimointia ja mikä ei, on rajansa eli loputtomiin koodia ei kannata viilata. Pääasia kuitenkin on, että tehdään tietoisia ratkaisuja mutuilun sijaan.
Kaikkea tietoa ei tarvitse kerätä
Mieti kaiken palvelussasi kerättävän tiedon tarpeellisuutta. Onko sille käyttöä juuri nyt vai kerätäänkö sitä vain varmuuden vuoksi? Toki jo Euroopan Unionin tietosuoja-asetus, GDPR, asettaa rajoituksia sille, millaista tietoa käyttäjistään ylipäätään saa haalia. Mitä enemmän tietoa kerätään, sen enemmän dataa liikkuu verkossa ja tallennetaan tietokantoihin tai levynkulmalle, ja sitä enemmän kuluu energiaa. Myös turhan ja vanhentuneen tiedon säilyttäminen syö resursseja. On siis parempi miettiä etukäteen, mikä on se minimimäärä dataa, jolla tullaan toimeen, kuin kerätä kaikki mahdollinen talteen varuiksi.
Ota vihreän koodin periaatteet mukaan päivittäiseen tekemiseen
Jos yrityksesi arvoihin kuuluu jo kestävä kehitys ja ekologisuus, vihreän koodin vaatiminen myös kehitysprojekteissa on luonnollinen jatkumo tähän. Vihreän koodin vaatimus voidaan perustella suoraan taloudellisellakin näkökulmalla: Se tulee lopulta halvemmaksi.
Tehokkaammaksi tehty ohjelmisto kuluttaa vähemmän resursseja, energiaa, palvelimia, siirtoyhteyksiä ja niin edelleen, mikä on suoraa säästöä ostajalle.
Janne Kalliola, Vihreä koodi -kirja
LUT-yliopiston professori Jari Porras toteaa Vihreä koodi -kirjan esipuheessa ”ohjelmistojen energiatehokkuutta saadaan parannettua heti, kun energiatehokkuudesta tulee ohjelmistoille välttämätön tarve”. Ja tämä tarve syntyy joko tulevaisuuden lainsäädännön kautta tai siitä, kun ostajapuoli alkaa sitä vaatimaan – mieluummin ennen kuin laki niin käskee. Vihreän koodin puolestapuhujia ei ole koskaan liikaa.
Jotta saisit vihreän koodin periaatteet osaksi omaa ja yrityksesi arkea, voi sitä ajatella vaikkapa uuden rutiinin muodostamisen kautta: Alkuun on mietittävä, mitä rutiinilla haluat saavuttaa ja sen seuraamiseen pitää keskittyä hieman tarkemmin ja säännöllisemmin. Mutta ajan mittaan siitä tulee luonnollinen osa ajatteluasi eikä se vaadi juurikaan ylimääräistä ponnistelua.
Lopuksi
Ohjelmistojen absoluuttista energiankulutusta on käytännössä mahdotonta mitata, mutta se ei tarkoita sitä, etteikö sen vähentämiseen tähtääviä toimenpiteitä olisi syytä tehdä ja vaatia. Meillä on kuitenkin jo käytössämme valikoima keinoja, joilla tiedämme olevan pienentävää vaikutusta energiankulutukseen. Koodin optimointia voi tehdä paljonkin, kerättävän datan määrän voi minimoida ja ottaa vihreän koodin periaatteet osaksi omaa ja yrityksen toimintaa laajemminkin. Miksi emme siis käyttäisi niitä?
Me North Patrolissa kannustamme asiakkaitamme vaatimaan hosting-palveluiltaan uusiutuvan energian käyttöä. Usein ehdotamme myös kilpailutuksen laadullisiin kysymyksiin kohtaa, jossa pyydetään toimittajaa kertomaan, miten ratkaisussa varmistetaan energiatehokkuus, nopeus käyttäjän kannalta ja palvelun toimivuus myös vanhemmilla päätelaitteilla. Lisäksi vaatimusmäärittelyvaiheessa pyrimme tunnistamaan toiminnallisuudet, jotka voivat olla potentiaalisesti raskaita päätelaitteille tai vaativat kohtuuttomasti tiedonsiirtoa. Kannustamme asiakkaitamme myös miettimään välttämättömien mittaus- ja mainontajäljittimien määrää, ja esimerkiksi julkishallinnon asiakkaille suosittelemme usein kokonaan raskaasta evästepohjaisesta mittaamisesta luopumista.
1: ”The astronauts had access to only 72 kilobytes of computer memory”. The Smithsonianin artikkeli Margaret Hamiltonista.
2: ”Suomen 1000:n suosituimman sivun keskimääräinen koko oli noin 2,7 Mt tietokoneella, 3,4 Mt vieritetyllä tietokoneella, 2,4 Mt mobiililla ja 3,1 Mt vieritetyllä mobiililla.” Aalto-yliopiston vuonna 2022 tekemä Analyysi suosituista Suomessa käytetyistä verkkosivuista (s. 5).
Lisälukemista
- Janne Kalliolan Vihreä koodi -kirja
- Koodarikuiskaajan podcast -jakso vihreästä koodauksesta Jaakko Alajoen kanssa
PS. Sinua voisi kiinnostaa tulossa oleva ilmainen webinaarimme: Digitaaliset asiointipalvelut – Erilaiset konseptit ja toteutuksen eri vaihtoehdot (11.12.2024 klo 10:00). Ilmoittaudu webinaariin