Sustainability by Design

Grote bedrijven besteden veel tijd aan rapporteren over hun duurzaamheidsinspanningen. Het energiegebruik door applicaties staat nog niet op die agenda, terwijl daar veel winst te behalen is 

25 april 2024   |   Blog   |   Door: Robbrecht van Amerongen, Head of Strategy bij AMIS Conclusion

Deel

Robbrecht van Amerongen, Head of Strategy bij AMIS Conclusion, over sustainability bij design

Waarom Sustainability by Design? 

Sustainability by Design heeft raakvlakken met GreenOps. Waar GreenOps zich primair richt op de meest duurzame keuzes op het gebied van infrastructuur, gaat het bij Sustainability by Design vooral om het ontwerp van de software: hoe bouw ik mijn applicatie zo dat deze zo energie-efficiënt mogelijk functioneert? Bij het subthema ‘ontwerpen voor de cloud’ komen de twee samen. Robbrecht: “Als je zelf een applicatie bouwt en die lokaal draait, dan heb je het meteen in de gaten als hij niet lekker draait en er bugs in zitten. De zandloper komt veelvuldig in beeld, de ventilator gaat aan. Maar bouw je een applicatie die in de cloud draait, dan wordt er aan de achterkant gewoon wat extra capaciteit bijgeschakeld en blijft het onzichtbaar dat er meer resources nodig zijn. Uiteindelijk krijgen de collega’s die verantwoordelijk zijn voor de infrastructuur een torenhoge energierekening gepresenteerd. Zij draaien met GreenOps aan de knoppen waar zij invloed op hebben, tot en met het advies om applicaties serverless te ontwerpen zodat ze in de cloud kunnen draaien. Sustainability by Design zit hier nog een stap voor.  

Wat valt er onder Sustainability by Design? 

Er zijn vier knoppen waar je aan kunt draaien om de duurzaamheid van je applicaties te verbeteren. 

1. Life cycle management 

De eerste vraag die je jezelf moet stellen is: heb ik deze functionaliteit echt nodig? Want functionaliteit die niet wordt gebouwd gaat ook geen stroom gebruiken. Robbrecht: “De vraag wat je echt nodig hebt, stel je als het goed is ook al in het kader van life cycle management (LCM). Kijk voortaan daarom bij LCM ook door een energiebril naar je software: welke functionaliteit kun je uitzetten? Waar moet je onderhoud plegen? Et cetera.” 

Wees vooral kritisch op energieslurpende diensten, waar vaak AI onder de motorkap draait. “Je moet je goed realiseren dat de businessmodellen van cloudleveranciers erop gericht zijn om het gebruik van hun diensten te verhogen”, zegt Robbrecht. “De default settings van hun software zijn meestal niet de meest energie-efficiënte settings. Mijn vaatwasser is zo ingesteld dat als ik geen bewuste keus voor een programma maak, hij automatisch de ecostand kiest. Bij veel cloudsoftware is het precies andersom.”   

Robbrecht denkt dat cloudproviders andere inrichtingskeuzes maken als publieke organisaties energie-efficiëntie meenemen in hun Europese aanbestedingen. “Dat kan als hefboom fungeren voor de hele markt. Nu staat in de inkoopvoorwaarden van overheidsorganisaties dat leveranciers groene stroom moeten gebruiken en hun uitstoot moeten compenseren. Maar er staat niets in over reductie van stroomgebruik. Wordt dat wel een selectiecriterium, dan gaan leveranciers hun aanbod aanpassen en daar profiteren dan ook andere klanten van mee.” 

De vraag wat je echt nodig hebt, stel je als het goed is ook al in het kader van life cycle management (LCM)

Robbrecht van Amerongen

2. Niet alles hoeft te worden geactualiseerd 

Als je besluit AI te gebruiken, dan zul je je modellen up-to-date moeten houden om te voorkomen dat de uitkomst langzaam maar zeker gaat afwijken (ook wel model drift genoemd). Daarom staat er in veel governance protocollen dat modellen iedere maand of ieder kwartaal opnieuw moeten worden getraind. “Maar dat is natuurlijk helemaal niet nodig als je weet dat er nauwelijks wijzigingen zijn in de gebruikte datasets”, zegt Robbrecht. Dat scheelt niet alleen veel tijd, maar ook stroom. Want het trainen van modellen is een bijzonder energie-intensief proces.  

Daarnaast kun je ook met een kritischer blik kijken naar de actualiteit van data die je gebruikt. Robbrecht: “Wij kwamen er bijvoorbeeld achter dat de software die banken gebruiken bij de uitvoering van de Wet voorkoming witwassen en terrorismefinanciering (Wwft) bij iedere controle standaard een KVK-uittreksel opvraagt, zonder te checken of er recent zo’n uittreksel is opgevraagd. Wij hebben de software zo aangepast dat hij eerst kijkt of de benodigde data nog in de cache staat.”

Emerging Technologies Trendrapport 2024

Emerging Technologies Trendrapport 2024

De Conclusion-bedrijven monitoren voortdurend opkomende IT-trends én ontdekken en verkennen nieuwe technologieën die van belang kunnen zijn voor onze klanten. In ons halfjaarlijkse trendrapport lichten we steeds meerder technologieën uit die wat ons betreft de aandacht verdienen. Verken je met ons mee?

3. Ontwikkeltaal 

Low-level talen zoals Java of C++ zijn veel lastiger te leren omdat ze kennis vereisen van de architectuur en het coderingsprincipe. Maar omdat ze dichter bij de machinetaal staan, werken ze veel efficiënter dan high-level talen zoals JavaScript, Python of de code die je genereert met low-code development platforms. “Ik maak graag de vergelijking met fast fashion”, zegt Robbrecht. “Hoe makkelijker een taal is, hoe minder efficiënt de uitvoering is omdat je niet specifiek kunt optimaliseren. Omdat het zo makkelijk is zul je voor een bepaalde taak eerder software ontwikkelen en deze ook weer sneller weggooien.  

Voor specifieke gevallen is dat natuurlijk oké, denk aan een kortlopende marketingactie waar op de achtergrond een applicatie draait. Maar bij processen die niet snel wijzigen, kun je de code voor de ondersteunende software beter zo efficiënt mogelijk schrijven.”  

Hoewel hij primair pleit voor meer opleidingen voor het leren van low-level talen en vooral coderingsprincipes, adviseert hij ook: “Gebruik generatieve AI voor het schrijven van code. Want over het algemeen schrijft AI efficiëntere software dan ontwikkelaars zelf doen.” Hij noemt als voorbeeld een complexe query. “Mensen zullen de code zo schrijven dat een complexe query wordt opgedeeld in allemaal kleine losse queries, waarna de resultaten worden samengevoegd. Dat betekent dat de database heel vaak moet worden bevraagd. AI schrijft de query zo dat de database maar één keer bevraagd hoeft te worden.” 

4. Cloud computing 

Tot slot wijst Robbrecht, net als Jeroen Timmermans en Marcel Stangenberger, op het belang van samenwerking tussen verschillende expertises. “Als je software ontwikkelt via de CI/CD-methode kijken beheerders, infrastructuurspecialisten en ontwikkelaars in elkaars keuken. Dan zullen ze eerder ketens ontwikkelen die als geheel efficiënt functioneren.” Vaak kies je dan voor de cloud, maar de cloud schakelt ook capaciteit bij zonder dat je er erg in hebt. “Hoe pluk je de vruchten van het één en minimaliseer je tegelijkertijd de impact van het ander? Dat zijn vraagstukken waar je echt gezamenlijk naar moet kijken”, zegt Robbrecht. Hetzelfde geldt voor testomgevingen die vaak veel minder data bevatten dan productieomgevingen, waardoor ontwikkelaars geen goed beeld krijgen van de energie-efficiëntie van hun applicatie. Robbrecht besluit dan ook: “Kom van je eiland af, werk samen en kijk met een brede blik naar dit onderwerp.” 

Heb je de functionaliteit die je gebruikt ook echt nodig? En zo ja, kun je die functionaliteit dan (energie-)efficiënter ontwikkelen?

Robbrecht van Amerongen

Head of Strategy bij AMIS Conclusion

Robbrecht van Amerongen, Head of Strategy bij AMIS Conclusion

Ontdek de laatste techtrends nu!

  • Naar Emerging Technolgies Trendrapport
  • Naar inschrijven voor de nieuwsbrief