The optimization of performance testing services can contribute to achieving sustainable software engineering. Why is the digital carbon footprint getting bigger every day? What are the best practices to reduce it? Find out everything in this article, with an interview with Mercedes Quintero, Federico Toledo, and Andréi Guchin.
Each day, more and more individuals and businesses become aware of the necessity of reducing their environmental impact. Yet the digital carbon footprint continues to increase as a result of digital transformation.
A significant reason for this is the growing environmental impact of data centers’ electricity consumption. According to the study “Environmental impact of electricity consumption in data centers”, published in 2021 by Scielo, “The ICT industry is responsible for about 2.5% to 3% of global greenhouse gas emissions, and this number is expected to increase to 14% by 2040.”
There are different predictions in this regard. According to a study by McMaster University in Canada cited by the same research, the ICT sector consumed between 6% and 10% of the electricity generated in the world in 2018, and the total percentage of energy consumed could exceed 21% by 2030, “similar to the carbon footprint generated by transportation globally.”
Why is the digital universe’s carbon footprint so large? According to the cited report, digital technologies constitute a global system: “Terminals (smartphones, computers, tablets, among others) are connected to one another by network infrastructure (terrestrial and submarine cables, antennas, mobile networks, optical fibers, among others), which exchange information stored and processed in data centers.”
Each of these elements requires energy both to operate and to be produced: mining of raw materials, industrial processes, and more.
Adding to all this, according to the Global E-Waste Monitor (GEM) 2020, the world generated 53.6 million metric tons of e-waste in 2019, up 21% in just five years, and only 17.4% of it was officially documented, properly collected, and recycled.
From sending emails to digital downloads, searches, and payments, every digital action involves big data processing and file storage. As you can see, achieving sustainable software engineering should be a priority. For this being done, building strategies for performance testing services that take into account the digital carbon footprint can be a great ally.
What can we do to achieve this? What specific actions can be taken to achieve these goals? We talked about all this with Mercedes Quintero, CEO of Qualitas Test Team; Federico Toledo, COO at Abstracta; and Andréi Guchin, leader of Abstracta’s performance testing hub.
– How does performance testing influence energy efficiency and environmental care?
Mercedes Quintero: Performance testing services allow us to evaluate how a product performs in terms of stability, scalability, capacity, and speed. The results obtained with performance tests allow organizations to obtain information about bottlenecks in an application, performance levels, comparison of systems to find out which one works best, and infrastructure improvements.
In this context, the objectives associated with developing more energy-efficient and powerful equipment and products will be highly benefited by using this type of test, from the very conception of the requirement.
Federico Toledo: It is often said that if you have a system that is in the Cloud, it scales without problems. But is this true? If we solve performance problems with more hardware, we are generating other collateral problems: on the one hand, it will cost us more money to support the use of the system, which directly affects the profitability of the business.
On the other hand, we are having an environmental impact, both in energy consumption and in need for more hardware, which undoubtedly leads to more mining and waste, among other things. It is difficult to see the relationship between the performance of a system and its environmental sustainability, but taking this into account, we can do our bit by making our systems more efficient, i.e. achieving more with fewer resources.
This can also be seen in mobile applications. If an app consumes a lot of battery, you will have to charge the phone more often, which in the long run affects even the lifetime of the device.
Andréi Guchin: One of the main goals of performance testing services is to efficiently use system resources at all levels, which directly impacts energy efficiency.
In the past, when on-premise systems were predominant, this was certainly clearer because it was possible to see the energy consumption of the servers directly on the electricity bill. Nowadays, with systems hosted in the cloud, it is more difficult to relate it, but there is no doubt that this impact still exists.
– Many times, people don’t think about whether scaling the load has any incidence or impact on our planet, and that can lead to inefficient development. How can we help with the analysis and optimization of performance testing services to achieve sustainable software engineering?
Mercedes Quintero: Involving the testing area from the beginning of the projects and in all phases of the Systems Development Life Cycle has been a topic of debate for many years. Faced with this problem, we have an enormous opportunity to consciously strengthen those involved.
This technological problem has repercussions on a social and climatological phenomenon and should have the perspective of a team in which what we could call “sustainable performance testers” participate. The objective of this would be to strengthen the evaluation and creation of requirements that adopt good practices in search of solutions that require less energy consumption and that, in short, contemplate the principles of sustainable software engineering.
– What are these good practices and what measures could be adjusted to contribute to energy efficiency and a more sustainable world?
Mercedes Quintero: Sustainable software engineering as an emerging discipline could begin to create roles such as sustainable software engineers, so perhaps we should start thinking about new roles, perhaps “Performer tester of sustainable software”? Beyond the name, what is certain is that these roles should incorporate the evaluation of sustainable engineering principles as part of their testing strategy.
– What are these principles that they should evaluate?
Mercedes Quintero: Among them, we should include:
✔️Extend the useful life of the hardware, in order to reduce the production of polluting e-waste. To achieve this, in addition to the various care required, measure that the software being created is capable of running on older hardware. The more software that can run in this way, the less pollution we will generate.
✔️Calculate the carbon footprint.
✔️Evaluate reducing the amount of data to be sent and/or received and the distance traveled.
✔️Take actions to encourage the application demand to match the power supply at the time, such that the application demand is “authorized” to increase when there is a high supply of renewable energy.
✔️Conceive requirements that reduce user expectations regarding carbon intensity.
✔️Measure hardware efficiency.
✔️Measure the power consumption of background applications on mobiles and servers.
– Are the new generations of testers more responsible in these aspects? Do they invest more effort in this in pursuit of a sustainable world?
Mercedes Quintero: This emerging discipline still has many opportunities within organizations, educational institutions, and the government to bring it to all sectors to strengthen the community around the set of skills needed to design and evaluate sustainable software applications. I am confident that, with the strong trend of climate sustainability worldwide, we are just a few steps away from having much more formally trained testers.
There is already a trend to develop Green applications. Thus, we are investing in the knowledge and creation of strategies that allow us to evaluate products from a sustainable engineering approach. I believe that little by little, testers are beginning to be part of the philosophy of sustainable software engineering.
Federico Toledo: I have not seen much about it yet. In the Alarcos group, in Spain, where I did my Ph.D., there was a whole line of research on sustainable system developments, but I don’t know how much of that has been adopted in the industry. Hopefully, in a short time, we will see more awareness in this regard. I think it won’t be long before companies start putting more focus on meeting that carbon footprint target, and perhaps software development will have to adjust to optimize the use of resources to contribute to these goals.
In what way? Not by assuming that scalability is achieved by moving the system to the cloud and using the servers it takes and that’s it, but by realizing that the more efficient the system, the fewer servers will be required. All this, in sum, ends up implying less mining, less pollution, less waste, less heat generation, etc.
Andrei Guchin: My feeling is that the new generations in general, not necessarily the testers, are becoming more conscious about living in a more sustainable way. I think this is a very positive thing because in the future these generations will be responsible for the markets, the industry, and the world in general. However, according to what we see on a daily basis regarding the current situation of the planet, we should not wait for the new generations to take charge, we have to start acting now.
Don’t miss Quality Sense Conf! Organized by Abstracta, it will be divided into 14 sessions, focused on various and multiple software testing topics. The event will take place right after WOPR (Workshop on Performance and Reliability) in Montevideo, Uruguay, and you can take the opportunity to meet in person many of the workshop speakers. Register here.
Follow us on Linkedin & Twitter to be part of our community!
Related Posts
Performance Testing of a Socket.IO Application
If you’re going through the experience of trying to do a performance test with systems that use the Socket.IO library, one of the best ways is to use Locust, Taurus, and BlazeMeter. To learn more about this topic, read this article by December Labs, one…
Gatling Tool Review for Performance Tests (Written in Scala)
Looking to try Gatling for load testing? Have you heard of Gatling for performance tests? It’s a relatively new open-source tool (created in 2012, so pretty new), that has recently been gaining popularity (250,000 downloads in four years, 60,000 of those in the last three…