¿Qué es el Green Software?

Autoría: Rut Palmero Sánchez

que es el green software

En el Día Mundial de la Ingeniería para el Desarrollo Sostenible es oportuno destacar que, el sector de la tecnología y las telecomunicaciones genera aproximadamente el 5% de las emisiones mundiales de CO2, el doble que todo el sector de la aviación y se espera que esta cifra aumente hasta el 14 % para 2040. Ante esta situación es necesario responder qué es el Green Software y cómo puede revertir o ayudar a reducir la huella medioambiental de los ecosistemas tecnológicos.

¿Cómo se define el Green Software?

Podemos definir qué es el Green Software como un enfoque en el desarrollo de software que busca reducir el impacto ambiental de las aplicaciones y sistemas digitales. Se basa en la optimización del código, la eficiencia energética en los centros de datos y el uso de fuentes de energía renovable. Además, promueve buenas prácticas como la reducción del consumo de recursos computacionales, la minimización de transferencias de datos innecesarias y la implementación de arquitecturas más sostenibles. Este concepto es clave en un mundo donde la tecnología sigue creciendo exponencialmente y el consumo energético de servidores, dispositivos y redes tiene un impacto significativo en el medio ambiente.

Emisiones de los equipos de red

Las emisiones de los equipos de red son incluso más altas que las de los centros de procesamiento de datos, y los proveedores de redes y los CPD no son transparentes a la hora de ayudar a las organizaciones a realizar un seguimiento de las emisiones que sus sistemas generan. Se prevé que la huella medioambiental de lo digital sea la que tenga un crecimiento más alto en el futuro cercano.

El cuerpo físico de Internet necesita de muchas industrias -entre ellas la minería, ensamblaje, centros de datos, infraestructura de cables, satélites, componentes electrónicos- que demandan considerables cantidades de recursos, además de minerales cuyos procesos de extracción son complejos y contaminantes. Es urgente dirigirse hacia una economía circular de lo digital, poniendo el foco en la reutilización de componentes, la estandarización del hardware para alargar su vida útil, procesos de recuperación eficiente de residuos y técnicas de codificación y diseño sostenible de nuestras soluciones.

Aspectos contaminantes del software

Es urgente que los profesionales del área de TIC incorporen aspectos de sostenibilidad medioambiental  o Green Software en sus decisiones profesionales, ya sea a nivel de arquitectura, programación, infraestructura o comercialización. ¿Qué estamos haciendo mal en nuestros diseños actuales?

  • Abuso en el uso del almacenamiento: Se almacena y envía información repetidas veces o muy lejos del lugar en que los datos se producen y se consumen. Los datos “en la nube” en realidad se encuentran en un dispositivo enchufado, aunque no nos lo parezca.
  • El ciclo de vida del software y del hardware no van de la mano: Esto se refleja por una parte en que los proyectos de software no incluyen un plan que incluya el reaprovechamiento o reciclaje de los dispositivos hardware al final de su ciclo de vida, pero también en el sobredimensionamiento de recursos hardware o la falta de interés por acomodar el software a hardware legacy.
  • Considerar preferible la nube, en lugar de hacer un estudio para identificar en qué punto del continuo IoT-Cloud es preferible ejecutar cada tipo de carga en función de sus características y también del consumo energético.
  • Falta de conocimiento de técnicas de Green Coding: La mera elección de un lenguaje de programación u otro, de una versión del lenguaje u otra, puede tener un impacto en el consumo de energía de nuestra aplicación en tiempo de ejecución.

Buenas prácticas del Green Software

La buena noticia es que hay dos perspectivas en la relación del software con el problema del cambio climático: es simultáneamente parte del problema y parte de la solución. El objetivo del Green Software es reducir el impacto negativo del software mediante la reducción de emisiones de carbono y otros tipos de contaminación que son atribuibles a este. Por otra parte, el software también puede ser un facilitador; la solución a los problemas del cambio climático va a venir de mano de la tecnología, pero es importante hacer este software sostenible al mismo tiempo.

El siguiente paso es comprender las posibilidades de optimización del software. Generalmente implicará cambios en su infraestructura, su código o sus flujos de trabajo de desarrollo. Veamos los componentes del software que contribuyen a generar emisiones:

1.      En el software en ejecución, aligerar el arranque de los elementos de virtualización en los que se ejecuta el software (VMs, pods, funciones), y un buen dimensionamiento de su escalado es crucial para mejorar la eficiencia energética. En los tiempos de inactividad, hay que afanarse por ahorrar energía.

Los tiempos de respuesta o la experiencia del usuario en general se pueden proporcionando un Modo Eco que limite las prestaciones a costa de ahorrar energía. En otros contextos los usuarios se decantan por estas opciones, pero en software es muy novedoso.

2.      En la fase de desarrollo del software se usan infraestructuras específicas que también han de ser tenidas en cuenta desde un punto de vista medioambiental (entornos de desarrollo y de preproducción). Dimensionarlas convenientemente, o tal vez reutilizar el hardware en estos entornos son soluciones posibles.

En un proceso de desarrollo actual, el software se produce a través de un canal de integración continua o pipeline. Comprender el costo de crear software y los ahorros potenciales al agrupar el proceso por lotes o incluso dividir el Pipeline o ejecutarlo parcialmente disminuye el uso de recursos.

De la misma manera, el código y datos de pruebas producidos durante esta fase se almacenan en un sistema de versionado que algunas veces no considera la eliminación de información innecesaria en su ciclo, lo que contribuye al despilfarro de energía.

Medición del impacto medioambiental del software

Y puesto que lo que no se mide no existe, el Green Software también considera este aspecto. Contamos con la certificación ISO/IEC 21031:2024 (en) Information technology - Software Carbon Intensity (SCI) specification, promovida por la Green Software Foundation, para la medición de emisiones de carbono del software. Es una herramienta para poder comparar la eficiencia energética de nuestro software frente a cambios que vayamos realizando, y así evaluar la efectividad de las medidas.

Explicamos dos de los parámetros específicos de las tecnologías Green Software:

·         I: Factor de emisión: Se dice que el software es consciente al carbono, si conoce qué tipo de energía (renovable o no) está utilizando en el momento y lugar en que se ejecuta, y actúa en consecuencia. Para ello, se pueden consultar datos de producción eléctrica, reales o estimados. Por ejemplo, Red Eléctrica Española dispone de una API para su consulta. Lo ideal, en el contexto de la nube, es mover el software al momento del día y al lugar en el que la energía es limpia, especialmente cuando se trata de cargas de mucho uso de recursos, como las relacionadas con IA, blockchain, etc.

Hay que tener cuidado con esta técnica, porque si se generalizase, es probable que el sistema de producción de energía lo interpretase como un incremento global de la demanda, y activaría la producción de más energía a través de vías no sostenibles.

·         M: Carbono embebido. Sería el cálculo de las emisiones que se han producido en la producción y destrucción del hardware subyacente, en su transporte, etc.

Efectivamente, la obtención de estos datos no es sencilla. Y esta falta de herramientas y datos sobre consumos es debida, en gran medida, a la falta de normativa que obligue a generarlos, ya que en gran parte han de ser proporcionados por los fabricantes de hardware y la cadena de distribución.

Las organizaciones normalmente no tienen en cuenta el impacto de sus operaciones de IT en los informes de sostenibilidad, y la CSRD (Directiva europea sobre información corporativa en materia de sostenibilidad) no es clara al respecto de que deba hacerse. Desafortunadamente, la medición del impacto de software se ajusta muy mal al uso del protocolo GHG, que divide las emisiones en diferentes alcances, por lo que se están presentando marcos de medida alternativos que llegarán a estándar en algún momento.

que es el green software y su objetivo

Responsabilidad profesional

Por todo lo anterior, es vital como profesionales de IT asumir la responsabilidad y promover en nuestras organizaciones buenas prácticas en Green Software. Adoptar prácticas de desarrollo de software sostenibles no solo revierte en un ahorro significativo en consumo de energía y reducción de emisiones, sino que también incluye optimizar el código para ser más eficiente y utilizar algoritmos menos intensivos en recursos.

En términos de beneficios, ser más sostenible en el uso de TIC no solo ayuda al medioambiente sino también a las organizaciones a largo plazo, al reducir costos operativos a través de un menor consumo de energía y recursos.

El paso clave es crear conciencia y educar a los desarrolladores y desarrolladoras sobre el consumo de energía como un componente importante a considerar al diseñar soluciones de software. Esto, a su vez, aumentará la demanda de métricas e impulsará la oferta por parte de los actores de la industria.

Si quieres prepararte para ser un experto en desarrollo de software sostenible, conoce todos los detalles del curso online Green Software. Desarrollo de Software Sostenible. ¡Inscríbete y comienza cuanto antes! 
 

Sigue al día con nuestra newsletter

Indícanos los temas que más te interesan:

Política de privacidad

ADR Formación utiliza cookies propias y de terceros para fines analíticos anónimos, guardar las preferencias que selecciones y para el funcionamiento general de la página.

Puedes aceptar todas las cookies pulsando el botón "Aceptar" o configurarlas o rechazar su uso pulsando el botón "Configurar".

Puedes obtener más información y volver a configurar tus preferencias en cualquier momento en la Política de cookies