it-bransjen
Forsker: IT-industrien mangler fokus på klimautslipp fra programvare
Det kan være store klimagevinster å hente ved å designe programvare på riktig måte, sier Maja Hanne Kirkeby, som forsker på bærekraftig programvare.
Å handle mer bærekraftig er ofte en selvfølge når vi snakker om maskinvare: Returordninger som sikrer resirkulering, miljøvern i leverandørkjeden, produktkrav til energieffektivitet, minimering av emballasje og grønn transport er bare noen av initiativene som den danske bransjeorganisasjonen IT-Branchen har presentert i en idékatalog.
Den tilsvarende listen er imidlertid forsvinnende liten når det gjelder bærekraft i programvarebransjen. Her er «bærekraftig utvikling og koding» det eneste punktet i katalogen.
Programvareforskning er svært komplekst, forklarer Maja Hanne Kirkeby, som er førsteamanuensis i informatikk ved Roskilde Universitet og forsker på bærekraftig programvare.
Men det kan være store miljøgevinster å hente på dette området, og derfor er det også et interessant tema å forske på, sier Kirkeby. IT-systemer står for rundt 2 prosent av alle menneskeskapte CO2-utslipp. Produksjon av maskinvare står for 30 prosent av dette, mens drift av programvare står for resten.
– Når du ser på energiforbruket til programvare, må du ha en idé om hvordan IT-systemet er bygget opp, og du må vite hvordan folk bruker systemet, sier hun.
IT-systemets struktur handler både om koden bak programvaren og datasenteret som kjører programvaren. Utnyttelsen handler om hvordan folk bruker programvaren, og det er ikke uvesentlig:
– Folks bruksmønster har størst innvirkning på energiforbruket til programvare. Derfor må vi ta hensyn til dette når vi vurderer hvor mye strøm en applikasjon eller programvare bruker, forklarer Kirkeby.
Bruksmønster og tidsforbruk
Digitale bruksmønstre kan for eksempel handle om hvilken enhet du bruker for å gå inn på en nettside.
Ifølge forskeren er strømforbruket til en telefon bare en tiendedel av strømforbruket til en datamaskin, så det er mer bærekraftig å designe nettstedet ditt slik at det fungerer best mulig på en telefon og ikke krever en datamaskin for å fungere.
Bruksmønsteret henger også sammen med tidsbruken:
– Hvis du kan redusere antall klikk og tiden du bruker på en oppgave, reduserer du til syvende og sist energiforbruket, sier Kirkeby og påpeker at tre sekunders ventetid i et system er tre sekunders unødvendig CO2-forbruk. Så hvis ventetiden kan reduseres ved å laste inn data eller forbedre et API-anrop, kan det redusere CO2-forbruket betydelig.
Hun bruker e-handelsgiganten Amazons «one-click buying» som eksempel. Funksjonen gjør det mulig for kundene å foreta et kjøp med betalingsinformasjon som er lagt inn på forhånd, og ved å effektivisere betalingsprosessen og gjøre den raskere for brukeren, reduseres også energiforbruket, ettersom færre oppgaver må utføres.
Bruk mindre data
En av de mest effektive måtene å optimalisere programvaren på, er å begrense mengden data som sendes mellom brukerens enhet og datasenteret, ifølge forskeren.
– Mengden data du sender over internett, har relativt stor innvirkning. Hvis du sender mindre informasjon fra for eksempel datasenteret, kan du også motta mindre data på de lokale klientene dine, for eksempel datamaskinen eller mobiltelefonen. Da blir det en betydelig mindre belastning. Hvis du kan unngå å sende data, er det ganske smart, for det er et punkt som reduserer forbruket i hele kjeden, sier hun.
I tillegg er det viktig å bruke de mest optimaliserte programvarene, anbefaler foreleseren. Dette har vært kjent i mange år, men det er fortsatt mye å hente når det gjelder å minimere miljøpåvirkningen fra programvare.
– I vår hadde jeg to studentgrupper som har sett på energieffektiviteten i ulike webrammeverk. Den ene gruppen har studert hvor energieffektive RESTful API-er er når de lages med ulike Node.js-rammeverk. Den andre gruppen har sammenlignet energieffektiviteten til .Net Object Relational Mappers, og i begge tilfeller har de funnet ut at det er ganske stor forskjell mellom rammeverkene som brukes, sier hun.
I tillegg er det mye å hente i koden, anbefaler hun.
– Hvis du har data lokalt, hvorfor hente dem fra datasenteret? Det kan være et sted å begynne, sier hun.
Tenk på ressurser
Selv om det høres enkelt ut, opplever hun at det ofte er noe som ikke følges.
– Internettforbindelsen vår har blitt bedre. Datakraften i datasenteret har økt. Derfor overfører vi bare dataene fra telefonen til datasenteret, gjør beregninger eller oppdateringer og sender dem tilbake igjen. Vi tar vanligvis ikke hensyn til ressursutnyttelsen. Og det er ikke fordi det er så billig å bare starte opp en ekstra server.
Utviklere må begynne å tenke på ressursutnyttelse når de koder. Selv kommer hun fra en generasjon der for eksempel lagringsplass var en viktig faktor når man kodet. Det var en knapp ressurs den gangen – og i dag er det energiforbruket som må minimeres. Det er en tankegang som må innprentes hos alle, mener hun:
– Vi har ikke undervist i energiforbruk før. Det har ikke vært nødvendig. Derfor kunne vi trenge mer opplæring. Både for nyutdannede, men også for dem som ble uteksaminert for 20 år siden. For de har aldri tenkt på de begrensede ressursene.
Artikkelen ble først publisert på Version 2 for deres abonnenter. Den er tilgjengelig på norsk for abonnenter av Ekstra gjennom vår samarbeidsavtale.