Energy-Efficient Software Architecture - for Developers
Software architecture practices are methods and techniques that allow software designers and developers to make designs that hopefully strike the right balance between competing quality attributes: modifiability, performance, availability, security, etc. However, in the midst of a threatening climate crisis and with an energy crisis on top of that, an important quality, namely energy efficiency, must be considered as well: for all the merits of a cool microservice architecture, will it also save precious energy compared to the classic monolith?
In this talk, I will discuss energy efficiency in our architectural design with an emphasis on the practical challenges facing architects and developers: what are the tactics and rules of thumbs to use, how do we measure power consumption and experiment with various designs, and how do we discuss and collaborate around it? As a university teacher, my primary focus is on teaching software architecture methods and techniques and my perspective is on how to best educate people in this area, by finding motivating examples and exercises, as well as trying to capture and convey the techniques that provides most value for the least effort.
Author of "Flexible, Reliable Software", Associate Professor at University of Aarhus