Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Principles of Green Software Engineering

Principles of Green Software Engineering

Green Software Engineering is an emerging discipline at the intersection of climate science, software practices and architecture, electricity markets, hardware design, and data centers.

The Principles of Green Software Engineering are a core set of skills to define, build, and run green sustainable software applications.

This short talk introduces the eight principles that shape it to bring a shared understanding of what it means to be green.

Francesco Fullone

October 15, 2022
Tweet

More Decks by Francesco Fullone

Other Decks in Technology

Transcript

  1. Triple Bottom Line coping with sustainability complexity Sustainability is the

    capacity to endure. Meet[ing] the needs of the present generation without compromising the ability of future generations to meet their needs” (UN, WCED, 1987: 43)
  2. Triple Bottom Line coping with sustainability software complexity Technical Debt

    + CyberSecurity + Infrastructure Resilience Impact on the environment + E-waste + Energy Consumption Accessibility, Usability and Inclusion + Business Impact on stakeholders Francesco Fullone https://linkedin.com/in/fullo
  3. 72.35 Mt of CO2 comparable to carbon footprint of Austria

    Bitcoin carbon footprint https://digiconomist.net/bitcoin-energy-consumption
  4. 0.9% - 1.7% as much as all residential lightning in

    the US Bitcoin total electric usage in US
  5. • Energy proportionality measures the relationship between power consumed by

    a computer and the rate at which useful work is done • Clean energy is better than that generated by fossil fuels or high-carbon sources • Green Software takes responsibility for its electricity consumption Energy Efficiency don’t waste a single drop of energy and chose the cleanest
  6. Hardware Efficiency see it as embodied carbon • Extend hardware

    lifespan, to amortize carbon in more years • Increase the utilization of devices • Choose public cloud instead of on-premise cloud as it can apply demand shifting as well as demand shaping in a more energy efficient way • Write software optimized for efficient hardware usage
  7. Carbon Awareness understand CO2 impacts and emissions • The energy

    consumed could have different impact in terms of carbon intensity • Geographical location of hardware has an impact on the carbon intensity • Each choice you do (or don’t) is reflected in carbon emissions • Measure and improve
  8. Green Software Principles The six key areas to be aware

    of • Energy Efficiency: use the least amount of energy possibile • Hardware Efficiency: use the least amount of embodied carbon possible • Carbon Awareness: choose to consume cleaner energy • Carbon Efficiency: emit the lest amount of carbon possible • Measurement: what it can’t be measured, it can’t be improved • Climate Commitments: understand the exact mechanism of carbon reduction https://greensoftware.foundation