Sustainable Software
Learn how to define, build and run sustainable software applications.
Latest posts
Build a ‘Green’ Browser Extension
Always wanted to build a browser extension but afraid to try? Fear no more, you can build a browser extension that calls an API to give your region's carbon usage.
Tuning Servers for Energy Savings
An overview of the key power and performance features, how to enable them, and touch on collecting traces and running benchmarks to see what’s impacted by these features. The goal of this article is to help you find the right sets of power configurations to be able to meet the demands of your workload while being energy efficient.
Deep Learning to the rescue! Mitigating anthropogenic impact upon killer whales in the Canadian Arctic and Salish Sea
History and Background Marine vessel traffic is having a negative anthropogenic impact on marine environments and marine mammals, such as killer whales and other cetaceans, which experience growing pressures by the increasing and constantly changing diverse anthropogenic ocean use and activities performed in coastal areas. The underwater sound sources caused by boats, naval mid-frequency sonars and air-guns for marine geophysical prospecting, responsible for the noise pollution generated in underwater environments where sound travels five times faster than in air [1], have been associated with marine spe...
How do I start a sustainability community in my organization?
This post will outline some tips and tricks on how to get a sustainability community started in your organization, no matter if it is a company, non-profit organization or an interest group on some technical subject. The focus is on awareness and skill building and how to put it into action.
Role of Performance Engineering in Designing Energy Efficient Applications
What is performance testing ? Performance engineering is a software engineering discipline that deals with the techniques, processes, and metrics to make our applications more performant. It is a technique by which we tune the code that we write by measuring against the nonfunctional requirements, such as performance under a certain amount of concurrent users or sessions. Usually performance testing involves simulating production-level workloads in a testing environment to understand how the application performs. Why do we need to do performance testing ? We live in the cloud era where we are enabled...
Sustainability in Site Reliability Engineering (SRE)
This presentation and transcript were recorded for the USENIX SRECon Americas 2020 conference in December 2020. SRECon is a yearly conference focusing on the discipline of Site Reliability Engineering and acts as a gathering point for engineers who care deeply about site reliability, systems engineering, and working with complex distributed systems at scale. Presentation Transcript Introduction (0:17) Usually, a talk about the environment or climate is filled with dramatic images of polar bears or raging wildfires. There is also a dramatic headline or two thrown in about glaciers melting and oceans rising...
How Can I Calculate CO2eq emissions for my Azure VM?
The second principle of Sustainable Software Engineering is to build energy efficient applications. The very first step in that direction is to measure the energy cost of your application. In this post we will look at two different Azure virtual machines, run software on them and calculate the CO2eq emissions of the software.
We need a Yuka for electricity to ease the energy transition
At the end of 2020, in the midst of the COVID crisis, Emmanuel Macron, French President, called for a Yuka-like application to be made available to everyone to measure all product's carbon footprint. Un « score carbone » pour évaluer l’impact environnemental des produits ? J’y suis favorable. Nous pouvons créer ensemble le @YukaApp du carbone ! — Emmanuel Macron (@EmmanuelMacron) December 14, 2020 Every step counts in the energy transition. The parallel made by the French President with the Yuka application is not very surprising as this application has not only revolutionized food purchases but al...
Adopting Azure serverless architectures to help reduce CO2 emissions – Part 2 (Extending to the Edge)
In the previous part of the serverless architecture post for the Contoso Claim processing application, we built two components. In this iteration, we will make the architecture more sustainable by using Edge computing. Edge computing is a paradigm that brings the compute, storage, and intelligence right down to the edge device where the data is created. We will move the compute required for text extraction down to the devices. This approach will help us: Explanation: Azure’s Computer Vision API includes Optical Character Recognition (OCR) capabilities that extract pri...