-
Notifications
You must be signed in to change notification settings - Fork 0
Sustainable software development
Igor Molchanov edited this page Jan 10, 2023
·
2 revisions
Sustainable software development is an approach to implementation,design and deployment which emphasizes energy efficiency and environmental sustainability.
It is a broad topic to cover, however, we can establish several main principles for the software developers to follow:
- Application optimization: Writing efficient code not only benefit to the application performance and user experience but also reduce amount of resources your applications will require to run.
- Deployment optimization: Some application deployment techniques are more energy-efficient than others. For example, deploying applications in containers will generally lead to a lower total energy cost than deploying in VMs because containers don't require hypervisors.
- Application architecture: Where possible, developers should take advantage of application architectures that improve overall efficiency, and therefore reduce energy consumption. For example, if you can deploy some parts of your application as servless it considerably lessen the amount of energy and computational resources.
- Infrastructure architectures: There may be good availability-related reasons to do things like mirror your applications or data across multiple cloud regions instead of hosting them in just one location, but doing so increases overall energy consumption. Sustainable software development weighs the impact of choices like these.
- Data center choices: The data centers that you choose to host applications bear implications for how "green" your applications will be. Different cloud and colocation providers have different levels of commitment to carbon neutrality and green energy sourcing.
More information is available in this short module