2. Electricity

Build applications that are energy efficient

Most electricity is still produced through the burning of fossil fuels and is responsible for 49% of the carbon emitted into the atmosphere.

All software, from the applications running on your smartphone to the training of machine learning models running in data centers, consumes electricity in its execution. One of the best ways we can reduce electricity consumption and the subsequent emissions of carbon pollution made by our software is to make our applications more energy efficient.

The creators of software often do not have to bear the burden of the electricity their software consumes, this is what economists call an externality, i.e. someone else’s problem. A sustainable application takes responsibility for electricity it consumes and is architected to consume as little as possible.

Energy is a measure of an amount of electricity used, the standard unit for Energy is Joules or J however another common way of referring to energy consumption is in kilowatt-hours or kWh. Through the rest of this document we will be using kWh.

All Principles permalink

  1. Carbon   Build applications that are carbon efficient
  2. Electricity   ▶ Build applications that are energy efficient ◀
  3. Carbon Intensity   Consume electricity with the lowest carbon intensity
  4. Embodied Carbon   Build applications that run on older hardware
  5. Energy Proportionality   Run servers at a high rate of utilization
  6. Networking   Reduce the amount of data and distance it must travel across the network
  7. Demand Shaping   Instead of shaping supply to match demand, try shaping demand to match supply.
  8. Measurement & Optimization   Focus on end-to-end optimizations that increase the overall carbon efficiency