/>
X
Innovation

Why application sustainability is more than a programming language choice

Be wary of any organization that points to language choice as the sole indicator of its sustainability commitment.
forrester-rgblogo.png
Written by Forrester Research, Contributor on

This week, Forrester introduced the concept of application sustainability and noted that while less abstract languages may have lower energy costs, there are other considerations in sustainable development and deployment. Whether your team is starting up a sustainable development initiative or you want to critically analyze vendors claiming application sustainability, everyone must think beyond language. As organizations consider their applications' environmental impact, here are the factors to consider: 

Programming language

As we've discussed, lower-level languages are more efficient on their own, but as you're calculating programming language efficiency, make sure to include energy consumption from the compiler, linker, and byte code generator. 

Problem-solving and algorithms

It's hard to find an optimized solution to a problem and code through an inefficient algorithm: I can add 1 + 1 to get 2, or I can first add 4, then subtract 7, then add 3 … and also get 2. It takes computer science experience to think of optimized solutions and write efficient algorithms with effective coding. Keep in mind that fewer developers today have expertise in lower-level languages, so insisting on lower-level languages will limit your experienced developer pool. As a result, you may end up with some less experienced developers that explode energy usage in other ways. 

Testing efficiency

Testing is core to the application development process. If tests are inefficient or poorly designed, those will also increase energy use, especially as we build more automated tests, since agile and DevOps have encouraged ruthless automation. Moving away from ruthless automation to smart automation by leveraging AI and ML to determine when to automate a test or to execute an automated test could be a high-energy saver. 

Application design

A level up from coding, poor design may also result in higher energy consumption. A wrong design could imply more code being executed: A UI that calls on shared services continuously, which is available through the network and on a remote machine, would consume much less energy if it were colocated. Make sure your developers have good system design skills, but also think about the design capabilities of product architects who also need to consider sustainability.

Application deployment

Anything deployed in production consumes space and might require load balancing routines or virtualization to swap binaries in and out. But the process of deploying apps could also have high energy consumption pipelines. DevOps engineers have a key role in providing optimized and effective pipelines for code delivery. 

Application protection

Once deployed, organizations must monitor application performance and protect applications from attacks through a combination of infrastructure and security tooling (think web application firewalls, bot management, runtime security tools, and observability tools). All of these are associated with the application and consume energy, so add that to the total. For tools that protect multiple applications, divide energy consumption across the protected apps. 

Data usage

Applications produce and use a lot of data. Processing and storing that data can get expensive and inefficient. With data storage expected to account for 14% of global carbon emissions by 2040, it's time to take a look at application data and ask whether we need all of it. Perhaps applications ignore some collected data entirely, or perhaps we can reduce some retention periods. Bonus: Getting rid of unnecessary data may also help firms tell a better privacy story. 

Be wary of any organization that points to language choice as the sole indicator of its sustainability commitment, and ask about how they approach the other factors. Also, ask about measurement: What's the marginal energy cost for every new user on the application? Metrics are hard to come by at the moment, but as the application sustainability movement picks up steam, ask organizations at the forefront to share their sustainability metrics and formulas. 

This blog post is part of Forrester's Earth Day 2022 series. For more Forrester insights on sustainability, see the full set of Forrester's climate action blogs. 

This post was written by Principal Analyst Sandy Carielli and it originally appeared here.


Editorial standards

Related

To alleviate DevOps skills issues, we need more AI skills, ironically
Man using a computer while another leans forward to look at the screen

To alleviate DevOps skills issues, we need more AI skills, ironically

Salary freezes and a return to the office? Not for software developers
Focused developer coding on computer monitors working late in office

Salary freezes and a return to the office? Not for software developers

This iOS 16 trick makes your scribbly photo annotations look great
My coffee!

This iOS 16 trick makes your scribbly photo annotations look great