Green Coding means the practice of software development with a strong focus on resource efficiency in terms of energy use. It is also known as green software engineering or green software development.
While classical optimizations in software take run-time and memory usage into account they do not penalize for increased energy usage. A software that is blazing fast and uses not much CPU / memory but idles for almost 99% is considered performant, but not green. The machine has to be powered all the time. Here a serverless and on-demand engineered approach would be the green option.
Although very similar it is not always identical. Full resource utilization is a precondition to have green software, but also asking more meta questions like ‘does the service have enough value for the energy usage’ are to be considered. Some less philosophical points are unneeded data duplication and acceptable downtimes, which may not impact user experience much, but are much more environment friendly and lead to a better product impression on user.
Green Software is the natural answer to a world that needs software but has limited resources. Therefore we see it as a mandatory and non-negiotiable building block when designing software.