Software is not only eating but also heating our world. It's not just a concept; it's a reality. If we look at the environment around us, we realize that Software is deeply interwoven in our daily lives, impacting us in ways we may not even be aware of.
Cloud
Cloud computing, a technology that has opened many doors and business models, also brings potential environmental risks. As companies rapidly migrate their workloads to cloud providers, we must be aware of and address these risks to ensure a sustainable future.
Cryptocurrencies
Bitcoin mining, a domain for software-intensive workloads, is a prime example of Software's environmental impact. The popularity of Bitcoins, coupled with the fact that thousands of computers execute Software for mining, has led to a CO2 emission volume that surpasses that of entire countries like Austria. This indicates the urgent need to address Software's environmental impact.
Artificial Intelligence
Other domains for software-intensive computing are large language models and AI. Their most prominent product, ChatGPT, became extremely popular within the last year. It has reached millions of users within a day, and organizations like Microsoft invest millions in this rising star. LLMs not only simplify our lives, but they also consume gigantic amounts of energy and processing power during their training phase. We already see how LLMs are designed, ignoring environmentally friendly and sustainable Software principles.
Sustainable Business Applications
Software
When we include sustainability principles, we must solve performance issues at the root of the design and source code. We can no longer ignore performance engineering during software development because it helps us build applications that consider sustainability.
Tools
Green Web Design https://ecograder.com/
Green Code https://codecarbon.io/
Green Software Metrics https://dl.acm.org/doi/10.1145/3629527.3652883
Performance Maturity https://gobenchmark.io
Infrastructure
In the past, adding more powerful hardware was a shortcut to solve the slowness in business applications caused by software design and coding. By focusing more on carbon footprint and sustainable Software, we can no longer afford to use hardware to compensate for gaps in Software.
Tools
AWS Carbon Footprint https://aws.amazon.com/aws-cost-management/aws-customer-carbon-footprint-tool/
Free Carbon Footprint Calculator https://www.cloudcarbonfootprint.org/
Energy
Some energy sources, such as the Sun or Water, are environment-friendly. Designing our applications to do more when we have such natural, low-carbon energy creates environment-friendly applications. Another step would be to select hosting providers which use renewable energy to power their data centers.
Tools
Green Hosting https://www.thegreenwebfoundation.org/
Takeaway
Sustainable Software or Green IT is nothing new. In the early days of computing, when processing power was limited, we focused on cutting out the waste and developed optimized code. When the hardware leveled, we used more powerful machines to bridge gaps in software design. This trend has continued for the last two decades. Climate change is pushing us to an inconvenient truth. Software is heating the world; we must return to where it all started. Optimizing software design, writing intelligent code, and integrating continuous carbon footprint checks into our operational runbooks are crucial for green and sustainable IT.
Keep up the great work! Happy Performance Engineering!
Comments