SlideShare a Scribd company logo
1 of 29
Download to read offline
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

What's hot

SplunkLive! Munich 2018: Siemens Security Use Case
SplunkLive! Munich 2018: Siemens Security Use CaseSplunkLive! Munich 2018: Siemens Security Use Case
SplunkLive! Munich 2018: Siemens Security Use CaseSplunk
 
The Industrialist: Trends & Innovations - June 2022
The Industrialist: Trends & Innovations - June 2022The Industrialist: Trends & Innovations - June 2022
The Industrialist: Trends & Innovations - June 2022accenture
 
Accenture Tech Vision 2020 - Overview
Accenture Tech Vision 2020 - OverviewAccenture Tech Vision 2020 - Overview
Accenture Tech Vision 2020 - Overviewaccenture
 
Nasscom AI top 50 use cases
Nasscom AI top 50 use casesNasscom AI top 50 use cases
Nasscom AI top 50 use casesADDI AI 2050
 
Making a cloud first strategy a practical reality
Making a cloud first strategy a practical realityMaking a cloud first strategy a practical reality
Making a cloud first strategy a practical realityAmazon Web Services
 
The Changing Joule Dynamic | Accenture
The Changing Joule Dynamic | AccentureThe Changing Joule Dynamic | Accenture
The Changing Joule Dynamic | Accentureaccenture
 
Cognitive AI Tutorial | Edureka
Cognitive AI Tutorial | EdurekaCognitive AI Tutorial | Edureka
Cognitive AI Tutorial | EdurekaEdureka!
 
Dyer at kearny presentation
Dyer at kearny presentationDyer at kearny presentation
Dyer at kearny presentationCALSTART
 
SplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunk
 
The Industrialist: Trends & Innovations - July 2023
The Industrialist: Trends & Innovations - July 2023The Industrialist: Trends & Innovations - July 2023
The Industrialist: Trends & Innovations - July 2023accenture
 
Platform-powered IT
Platform-powered ITPlatform-powered IT
Platform-powered ITaccenture
 
2022 Insight Intelligent Technology™ Report
2022 Insight Intelligent Technology™ Report 2022 Insight Intelligent Technology™ Report
2022 Insight Intelligent Technology™ Report Insight
 
Federal Vision 2030
Federal Vision 2030Federal Vision 2030
Federal Vision 2030accenture
 
IT Touchless Operations
IT Touchless OperationsIT Touchless Operations
IT Touchless Operationsaccenture
 
The Future is in Responsible Generative AI
The Future is in Responsible Generative AIThe Future is in Responsible Generative AI
The Future is in Responsible Generative AISaeed Al Dhaheri
 
Accenture Labs Innovation Stories 2020
Accenture Labs Innovation Stories 2020Accenture Labs Innovation Stories 2020
Accenture Labs Innovation Stories 2020Accenture Technology
 
How to justify the economic value of your data investment
How to justify the economic value of your data investmentHow to justify the economic value of your data investment
How to justify the economic value of your data investmentSplunk
 
The Industrialist: Trends & Innovations - January 2024
The Industrialist: Trends & Innovations - January 2024The Industrialist: Trends & Innovations - January 2024
The Industrialist: Trends & Innovations - January 2024accenture
 
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...Amazon Web Services
 
Cloud Center of Excellence
Cloud Center of ExcellenceCloud Center of Excellence
Cloud Center of ExcellenceJeremy Canale
 

What's hot (20)

SplunkLive! Munich 2018: Siemens Security Use Case
SplunkLive! Munich 2018: Siemens Security Use CaseSplunkLive! Munich 2018: Siemens Security Use Case
SplunkLive! Munich 2018: Siemens Security Use Case
 
The Industrialist: Trends & Innovations - June 2022
The Industrialist: Trends & Innovations - June 2022The Industrialist: Trends & Innovations - June 2022
The Industrialist: Trends & Innovations - June 2022
 
Accenture Tech Vision 2020 - Overview
Accenture Tech Vision 2020 - OverviewAccenture Tech Vision 2020 - Overview
Accenture Tech Vision 2020 - Overview
 
Nasscom AI top 50 use cases
Nasscom AI top 50 use casesNasscom AI top 50 use cases
Nasscom AI top 50 use cases
 
Making a cloud first strategy a practical reality
Making a cloud first strategy a practical realityMaking a cloud first strategy a practical reality
Making a cloud first strategy a practical reality
 
The Changing Joule Dynamic | Accenture
The Changing Joule Dynamic | AccentureThe Changing Joule Dynamic | Accenture
The Changing Joule Dynamic | Accenture
 
Cognitive AI Tutorial | Edureka
Cognitive AI Tutorial | EdurekaCognitive AI Tutorial | Edureka
Cognitive AI Tutorial | Edureka
 
Dyer at kearny presentation
Dyer at kearny presentationDyer at kearny presentation
Dyer at kearny presentation
 
SplunkLive! München - Flughafen München
SplunkLive! München - Flughafen MünchenSplunkLive! München - Flughafen München
SplunkLive! München - Flughafen München
 
The Industrialist: Trends & Innovations - July 2023
The Industrialist: Trends & Innovations - July 2023The Industrialist: Trends & Innovations - July 2023
The Industrialist: Trends & Innovations - July 2023
 
Platform-powered IT
Platform-powered ITPlatform-powered IT
Platform-powered IT
 
2022 Insight Intelligent Technology™ Report
2022 Insight Intelligent Technology™ Report 2022 Insight Intelligent Technology™ Report
2022 Insight Intelligent Technology™ Report
 
Federal Vision 2030
Federal Vision 2030Federal Vision 2030
Federal Vision 2030
 
IT Touchless Operations
IT Touchless OperationsIT Touchless Operations
IT Touchless Operations
 
The Future is in Responsible Generative AI
The Future is in Responsible Generative AIThe Future is in Responsible Generative AI
The Future is in Responsible Generative AI
 
Accenture Labs Innovation Stories 2020
Accenture Labs Innovation Stories 2020Accenture Labs Innovation Stories 2020
Accenture Labs Innovation Stories 2020
 
How to justify the economic value of your data investment
How to justify the economic value of your data investmentHow to justify the economic value of your data investment
How to justify the economic value of your data investment
 
The Industrialist: Trends & Innovations - January 2024
The Industrialist: Trends & Innovations - January 2024The Industrialist: Trends & Innovations - January 2024
The Industrialist: Trends & Innovations - January 2024
 
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...
FinOps: A Culture Transformation to Bring DevOps, Finance and the Business To...
 
Cloud Center of Excellence
Cloud Center of ExcellenceCloud Center of Excellence
Cloud Center of Excellence
 

Similar to Tools and best practices for sustainable software

Data Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsData Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsAnant Corporation
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB
 
Distributed systems - A Primer
Distributed systems - A PrimerDistributed systems - A Primer
Distributed systems - A PrimerMD Sayem Ahmed
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesRob Winters
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in PracticeC4Media
 
Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?User Vision
 
BioIT Trends - 2014 Internet2 Technology Exchange
BioIT Trends - 2014 Internet2 Technology ExchangeBioIT Trends - 2014 Internet2 Technology Exchange
BioIT Trends - 2014 Internet2 Technology ExchangeChris Dagdigian
 
Webinar: The OpEx Business Plan for NoSQL
 Webinar: The OpEx Business Plan for NoSQL Webinar: The OpEx Business Plan for NoSQL
Webinar: The OpEx Business Plan for NoSQLMongoDB
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMichael Hiskey
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Andrew Brust
 
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...panagenda
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Subbu Rama
 
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼Elasticsearch
 
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad WebDominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Webpanagenda
 
Mapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudMapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudChris Dagdigian
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware Cprime
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?Nicolas Georgeault
 
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...apidays
 
Does Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarDoes Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarImpetus Technologies
 

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

Data Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsData Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps Fundamentals
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
 
Distributed systems - A Primer
Distributed systems - A PrimerDistributed systems - A Primer
Distributed systems - A Primer
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil Games
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in Practice
 
Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?
 
BioIT Trends - 2014 Internet2 Technology Exchange
BioIT Trends - 2014 Internet2 Technology ExchangeBioIT Trends - 2014 Internet2 Technology Exchange
BioIT Trends - 2014 Internet2 Technology Exchange
 
Webinar: The OpEx Business Plan for NoSQL
 Webinar: The OpEx Business Plan for NoSQL Webinar: The OpEx Business Plan for NoSQL
Webinar: The OpEx Business Plan for NoSQL
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinar
 
Big Data Strategy for the Relational World
Big Data Strategy for the Relational World Big Data Strategy for the Relational World
Big Data Strategy for the Relational World
 
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
 
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
Customer Story: Elastic Stack을 이용한 게임 서비스 통합 로깅 플랫폼
 
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad WebDominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
 
Mapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the CloudMapping Life Science Informatics to the Cloud
Mapping Life Science Informatics to the Cloud
 
Introduction to Agile Hardware
Introduction to Agile Hardware Introduction to Agile Hardware
Introduction to Agile Hardware
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?
 
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
apidays London 2023 - API Green Score, Yannick Tremblais & Julien Brun, Green...
 
Does Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus WebinarDoes Big Data Spell Big Costs- Impetus Webinar
Does Big Data Spell Big Costs- Impetus Webinar
 
Tech view on Regulatory Compliance
Tech view on Regulatory ComplianceTech view on Regulatory Compliance
Tech view on Regulatory Compliance
 

More from Green Software Development

More from Green Software Development (7)

Sustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire ThornewillSustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire Thornewill
 
Blue turns green! Approaches and technologies for sustainable K8s clusters #C...
Blue turns green! Approaches and technologies for sustainable K8s clusters #C...Blue turns green! Approaches and technologies for sustainable K8s clusters #C...
Blue turns green! Approaches and technologies for sustainable K8s clusters #C...
 
Green Cloud - Measure cloud emissions
Green Cloud - Measure cloud emissionsGreen Cloud - Measure cloud emissions
Green Cloud - Measure cloud emissions
 
CO2 Footprint of ChatGPT
CO2 Footprint of ChatGPTCO2 Footprint of ChatGPT
CO2 Footprint of ChatGPT
 
The challenge of putting software sustainability research into practice
The challenge of putting software sustainability research into practiceThe challenge of putting software sustainability research into practice
The challenge of putting software sustainability research into practice
 
Carbon Hack 2022
Carbon Hack 2022Carbon Hack 2022
Carbon Hack 2022
 
The Path to Green Enterprise Applications
The Path to Green Enterprise ApplicationsThe Path to Green Enterprise Applications
The Path to Green Enterprise Applications
 

Recently uploaded

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 

Recently uploaded (20)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 

Tools and best practices for sustainable software

  • 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)