SlideShare a Scribd company logo
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
Data Engineer's Lunch #68: DevOps Fundamentals
PPTX
YTD Video Downloader Pro Crack [Latest 2025]
PPTX
Distributed systems: design, principles and experiencies
PPTX
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
ODP
Distributed systems - A Primer
PDF
Big Data at a Gaming Company: Spil Games
PDF
Lambda Architectures in Practice
PDF
Do UX designers have a role in reducing digital waste?
Data Engineer's Lunch #68: DevOps Fundamentals
YTD Video Downloader Pro Crack [Latest 2025]
Distributed systems: design, principles and experiencies
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
Distributed systems - A Primer
Big Data at a Gaming Company: Spil Games
Lambda Architectures in Practice
Do UX designers have a role in reducing digital waste?

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

PPTX
BioIT Trends - 2014 Internet2 Technology Exchange
PPTX
Webinar: The OpEx Business Plan for NoSQL
PDF
Meta scale kognitio hadoop webinar
PPTX
Big Data Strategy for the Relational World
PDF
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
PDF
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
PDF
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
PDF
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
PPTX
Mapping Life Science Informatics to the Cloud
PPTX
Introduction to Agile Hardware
PPTX
SPSNYC2019 - What is Common Data Model and how to use it?
PDF
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
PPTX
Does Big Data Spell Big Costs- Impetus Webinar
PDF
Tech view on Regulatory Compliance
PPTX
Solving the Database Problem
PPTX
Machine Learning for Smarter Apps - Jacksonville Meetup
PPTX
Ship code like a keptn
PDF
#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo
PDF
The lean principles of data ops
PDF
Continuous Deployment To The Cloud
BioIT Trends - 2014 Internet2 Technology Exchange
Webinar: The OpEx Business Plan for NoSQL
Meta scale kognitio hadoop webinar
Big Data Strategy for the Relational World
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Mapping Life Science Informatics to the Cloud
Introduction to Agile Hardware
SPSNYC2019 - What is Common Data Model and how to use it?
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
Does Big Data Spell Big Costs- Impetus Webinar
Tech view on Regulatory Compliance
Solving the Database Problem
Machine Learning for Smarter Apps - Jacksonville Meetup
Ship code like a keptn
#OSSPARIS19 - How to improve database observability - CHARLES JUDITH, Criteo
The lean principles of data ops
Continuous Deployment To The Cloud
Ad

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
ai tools demonstartion for schools and inter college
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Transform Your Business with a Software ERP System
How to Choose the Right IT Partner for Your Business in Malaysia
Navsoft: AI-Powered Business Solutions & Custom Software Development
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Design an Analysis of Algorithms II-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Which alternative to Crystal Reports is best for small or large businesses.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Odoo Companies in India – Driving Business Transformation.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
ai tools demonstartion for schools and inter college
Operating system designcfffgfgggggggvggggggggg
How Creative Agencies Leverage Project Management Software.pdf
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Transform Your Business with a Software ERP System
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)