Featured
- Get link
- X
- Other Apps
Green IT: Software Engineers?
When I think of green, to me it represents freshness, nature and renewal. After all, green is everywhere. However, as part of this software industry, it makes me wonder: Are we doing enough to ensure that green in nature remains dominant?
The Paris
Agreement signed in 2016 analyzes mitigation, adaptation and climate change
financing. Since then, many organizations have stepped forward to solve the
climate crisis and solve the challenges of removing carbon from the economy. We
regularly hear about organizations that disclose reducing carbon emissions or
plans to achieve net zero emissions.
There is
also a pandemic-accelerated change around corporate digitization. IDC forecasts
that investments in digital transformation will reach $6.8 trillion [1] by
2023. Software-assisted technology is the cornerstone of this digitization. The
software needs storage, computing, and networking to function and function. All
this consumes energy. Therefore, there is an urgent need for the software
engineering community to understand the impact of software on the carbon
footprint.
Recently,
there was a study led by researchers in Portugal,[2] in which they published
some interesting results. On average, compiled languages consume 120 joules
[Joules] and interpreted languages consume 2365 joules to implement certain
solution models. This basically means that C code is 75 times more energy
efficient than Python code. The MIT Technology Review article [3] stated that training
a single AI model can emit as much carbon as five cars in its lifetime.
So, as
software engineers, we should start by asking two questions:
How do I
know the carbon footprint of the code I write?
What can
I do to reduce the carbon footprint of my code?
These are
the questions the "green software engineering" movement is trying to
answer. Green Software Engineering offers a comprehensive view of climate
science, software, cloud, data center, and hardware engineering and practices.
Green
Debt Measuring
Today,
calculating technical debt is standard practice for software engineers. Tools
like SonarQube and CAST are used to understand code performance. The results of
these tools can be extended to calculate "green debt". Research is
also conducted in the software community on custom tools and plug-ins that can
provide live stats on power performance. As these tools become more widespread,
I wouldn't be surprised to see "green debt" becoming one of the key
metrics for software quality and maintenance.
Taking
advantage of methods such as serverless architectures or containerization is a
good first step towards designing more energy efficient code. Basically,
serverless computing provides services only when you need them. This
architecture can be further improved by using other sustainable patterns such
as edge computing and lagging computing. A container is a small stand-alone
computing environment unit that can run executable code that contributes to
reducing carbon emissions. In addition to focusing on code optimization
techniques [4] while writing the code itself, such as reusing already computed
values or avoiding unnecessary variable buffers and additional memory loads
and logging motions. If you are designing a data-intensive application, you can
focus on solutions patterns that reduce traffic.
bloggerelle entertainmentweeklyupdates countrylivingblog theallureblog technoratiblog
- Get link
- X
- Other Apps
Popular Posts
Business and Technological Implications And, More About It
- Get link
- X
- Other Apps