Why application durability is more than a choice of programming language

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 launching a sustainability initiative or you want to critically analyze vendors who claim application sustainability, everyone needs to think beyond language. As organizations consider the environmental impact of their applications, here are the factors to consider:

Programming language

As we discussed, lower level languages ​​are more efficient on their own, but when calculating programming language efficiency, be sure to include the power consumption of the compiler, editor links 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. scientific experience to think of optimized solutions and write efficient algorithms with efficient coding. Keep in mind that fewer developers today have expertise in lower level languages, so insisting on lower level languages ​​will limit your pool of experienced developers. As a result, you may end up with less experienced developers exploding power consumption in other ways.

Testing efficiency

Testing is at the heart of the application development process. If tests are inefficient or poorly designed, they will also increase energy consumption, especially as we build more automated tests because Agile and DevOps have encouraged ruthless automation. Going from ruthless automation to intelligent automation by leveraging AI and ML to determine when to automate a test or run an automated test could be a high energy saver.

Application design

Above coding, poor design can also lead to higher power consumption. Bad design could involve running more code: a user interface that constantly calls shared services, which is available over the network and on a remote machine, would consume much less power if it was collocated. Make sure your developers have good system design skills, but also consider the design capabilities of product architects who also need to consider sustainability.

Application Deployment

Anything deployed in production consumes space and may require load balancing routines or virtualization to exchange inbound and outbound binaries. But the application deployment process could also have energy-intensive pipelines. DevOps engineers play a key role in providing optimized and efficient pipelines for code delivery.

Application Protection

Once deployed, organizations need to monitor application performance and protect applications from attack with a combination of infrastructure and security tools (think web application firewalls, bot management, runtime security tools and observability tools). All of these are associated with the app and consume power, so add that to the total. For tools that protect multiple applications, distribute the power consumption among the protected applications.

Data usage

Applications produce and use a lot of data. Processing and storing this data can become expensive and inefficient. The storage of data to represent 14% of global carbon emissions by 2040it’s time to review the app data and ask if we need it all. Maybe apps ignore some collected data entirely, or maybe we can reduce some retention periods. Bonus: getting rid of unnecessary data can also help companies tell their privacy stories better.

Be wary of any organization that says language choice is the only indicator of its commitment to sustainability and ask how it addresses other factors. Also ask about measurement: what is the marginal cost of energy for each new user of the application? Metrics are hard to come by right now, but as the app sustainability movement gains momentum, 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 sustainability information, see the complete set of climate action the blogs.

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