A currated list of Green IT tips to make your Carbon footprint smaller, feel free to open a Pull Request to add or if possible link to any resources to help understand each tip in more indepth
-
Move from always on to always available. Scale down when not needed and up if there is demand.
-
Kill your zombies: Identify and switch off those zombie servers that aren’t doing anything.
-
Do your compute right-sizing: Do a right-sizing exercise on all your servers because everything tends to be over-provisioned to start with.
-
Autoscaling: Make use of auto-scaling at peak and scale down to the bare minimum.
-
Time-shift cron jobs: Scheduling workloads to execute, when electricity carbon intensity is low or execute in green regions if time critical.
-
Utilise code optimisation techniques. Optimise code to reduce processing time and resource usage, lowering cloud infrastructure demands.
-
Integrate sustainability metrics into software development KPIs.
-
Optimise code for efficiency: Regularly review and refactor your code to reduce resource consumption, promoting a greener software development process.
-
Review cloud provider sustainability reports: Assess their commitment to renewable energy and energy efficiency.
-
Embrace serverless architecture: Leverage cloud-based serverless platforms to scale resources dynamically, minimising energy waste and maximising efficiency in your applications.
-
Extend your hardware life: Extend your hardware life to reduce your embodied carbon footprint.
-
Use optimised libraries: Make use of prevalent libraries in your codebase, they've likely been optimised beyond what a single person/team could do.
-
Extend your hardware life: Extend your hardware life to reduce your embodied carbon footprint.
-
Make your machines work: Increase machine utilisation to get the most out of a server. Energy efficiency isn't linear.
-
Scale to zero: Scale environments to zero if you don't need them.
-
Rearchitect your distributed monolith: Chatty services consume more energy and networking, optimise for less communication between services.
-
Remove unused assets: Monitor and analyze the application and the cloud bill to identify resources that are no longer used or can be reduced.
-
Stop data littering: Set an appropriate retention policy for your data.