7 consejos para reducir las emisiones de CO2 del software

Aunque la digitalización se anuncie como la panacea para reducir las emisiones de CO2, la realidad dista mucho de ser tan sencilla. La tecnología juega un papel muy importante en la creciente cuota de contaminación mundial y, por ello, el papel de los desarrolladores de software también es clave para contribuir de forma significativa a la reducción de emisiones de gases de efecto invernadero. Nuestra iniciativa GreenCoding recopila medidas concretas y efectivas que pueden ayudar a los especialistas tecnológicos a contribuir a crear un futuro más verde.

 

La emergencia climática es el mayor reto al que se enfrenta la humanidad en el siglo XXI y, es por ello, que gobiernos, inversores y tribunales exigen cada vez mayores esfuerzos para reducir las emisiones. El único aspecto que aún se discute es qué medidas debemos tomar para reducir las emisiones de CO2. Podemos esperar a que los productores de electricidad aceleren su cambio a fuentes renovables de manos cruzadas o podemos poner nuestro grano de arena para que nuestra actividad diaria sea ya un poco más sostenible y tenga menos impacto en el Medio Ambiente. Sin dudarlo, en GFT, hemos apostado por la segunda vía para ponernos manos a la obra.

 

El término «Green IT» es probablemente familiar para la mayoría de los que trabajamos en el sector de la tecnología y la innovación. La idea es reducir el consumo de energía de las TI principalmente a través de un hardware más eficiente, por ejemplo, haciendo que el funcionamiento de los centros de datos consuma menos energía. Pero lo que es nuevo es el concepto de GreenCoding, ideado en nuestra compañía. Este término resume una serie de medidas encaminadas a desarrollar un software de bajas emisiones y más sostenible.

 

Un obstáculo para GreenCoding es que todavía no hay normas de facto para identificar las medidas adecuadas. Quienes quieran crear software sostenible o hacer más sostenible el existente a posteriori deben empezar por donde vean el mayor potencial de optimización. Sería útil disponer de una solución para medir con precisión el consumo de energía o las emisiones de CO2 de cada sistema, aplicación o incluso línea de código. Sin embargo, esto puede ser complejo, lento y propenso a errores.

 

Por ello, GFT está trabajando ya en una evaluación cualitativa. Se trata de una lista de control que pondera las medidas individuales en función de su efecto y ofrece a los usuarios información sobre los aspectos en los que aún no se ha aprovechado el potencial. En el futuro, estas evaluaciones se vincularán a las mediciones del consumo real y al ahorro conseguido. Y es que el consumo real también depende de los dispositivos utilizados, los hábitos de uso de los usuarios y el hardware de los operadores.

Las medidas pueden dividirse en diferentes áreas: arquitectura, lógica, metodología y plataformas, etc. Hay numerosos consejos, reglas y directrices para cada una de ellas. A continuación, se mencionan algunas de las más significativas para los desarrolladores de software:

Apagar cuando esté inactivo

Cuando no hay nadie en la habitación, se apagan las luces: esto también debería aplicarse al software. Debe diseñarse según principios modulares, de modo que los módulos y microservicios se apaguen cuando la demanda sea baja.

Evitar el consumo impulsivo

El software suele funcionar en tiempo real: los trabajos se procesan inmediatamente. Sin embargo, esto no siempre es necesario. Algunas tareas, como el mantenimiento, la transcodificación de vídeo o las copias de seguridad de datos, pueden posponerse en algunos casos. Esto permite agrupar las tareas y ejecutarlas cuando hay suficiente energía verde disponible. También es una forma que puede mejorar el uso del hardware.

Código muerto

El 90% del software actual contiene código abierto desarrollado por terceros. A veces es perfecto para lo que se requiere, pero a menudo contiene secciones no usadas que hacen crecer el tamaño del software, lo que ralentiza la creación, el despliegue y la puesta en marcha de las aplicaciones. Los denominados motores de agitación de árboles (tree shaking) pueden detectar y eliminar el código muerto.

Usar recursos de baja huella

Algunos formatos de archivo utilizan menos recursos que otros. Por ejemplo, CSV necesita menos que Excel y YAML menos que XML. Las investigaciones de GFT demuestran que la elección de la API también puede tener un impacto directo en las emisiones de gases de efecto invernadero. Asimismo, las imágenes ofrecen un enorme potencial de ahorro: siempre deben comprimirse para reducir la cantidad de datos transmitidos por la red.

Apostar por el desarrollo ágil

Las metodologías agile y lean facilitan la adaptación del software para que sea más eficiente. El desarrollo en pequeños pasos ayuda a reducir los bucles que se retroalimentan ya que los desarrolladores sólo compilan y prueban las secciones de código modificadas, no proyectos enteros.

Evitar largos tiempos de carga

El tiempo de carga y lanzamiento de un software es fácil de medir y está directamente relacionado con su consumo de energía. Para los desarrolladores, es una buena forma de evaluar el impacto de los cambios en el código.

Optimización del hardware

Los servidores que no se utilizan completamente consumen más energía de la que deberían. Esto ocurre cuando los sistemas están sobre o infra dimensionados. El cloud computing puede ofrecer un importante ahorro de energía, ya que los sistemas en la nube pública son muy modulares y permiten una gestión precisa de la carga de trabajo. Por ejemplo, AWS, Google Cloud y Microsoft Azure funcionan con una utilización de alrededor del 65%, mientras que los centros de datos on-site sólo alcanzan entre el 12 y el 18%.

 

GreenCoding está todavía en sus inicios. Por ahora, sólo unos pocos proveedores y usuarios de software están abordando activamente este tema. Precisamente por ello, nuestra organización se ha propuesto impulsar el tema y está trabajando con sus socios para lograr un entendimiento común que pueda conducir algún día a una verdadera certificación en código sostenible.

 

Este artículo fue originariamente publicado en Computing

GreenCoding

Con GreenCoding el desarrollo de software se convierte en parte integrante de tu programa de sostenibilidad

Más información