GREEN CODING;
Tools and best practices for
Sustainable Software
An overview
GREEN CODING;
Quick info - Arne Tarara / Green Coding Berlin
2
Standard slide for starters
• Software-Dev 16+ years
• Founder & CEO Green Coding Berlin GmbH
• We do research and development in open source tools for software
resource consumption
• We help companies assess their digital infrastructure resource consumption
GREEN CODING;
3
Agenda
• What is sustainable software engineering?
• Which tools and concepts can I use?
• What are best practices?
• Why is sustainable software hard?
25.04.2023
GREEN CODING;
4
What is the definition of sustainability ...
in the domain of hard- and software
Credit: SDIA
GREEN CODING;
To make software more sustainable we need to make its
consumption visible.
5
Software uses energy and machines
GREEN CODING;
To make software more sustainable we need to make its
consumption visible.
... so what tools do already exist?
6
Software uses energy and machines
GREEN CODING;
open-source RAPL based command line tool
7
Easy starter: Scaphandre - Hubblo
• Neat feature: Can split by process
GREEN CODING;
codecarbon.io
Ready to use tools
• Python
• RAPL-based
• NVIDIA GPU
support
GREEN CODING;
Introducing Kepler
9
Distributed Environments / Clusters
http://sustainable-computing.io
GREEN CODING;
All-in-One solution for benchmarking, orchestration and transparency
10
Green Metrics Tool
GREEN CODING;
11
Green Metrics Tool
Use-Case mit Wordpress / Django Community
Why is there server and database activity here?
Container native; For detailed inspection of architecture
GREEN CODING;
12
Green Metrics Tool
Statistical comparisons and API included
GREEN CODING;
Energy inside of a CI / CD Pipeline
13
Eco CI Tools - Green Coding Berlin
Eco-CI Tools on Github - Integrated into Actions directly
GREEN CODING;
14
Weitere Tools ...
• powertop
• powermetrics
• Cloud Carbon Footprint
• turbostat
• powerJoularX
• PAPI
• greenframe.io
• ...
for questions regarding a speci
fi
c tool, please ask in the Q&A!
GREEN CODING;
Which should I use? And how do I interpret the data?
Are best practices for sustainable software?
15
Ok, so know I know some tools
GREEN CODING;
16
Best Practices
• Measure your system
• Go for reusability
• Go for exportability / interoperability
• Code must also run on older hardware
• To
fi
ght device obsolescence (within reason)
According to the Blue Angel for Software
GREEN CODING;
17
Best Practices
• Tips that are well known and not really "green software"
• Cache Static data
• Use energy e
ffi
cient AI models 🤡
• Minify JS / CSS
• Right-Size VMs
• ...
• Tips that are debatable
• Run AI models at the edge
• Use sustainable regions -> Depends on the network transfer. Hard to wage
• Stateless design -> On its own no gain
• Source: https://patterns.greensoftware.foundation/catalog/cloud/match-utilization-requirements-of-vm/
According to the Green Software Foundation - A suprising mix ....
GREEN CODING;
18
Best Practices?
• Is email more sustainable than paper?
• Paper consumes a
fi
xed amount. Email has pot. in
fi
nite storage and processing
• Is Serverless more sustainable than classic VMs?
• No solid data on this (Deno / Isolates / Firecracker)
• Cloud
fl
are / Amazon did decline when asking for sustainability insights
• Is using AWS Gravitron more sustainable than Intel
• What happens to electronic waste?! Life-Cycle ...?
• Is Python more sustainable than Rust?
• Python uses 80-times the Instructions where as Rust uses 1-3. Still people are not changing because of
"cost of development" etc. ....
Even simple questions are hard (impossible) to answer
GREEN CODING;
19
Problems
• Often they just employ common sense
- Like: "run less tests"
• Often generic advice
- "Use sustainable libraries"
• Often can be harmful also
- Switching machines brings electronic waste
• Hard to generalize at the moment
- Because we have no data
• Can contain pitfalls
Like: "Less runtime is always better" ... no: TurboBoost, HyperThreading etc. may inverse result
• We plead for a simpler solution ....
with current "sustainability" best practices
GREEN CODING;
20
Best Practices
• You just have to measure!
• You have to ask (service providers) for the metrics you don't know.
• And to treat energy and CO2 as a
fi
rst order metric .... constantly (git-ops)!
• We need a lot of data for general statements
• And we need to include the development and delivery phase of software
• Isolated benchmarks and claims are helpful for a isolated view, but not for
global sustainability
But how do we get there
GREEN CODING;
21
Best Practices
1. Quantify your system!
How much am I using for what service (Green Metrics Tool, Scaphandre, Kepler etc.)
2. Green Energy (-> Green Web Foundation)
But not on the moon please!
3. Idle machines (Async / Polling / Microservices)
Only makes sense if you can really turn machines o
ff
4. Architecture Overhead (Backups, Logs, Redundancy, Over-Provisioning of Services / Machines)
5. Language Overhead (C-Extensions, WebAssembly, Language-Swaps)
6. Code Changes
Even 99% Code runtime reduction is of limited help if the machine then idles
An approach for a framework atm.
GREEN CODING;
22
Best Practices
• No fancyness until proven helpful
• Use less resources -> Yes, common sense!
• Services, Machines etc.
• No o
ff
-loading / Backlashes
• We are more sustainable, we now use a data provider for that machine!
• We now use 5 GB less memory (and calculate everything on request :( )
• General Question: If everybody would do it this way. Would we have enough resources?
• Simple chat-bot => ChatGPT
• Portfolio Website: VPS with Wordpress and database
Some general guidance
GREEN CODING;
Follow green-coding.berlin
23
Thank you! Time for Q&A
• Website / Blog / Newsletter: https://www.green-coding.berlin
• Demo Open Data Repository: https://metrics.green-coding.berlin
• Unsere Projekte: https://www.green-coding.berlin/#projects
• Unsere Case-Studies: https://www.green-coding.berlin/case-studies
• Meetup Gruppe (Berlin): https://www.meetup.com/green-coding
• https://www.linkedin.com/in/arne-tarara / arne@green-coding.berlin
GREEN CODING;
24
Backup Slides
GREEN CODING;
https://preview.green-coding.berlin
-
https://github.com/green-coding-berlin/bakerydemo-gold-benchmark
25
Demo
GREEN CODING;
26
Green Metrics Tool - Schaubild
Container Aufbau für Client-Server Apps
GREEN CODING;
27
Green Metrics Tool - Hardware Setup
• AC / DC Energie
• IPMI
• GUDE (Blauer Engel)
• PowerSpy2 - Consumer Grade Oscilloscope
• Custom Mainboard Connector for Fujitsu ESPRIMO
• CPU % / CPU-Frequenz
• Temperatur
• CPU / DRAM Energie
• RAPL
• Netzwerk Datenverkehr / Energie
• Container-Metriken
• ... weitere Reporter als Open-Source Plugin-In möglich
Mess-Sensoren im Green Metrics Tool
GREEN CODING;
28
Green Metrics Tool - Cluster Setup
• Fujitsu ESPRIMO P956 - Blue Angel compatible (Ubuntu)
• Fujitsu TX1330 M2 - Single-Tenant Server (Ubuntu)
• Quanta Leopard - Multi-Tenant Server - SoftAWERE compatible (Ubuntu)
• Intel Mac 13" Q3-2015
• M1 Mac 13" Q1-2022
Aktuelle Rechner im Green Metrics Tool Cluster
GREEN CODING;
Software Kategorien und OS
29
Green Metrics Tool - Supported Software
• Server / Client Anwendungen
• Beispiele Nextcloud und Django CMS
• CLI Anwendungen
• Beispiele curl oder ML Anwendungen (sklearn, pytorch)
• Desktop Apps
• Beispiele: Google Chrome, Firefox etc.
• OS
• macOS
• Linux (Ubuntu & Fedora)
• Windows (nur Gesamtleistung an der Steckdose)

More Related Content

PPTX
Transforming Testing Into Green Practices
PDF
Challenges in Software Engineering for Green Software Development
PDF
Sustainable Software Architecture - Open Tour DACH '22
PDF
Apidays London 2024 - How to limit your cloud impact, from bare metal to AI, ...
PDF
Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads
PDF
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
PDF
Devoxx 2024 - Architecting a Sustainable Future
PDF
The road to green code
Transforming Testing Into Green Practices
Challenges in Software Engineering for Green Software Development
Sustainable Software Architecture - Open Tour DACH '22
Apidays London 2024 - How to limit your cloud impact, from bare metal to AI, ...
Cloud-Native & Sustainability: How and Why to Build Sustainable Workloads
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Devoxx 2024 - Architecting a Sustainable Future
The road to green code

Similar to Tools and best practices for sustainable software.pdf (20)

PDF
Agile Mumbai 27-28th Sep 2024 | Green Sprints by Dhiren Shah
PDF
What Makes Software Green?
PPTX
European Green IT Webinar 2014 - Kaliterre (France)
PPTX
Let's Talk a Bit About: Green Software
PPTX
#Interactive Session by Hina Sharma and Mamatha Venkatesh, "Secret Sauce for ...
PDF
TEQnation 2024: Sustainable Software: May the Green Code Be with You
PDF
GREEN AND SUSTAINABLE CLOUD COMPUTING: STRATEGIES FOR CARBON FOOTPRINT REDUCT...
PPTX
sustainable computing
PDF
JavaLand 2024: Application Development Green Masterplan
PDF
Architecting a Sustainable Future (iSAQB SAG Berlin 2024)
PDF
Agile Chennai 30-31Aug 2024 | Conscious Coding: Innovate Responsibly, Code Su...
PDF
Towards Software Sustainability Assessment
PPTX
Green Digital Skills Presentation.pptx
PPTX
Slideshare startup contest
PDF
How to (Help to) Save Our Planet with Green Coding
PDF
GreenCode-A-VSCode-Plugin--Dario-Jurisic
PDF
SMAU Milano 2023 | Sostenibilità dell'IT, dall'impatto ambientale del softwar...
PDF
Green Software at VU University Amsterdam
PPT
European Green IT Webinar 2014 - Green Code Lab (France)
PDF
stackconf 2025 | The Sustainable Infrastructure of the future by Alessandro V...
Agile Mumbai 27-28th Sep 2024 | Green Sprints by Dhiren Shah
What Makes Software Green?
European Green IT Webinar 2014 - Kaliterre (France)
Let's Talk a Bit About: Green Software
#Interactive Session by Hina Sharma and Mamatha Venkatesh, "Secret Sauce for ...
TEQnation 2024: Sustainable Software: May the Green Code Be with You
GREEN AND SUSTAINABLE CLOUD COMPUTING: STRATEGIES FOR CARBON FOOTPRINT REDUCT...
sustainable computing
JavaLand 2024: Application Development Green Masterplan
Architecting a Sustainable Future (iSAQB SAG Berlin 2024)
Agile Chennai 30-31Aug 2024 | Conscious Coding: Innovate Responsibly, Code Su...
Towards Software Sustainability Assessment
Green Digital Skills Presentation.pptx
Slideshare startup contest
How to (Help to) Save Our Planet with Green Coding
GreenCode-A-VSCode-Plugin--Dario-Jurisic
SMAU Milano 2023 | Sostenibilità dell'IT, dall'impatto ambientale del softwar...
Green Software at VU University Amsterdam
European Green IT Webinar 2014 - Green Code Lab (France)
stackconf 2025 | The Sustainable Infrastructure of the future by Alessandro V...
Ad

Recently uploaded (20)

PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Introduction to Windows Operating System
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Visual explanation of Dijkstra's Algorithm using Python
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
Microsoft Office 365 Crack Download Free
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
assetexplorer- product-overview - presentation
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
AI Guide for Business Growth - Arna Softech
PPTX
CNN LeNet5 Architecture: Neural Networks
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Introduction to Windows Operating System
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Trending Python Topics for Data Visualization in 2025
Visual explanation of Dijkstra's Algorithm using Python
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
MCP Security Tutorial - Beginner to Advanced
Microsoft Office 365 Crack Download Free
Tech Workshop Escape Room Tech Workshop
Why Generative AI is the Future of Content, Code & Creativity?
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
assetexplorer- product-overview - presentation
DNT Brochure 2025 – ISV Solutions @ D365
GSA Content Generator Crack (2025 Latest)
AI Guide for Business Growth - Arna Softech
CNN LeNet5 Architecture: Neural Networks
Monitoring Stack: Grafana, Loki & Promtail
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Ad

Tools and best practices for sustainable software.pdf

  • 1. GREEN CODING; Tools and best practices for Sustainable Software An overview
  • 2. GREEN CODING; Quick info - Arne Tarara / Green Coding Berlin 2 Standard slide for starters • Software-Dev 16+ years • Founder & CEO Green Coding Berlin GmbH • We do research and development in open source tools for software resource consumption • We help companies assess their digital infrastructure resource consumption
  • 3. GREEN CODING; 3 Agenda • What is sustainable software engineering? • Which tools and concepts can I use? • What are best practices? • Why is sustainable software hard? 25.04.2023
  • 4. GREEN CODING; 4 What is the definition of sustainability ... in the domain of hard- and software Credit: SDIA
  • 5. GREEN CODING; To make software more sustainable we need to make its consumption visible. 5 Software uses energy and machines
  • 6. GREEN CODING; To make software more sustainable we need to make its consumption visible. ... so what tools do already exist? 6 Software uses energy and machines
  • 7. GREEN CODING; open-source RAPL based command line tool 7 Easy starter: Scaphandre - Hubblo • Neat feature: Can split by process
  • 8. GREEN CODING; codecarbon.io Ready to use tools • Python • RAPL-based • NVIDIA GPU support
  • 9. GREEN CODING; Introducing Kepler 9 Distributed Environments / Clusters http://sustainable-computing.io
  • 10. GREEN CODING; All-in-One solution for benchmarking, orchestration and transparency 10 Green Metrics Tool
  • 11. GREEN CODING; 11 Green Metrics Tool Use-Case mit Wordpress / Django Community Why is there server and database activity here? Container native; For detailed inspection of architecture
  • 12. GREEN CODING; 12 Green Metrics Tool Statistical comparisons and API included
  • 13. GREEN CODING; Energy inside of a CI / CD Pipeline 13 Eco CI Tools - Green Coding Berlin Eco-CI Tools on Github - Integrated into Actions directly
  • 14. GREEN CODING; 14 Weitere Tools ... • powertop • powermetrics • Cloud Carbon Footprint • turbostat • powerJoularX • PAPI • greenframe.io • ... for questions regarding a speci fi c tool, please ask in the Q&A!
  • 15. GREEN CODING; Which should I use? And how do I interpret the data? Are best practices for sustainable software? 15 Ok, so know I know some tools
  • 16. GREEN CODING; 16 Best Practices • Measure your system • Go for reusability • Go for exportability / interoperability • Code must also run on older hardware • To fi ght device obsolescence (within reason) According to the Blue Angel for Software
  • 17. GREEN CODING; 17 Best Practices • Tips that are well known and not really "green software" • Cache Static data • Use energy e ffi cient AI models 🤡 • Minify JS / CSS • Right-Size VMs • ... • Tips that are debatable • Run AI models at the edge • Use sustainable regions -> Depends on the network transfer. Hard to wage • Stateless design -> On its own no gain • Source: https://patterns.greensoftware.foundation/catalog/cloud/match-utilization-requirements-of-vm/ According to the Green Software Foundation - A suprising mix ....
  • 18. GREEN CODING; 18 Best Practices? • Is email more sustainable than paper? • Paper consumes a fi xed amount. Email has pot. in fi nite storage and processing • Is Serverless more sustainable than classic VMs? • No solid data on this (Deno / Isolates / Firecracker) • Cloud fl are / Amazon did decline when asking for sustainability insights • Is using AWS Gravitron more sustainable than Intel • What happens to electronic waste?! Life-Cycle ...? • Is Python more sustainable than Rust? • Python uses 80-times the Instructions where as Rust uses 1-3. Still people are not changing because of "cost of development" etc. .... Even simple questions are hard (impossible) to answer
  • 19. GREEN CODING; 19 Problems • Often they just employ common sense - Like: "run less tests" • Often generic advice - "Use sustainable libraries" • Often can be harmful also - Switching machines brings electronic waste • Hard to generalize at the moment - Because we have no data • Can contain pitfalls Like: "Less runtime is always better" ... no: TurboBoost, HyperThreading etc. may inverse result • We plead for a simpler solution .... with current "sustainability" best practices
  • 20. GREEN CODING; 20 Best Practices • You just have to measure! • You have to ask (service providers) for the metrics you don't know. • And to treat energy and CO2 as a fi rst order metric .... constantly (git-ops)! • We need a lot of data for general statements • And we need to include the development and delivery phase of software • Isolated benchmarks and claims are helpful for a isolated view, but not for global sustainability But how do we get there
  • 21. GREEN CODING; 21 Best Practices 1. Quantify your system! How much am I using for what service (Green Metrics Tool, Scaphandre, Kepler etc.) 2. Green Energy (-> Green Web Foundation) But not on the moon please! 3. Idle machines (Async / Polling / Microservices) Only makes sense if you can really turn machines o ff 4. Architecture Overhead (Backups, Logs, Redundancy, Over-Provisioning of Services / Machines) 5. Language Overhead (C-Extensions, WebAssembly, Language-Swaps) 6. Code Changes Even 99% Code runtime reduction is of limited help if the machine then idles An approach for a framework atm.
  • 22. GREEN CODING; 22 Best Practices • No fancyness until proven helpful • Use less resources -> Yes, common sense! • Services, Machines etc. • No o ff -loading / Backlashes • We are more sustainable, we now use a data provider for that machine! • We now use 5 GB less memory (and calculate everything on request :( ) • General Question: If everybody would do it this way. Would we have enough resources? • Simple chat-bot => ChatGPT • Portfolio Website: VPS with Wordpress and database Some general guidance
  • 23. GREEN CODING; Follow green-coding.berlin 23 Thank you! Time for Q&A • Website / Blog / Newsletter: https://www.green-coding.berlin • Demo Open Data Repository: https://metrics.green-coding.berlin • Unsere Projekte: https://www.green-coding.berlin/#projects • Unsere Case-Studies: https://www.green-coding.berlin/case-studies • Meetup Gruppe (Berlin): https://www.meetup.com/green-coding • https://www.linkedin.com/in/arne-tarara / arne@green-coding.berlin
  • 26. GREEN CODING; 26 Green Metrics Tool - Schaubild Container Aufbau für Client-Server Apps
  • 27. GREEN CODING; 27 Green Metrics Tool - Hardware Setup • AC / DC Energie • IPMI • GUDE (Blauer Engel) • PowerSpy2 - Consumer Grade Oscilloscope • Custom Mainboard Connector for Fujitsu ESPRIMO • CPU % / CPU-Frequenz • Temperatur • CPU / DRAM Energie • RAPL • Netzwerk Datenverkehr / Energie • Container-Metriken • ... weitere Reporter als Open-Source Plugin-In möglich Mess-Sensoren im Green Metrics Tool
  • 28. GREEN CODING; 28 Green Metrics Tool - Cluster Setup • Fujitsu ESPRIMO P956 - Blue Angel compatible (Ubuntu) • Fujitsu TX1330 M2 - Single-Tenant Server (Ubuntu) • Quanta Leopard - Multi-Tenant Server - SoftAWERE compatible (Ubuntu) • Intel Mac 13" Q3-2015 • M1 Mac 13" Q1-2022 Aktuelle Rechner im Green Metrics Tool Cluster
  • 29. GREEN CODING; Software Kategorien und OS 29 Green Metrics Tool - Supported Software • Server / Client Anwendungen • Beispiele Nextcloud und Django CMS • CLI Anwendungen • Beispiele curl oder ML Anwendungen (sklearn, pytorch) • Desktop Apps • Beispiele: Google Chrome, Firefox etc. • OS • macOS • Linux (Ubuntu & Fedora) • Windows (nur Gesamtleistung an der Steckdose)