How to achieve a more sustainable IT environment with open source technologies?

How to achieve a more sustainable IT environment with open source technologies?

The interest that companies have today in the issue of ecological sustainability is real and growing; However, achieving these goals requires more than just reducing business travel or implementing measures within the workplace.

An article published exclusively on Goodtech.info by David Szegedi, CTO France of Red Hat.

Software tools also have a great influence on the quantity of CO2 emissions generated. The IT sector is already mobilized to improve the environmental footprint as much as possible during the manufacturing and operation of its products. Companies must also develop awareness of the impact of their IT infrastructure on climate change and the best practices and changes they can apply to improve their carbon footprint. Here are some practical steps organizations can consider to help them build a more sustainable IT infrastructure.

Deployment, use and scaling of platforms

The question of deployment, usage, and scaling is complicated because it involves dedicated decisions about architecture. Open source technologies focused on usage and scaling, such as Knative (Serverless architecture in Kubernetes environment), come to mind. A common Kubernetes environment often works according to the principle “one cluster per application”, sometimes also “multiple clusters (staging/prod/dev) per application”. In some cases, the workload in these clusters may be low. This means that even if a deployment scales to zero resource usage, businesses still have a burden associated with running the Kubernetes cluster, plus the carbon footprint of all the hardware. Certainly, this makes it possible to reduce the electricity consumption of the workload, but the positive impact of this measure on the overall climate balance remains marginal. Companies should therefore take a close look at their overall setup before acquiring additional technologies for a given application.

The ideal is to minimize the footprint of the platform for representative applications, including development, testing, production environments, etc. It is also advisable to optimize the design of these environments with, for example, the use systematic automation in order to maximize its use.

Technologies for managing peak loads have another major advantage. In particular, it is possible to manage deployment and continuous integration pipelines “statically” – by pre-provisioning the necessary resources – or “elastically” – by dynamically adapting to peak loads or tasks. – with Tekton type technologies.

It may also be appropriate to adapt the hardware architecture depending on the type of load, in order to minimize or optimize the energy footprint – for example by migrating from x86 to ARM, or by using FPU/GPU for calculations. /intensive yields.

Code efficiency

As the Green Software Foundation sums it up very well: “The most effective code is the one that does not need to be written. And the best time to identify unnecessary workloads is as early as possible in the design process.”

However, new application architectures – notably based on micro-services, possibly serverless – make it possible to optimize the consumption of hardware resources in a significant way. Changing or updating runtimes and/or programming languages ​​can also have positive impacts, by limiting CPU, memory or even disk consumption for an equivalent workload – for example with Quarkus in the context of application modernization Java legacy.

The advantages of the cloud

The possibility of being able to deploy platforms and applications across all cloud computing providers allows you to benefit from a model that is by definition elastic and scalable, which dynamically adapts to use – limiting the problem of overconsumption linked to load peaks. . It also becomes possible to favor the cloud provider offering the best energy footprint in relation to a given period and geographic context. In order to place the application on the most suitable platform, it becomes necessary to have measurement tools that improve decision support.

In support of this trend, more and more open source projects are being created to help companies achieve their sustainability objectives: for example, they intervene in the collection of energy consumption measurements from the platforms used by companies to give them better visibility and understanding of their impact. These measurements must be sufficiently precise and granular (if possible with a high collection frequency, at the level of an application or a container) while not introducing an overhead linked to the collection of information – as can be done for example the Open Source Kepler project. Some projects, relying on these measures, can for example automate the shutdown of resources during times when they are not useful in order to save energy. Indeed, at the current stage, every economy counts. One thing is certain: for a measure to be effective, you must first define the objectives and choose relevant measurement metrics to verify them.

Leave a Comment

Your email address will not be published. Required fields are marked *