OpiniónSostenibilidad

7 consejos para reducir las emisiones de CO2 del software

Por Gonzalo Ruíz de Villa, director de tecnología del grupo GFT.

Gonzalo Ruíz de Villa, director de tecnología del grupo GFT
Gonzalo Ruíz de Villa, director de tecnología del grupo GFT

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.

Computing 818

Tu privacidad es importante para nosotros

Utilizamos cookies propias y de terceros para analizar nuestros servicios con fines analíticos, para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación y para incorporar funcionalidades de redes sociales. Puedes obtener más información sobre cookies en nuestra Política de Cookies. Puedes aceptar todas las cookies pulsando el botón “Aceptar” o configurarlas pulsando el botón “Configurar”.

x

Panel de gestión de cookies

✓ Permitir todas las cookies
✗ Denegar todas las cookies
Estas cookies son necesarias para que el sitio web funcione y no se pueden desactivar en nuestros sistemas. Usualmente están configuradas para responder a acciones hechas por usted para recibir servicios, tales como ajustar sus preferencias de privacidad, iniciar sesión en el sitio, o llenar formularios. Usted puede configurar su navegador para bloquear o alertar la presencia de estas cookies, pero algunas partes del sitio web no funcionarán. Estas cookies no guardan ninguna información personal identificable.

Cookies técnicas

✓ Permitir
✗ Denegar
Las cookies estadísticas nos permiten contar las visitas y fuentes de circulación para poder medir y mejorar el desempeño de nuestro sitio. Nos ayudan a saber qué páginas son las más o menos populares, y ver cuántas personas visitan el sitio.

Google Analytics

Ver sitio oficial
✓ Permitir
✗ Denegar
Estas cookies permiten que el sitio ofrezca una mejor funcionalidad y personalización. Pueden ser establecidas por nosotros o por terceras partes cuyos servicios hemos agregado a nuestras páginas. Si no permites estas cookies algunos de nuestros servicios no funcionarán correctamente.
✓ Permitir
✗ Denegar
Estas cookies pueden ser añadidas a nuestro sitio por nuestros socios de publicidad/medios sociales. No almacenan directamente información personal, sino que se basan en la identificación única de tu navegador y dispositivo de Internet para ofrecerle compartir contenido en los medios sociales o para mostrarte contenido o anuncios relevantes en nuestro sitio web u otras plataformas.
✓ Permitir
✗ Denegar
✓ Permitir
✗ Denegar