Can software be green?

Milan Deket Categories: Business Insights Date 16-May-2024 7 minutes to read
Vega IT Can Software Be Green

Table of contents

    “We can see why activists might be angry. Few industries have moved fast enough to support the energy transition, including the tech sector.” So say the authors of “Building green software,” and we couldn’t agree more.

    The problem with climate change is multifaceted, but if we had to pinpoint the core issue – it would be people and their refusal to act now. Even when presented with scientific evidence and potential options for minimizing greenhouse gas emissions, key decision-makers are still reluctant to meet the sustainability and green needs of the planet.

    But is it possible to build, host, and operate code in a way that’s better for the environment? A thousand times, yes. By adopting green software practices and promoting awareness, you can minimize your carbon footprint and do your due diligence.

    Understanding green software

    Green software refers to applications and systems designed with a prime focus on minimizing environmental impact. This approach integrates energy-efficient practices throughout the development process, from choosing sustainable architectures and hardware to optimizing electricity usage and considering the broader implications of climate change.

    Can Software Be Green BLOG DETAILS 01

    As the global IT sector continues to grow, we’re seeing tremendous technological development, and that is amazing. People’s lives are changing for the better, and the potential for innovation seems infinite. This is why the responsibility to adopt green practices in tech is high. 

    Green software is a must, not a nice-to-have 

    Believe it or not, the software industry has surpassed the 2% carbon footprint of the aviation sector in 2022, and it is projected to reach a 14% increase in the next fifteen years. This speaks volumes about the need for greener software development.

    The entire IT sector, including data centers and network systems, relies heavily on non-renewable sources. Now is the time to act.

    Hyperscale cloud companies have pledged to net-zero emissions and carbon-free energy in the upcoming decade, and that’s encouraging to see. These organizations are leading by example, as they should.

    • AWS: Aims for 100% renewable energy by 2025 and net-zero emissions by 2040.
    • Azure: The goal is to use 100% renewable energy by 2025 and strive to be carbon-negative by 2030.
    • GCP: Commits to using 100% carbon-free energy by 2030.

    In software development, the amount of processing power (CPU), grid carbon intensity, network emissions, and resource consumption (e.g., hardware, storage, memory) all contribute to the carbon footprint. 

    Before we explore solutions, let’s make sure to understand the extensiveness and seriousness of the problem.

    Taking a closer look at the tech’s environmental impact

    The tricky thing about climate change is that most people don’t feel the urgency to take action. While it’s undeniable that human impact on the environment is disrupting the ecosystem, the majority still turn a blind eye. The common opinion is that we have plenty of time to fix the planet, and that’s far from the truth.

    Can Software Be Green BLOG DETAILS 02

    Let’s look at the environmental impact of AI, Web3 and cryptocurrencies, and web development. Then we’ll explore how we can do better in each respective field.

    AI is not as green as it could be

    The environmental impact of artificial intelligence, especially in training large models, is substantial. This includes both operational costs and training AI models. 

    The energy required to train an advanced AI model like GPT-3 is estimated at around 1,300 MWh. To put this in perspective, it's equivalent to the annual energy usage of about 300 average households in the US, or around 1,625,000 hours of Netflix streaming.

    Let’s not forget that maintaining AI services such as ChatGPT also demands significant energy – around 260 MWh per day. This operational energy cost keeps increasing, following the increase in demand.

    Bitcoin consumes more energy than Switzerland

    Cryptocurrency mining is an energy-intensive process. Recent estimates suggest that Bitcoin consumes more energy than the entire country of Switzerland. That’s roughly 0.25% of the world’s entire electricity consumption.

    Can Software Be Green BLOG DETAILS 03

    Let’s look at the US alone. Cryptocurrency mining operations consume between 0.6% and 2.3% of the country's total electricity. These figures have drawn significant attention from policymakers due to their impact on electricity costs, grid reliability, and carbon emissions.

    Web development

    Although web development itself is less energy-intensive per unit than AI or blockchain, the cumulative impact is substantial due to the vast scale of global web usage. Data centers, which host websites and cloud services, are responsible for about 1% of the world's energy use. Every time you visit a web page, a series of interactions gets triggered from the server to the screen. This requires electricity and, as a result, it emits carbon. Optimizing the efficiency of websites and their coding can significantly reduce this footprint.

    How to adopt green software practices

    Now let’s talk about solutions. For every problem listed above, there’s a list of countermeasures tech companies can take to reduce their carbon footprint. Let’s take a look at each of the three domains. 

    Making AI more sustainable

    There is a lot that can be done with AI training to make it greener. The most obvious choice is shifting AI operations to cloud-based data centers powered by renewable energy sources (e.g., solar or wind). However, to make the change truly impactful, it has to come from both vendors and end users.

    Here are some ways to make AI more sustainable:

    • Don’t create and train your own generative models. Build upon what’s already there.
    • Refine training of existing models. Starting from scratch consumes a lot of energy – the tradeoff is not good.
    • Use less energy-consuming computational methods. More optimized AI-specific TPU and FPGA chips can perform computations with a lot less energy.

    Lastly, you can always invest in carbon offsetting programs. These programs are a trading mechanism that enables organizations to compensate for their greenhouse gas emissions. Support projects that reduce, avoid, or remove emissions elsewhere.

    Building a case for environment-friendly Web3 and cryptocurrencies

    Before we dive deeper into potential green solutions for Web3 and crypto, let’s take a moment to explain the difference between the Proof of Work (PoW) and Proof of Stake (PoS) model when it comes to mining.

    Proof of Work (PoW) vs. Proof of Stake (PoS) model

    Proof of Work

    Proof of Stake

    • Relies on solving complex puzzles with high computational power.
    • Requires significant energy consumption (often criticized for its environmental impact).
    • Mining operations often rely on fossil fuels, contributing to carbon emissions.
    • Validators are chosen based on the amount of cryptocurrency they hold and are willing to stake.
    • Requires significantly less energy compared to PoW.
    • It’s considered more environmentally friendly as it doesn't involve intensive computational tasks.

    So if the above is true, you may ask – why is Bitcoin still reliant on PoW? Some argue that the decentralization of PoW brings unparalleled security. Plus, transitioning such a widely adopted and secure network like Bitcoin to a new consensus mechanism would be a complex and contentious process.

    Can Software Be Green BLOG DETAILS 04

    But can’t you have your cake and eat it? It is possible – especially with new hybrid models and advancements in PoS. For example, Ethereum relies on PoS, which significantly reduces energy consumption. This precedent could potentially influence Bitcoin’s future protocols and force them to embrace more energy-efficient practices. 

    Strategies for greener web development

    Several strategic practices can be implemented to significantly reduce energy consumption and improve the overall sustainability of web development. 

    Web development area

    Problem

    Green solution

    Data management

    Inefficient caching and data handling

    Implement an efficient cache policy to minimize data exchanges. Compress and aggregate data and opt for smaller media and image sizes whenever feasible to reduce data usage.

    Code optimization

    Non-functional loops and computational issues

    Detect and eliminate non-functional loops, such as those continuously polling an unreachable server, thereby needlessly consuming energy. Limit the computational precision of applications to levels that are commensurate with their operational needs. For instance, lower-resolution geolocation data may suffice for services that connect nearby users.

    System architecture

    A high number of microservices are used, and there are inefficiencies in database queries 

    Reduce the number of microservices used, as each additional service increases the system's complexity and energy consumption. Address inefficiencies in database queries, such as those commonly found in Hibernate, which can fire multiple non-optimized queries that increase load and latency.

    Media efficiency

    Sub-par optimization of media usage

    Given that images and videos significantly contribute to data and energy use, optimizing their online delivery and storage is crucial. Techniques include using advanced compression algorithms and responsive images that adapt to user screen sizes.

    By adopting these practices, you will not only positively contribute to environmental sustainability but also save on operational costs. And we’ve only scratched the surface of all the potential ways you can reduce your carbon footprint.

    How to measure green software

    If you’re wondering how to measure the “greenness” of the software, there is a formula for that. To be clear, when we say “greenness,” we mean measuring environmental impact throughout the entire lifecycle – from development and deployment to how it’s used.

    There is something called software carbon intensity (SCI), a specification developed by the Green Software Foundation. The standard provides an actionable approach to software designers, developers, and engineers to measure the carbon impacts of their systems.

    Let’s look at the formula for measuring how sustainable software is:

    Can Software Be Green BLOG DETAILS 05

    As you can see, the formula offers a simple solution to measuring something that’s rather complex. If you’re curious about the Green Software Foundation, their work is completely transparent and public. Check out their GitHub repo.

    List of useful green software resources

    There is a plethora of green software resources available. Please use this list of resources for further education:

    These resources offer frameworks which not only help in measuring and reducing emissions, but also in setting a path towards net-zero goals. We need to refine our approach to software development, deployment, and operation–because Earth is the one and only planet we got.

    Build green software with Vega IT

    As we conclude this exploration of green software, it's important to remember that every small action counts when combatting climate change.

    The IT sector, a substantial energy consumer, has started making steps towards sustainability with innovations like iPhone's green-aware charging, Xbox's carbon-aware game downloads, and Windows 11's carbon-aware updates. Though seemingly minor, these initiatives set a significant precedent for integrating environmental considerations into everyday technology use.

    Can Software Be Green BLOG DETAILS 06

    What’s stopping us from adopting these green practices? Let’s do it together. There’s so much we can do – from optimizing code and leveraging more efficient data centers, to continuously educating ourselves and others about sustainable technologies.

    By doing so, we contribute to a larger, collective effort to mitigate the environmental impacts of our digital world, ensuring that we preserve our planet for future generations while still advancing our technological capabilities.

    If you’re looking for an experienced, reliable, and environmentally conscious tech partner, you came to the right place. At Vega IT, we optimize our coding practices to restore the planet’s health and help you optimize costs. Get in touch with us today. 

    Milan Deket Our Team
    Milan Deket Partner & Director, Delivery
    Engineer and Tech lead with nearly a decade of experience. Startup enthusiast. Passionate about building systems that help clients' businesses grow and succeed.

    Real People. Real Pros.

    Send us your contact details and a brief outline of what you might need, and we’ll be in touch within 12 hours.