Microsoft, Accenture, Thoughtworks and NTT Data are among the founding members of a new industry initiative to advance the development of sustainability in software.
Through the Green Software Foundation, companies published an initial specification called Software Carbon Intensity (SCI) to measure the carbon footprint of software. SCI’s overall objective is to provide a method for rating a software system based on its carbon emissions.
Among the principles of software development is the mantra of “never reinventing the wheel,” which encourages software developers to use standard software libraries rather than developing the code themselves. While these libraries save valuable time, at times they can be overkill or offer a lot more functionality than the developer actually needs. They may not be as effective as something developed from scratch to solve a very specific problem, they may be more power hungry and have a larger carbon footprint than lightweight alternative software libraries that offer less functionality.
âDevelopers have gotten lazy,â said Chris Lloyd-Jones, head of open technologies at Avanade, the services company resulting from the joint venture between Microsoft and Accenture.
At a high level, Lloyd-Jones said, the specification is fundamentally based on a set of basic principles, such as measuring whether a CPU’s workload usage roughly matches the amount of electricity used by a piece of code. Another simple measure is the cost of cloud-based infrastructure as a service (IaaS). An app will cost more to run if it requires more cloud-based resources, such as higher CPU usage and the use of graphics processing units (GPUs).
In fact, Avanade data shows that there is a direct correlation between the cost of running the same workload on different Microsoft Azure instances and its carbon footprint. For example, running a workload for 24 hours on Microsoft’s Azure NC6v2 GPU instance would cost $ 91, with the workload using 3.3 kWh of electricity in 24 hours. For comparison, Avanade said that running the same workload for 24 hours on Azure Function would only use 0.8 kWh of electricity, and its running cost would be $ 0.51 for 24 hours of use.
Discussing how SCI works, Lloyd-Jones said, âThe point is that you don’t measure the total. [carbon footprint] software. Instead, you have a score for reducing your carbon footprint. This, he said, allows software developers to find ways to make their code more energy efficient by taking steps to reduce the carbon footprint of the software they develop.
Another aspect of the specification is to help organizations make decisions about whether to use hardware and more efficient metrics, such as running workloads at times of demand on the national network. is less or when a greater proportion of electricity is produced in a sustainable manner. While work is still needed to enable data center operators to provide real-time measurement of sustainable power generation, Lloyd-Jones believes such tracking is only a few years away and providers of cloud offer hooks to help developers track power consumption.
âMicrosoft has a durability calculator, which can query the current state of Azure to understand when is the right time to deploy code,â he said. Factoring in peaks in electricity use and when more is available from green energy sources can also help improve the carbon footprint of software, he added.
For Lloyd-Jones, traditional IT administration practices are among the biggest challenges to overcome in developing software that takes into account the carbon footprint of deployed code. For example, even in the age of cloud computing, many IT departments typically buy more cloud resources than they actually need. In the cloud, he said, “the cost equals the carbon footprint, pretty close – the right sizing optimizes both the cost and the carbon footprint.”