Research on green software—which is software designed, developed and implemented to limit energy consumption and have minimal environmental impact—has been around for a number of years, but started to have real traction only recently, due to the big, and increasing impact software systems have on the environment and on global warming. In fact IT energy demand accounts for approximately 2% of global CO2 emissions, approximately the same level as aviation, and represents over 10% of all the global energy consumption (source Wikipedia).
This talk is about how to approach the design and implementation of greener software systems from a technical perspective—showing the latest thinking in terms of practices, patterns, and principles, as well as some counterintuitive aspects—and how to include some "green thinking" into our everyday coding activities.
In particular, I’ll revisit some modern software engineering practices and highlight their impact—both positive, and negative—when we add green software considerations to our requirements.