Tendencias
20/09/2023
Software ecológico ¿en qué consiste y cómo puede beneficiar a los centros de datos?
El sector de los centros de datos lleva años invirtiendo esfuerzos en su sostenibilidad. El consumo energético, la huella de carbono, la refrigeración eficiente, etc. son algunos de los ámbitos en los que más hincapié se ha hecho desde las empresas del sector IT.
Sin embargo, una nueva tendencia se está estableciendo en el sector: se trata del software ecológico, una vía para conseguir infraestructuras más eficientes en materia de carbono, pero, en esta ocasión, a través del código.
Hoy profundizamos un poco más en esta tendencia y en cómo las grandes tecnológicas comienzan a tomar conciencia sobre el impacto ambiental del software utilizado en los centros de datos.
Para comenzar, nada mejor que una definición más acotada de lo que es el software ecológico. Y es que, cuando hablamos de programación, no todos los lenguajes son igual de eficientes a nivel ecológico.
El uso que se hace de cada lenguaje por parte de los programadores en el momento de escribir un software también puede influir en lo que respecta a la sostenibilidad del producto final.
Por tanto, podríamos definir el software ecológico como aquel que está programado siguiendo las mejores prácticas ecológicas del mercado.
Pero, ¿quién define cuáles son estas prácticas? el software ecológico es un término relativamente nuevo, y no ha sido hasta los últimos años cuando las compañías tecnológicas se han comenzado a plantear que, aunque sea el hardware el que consume la energía y genera las emisiones, hasta ahora la huella de carbono procedente del software se había pasado por alto, en mayor o menor medida.
Para ello, en 2021 nació la Green Software Foundation. Fundada por Accenture, GitHub, Microsoft y ThoughtWorks, se trata de una organización sin ánimo de lucro nacida de la necesidad de colaboración entre las distintas compañías desarrolladoras de software con la finalidad de consolidar este concepto de software ecológico.
La Green Software Foundation, que, además de sus empresas fundadoras, cuenta actualmente con grandes socios como Google, Intel, Mastercard o Shell, busca con esta asociación fortalecer el compromiso de construir un ecosistema confiable de personas, herramientas, estándares y prácticas que guíen la programación de software ecológico.
Con ello, el gran objetivo de la fundación es la reducción de emisiones de carbono procedentes del software en un 45% para el año 2030, en línea con el Acuerdo Climático de París.
Para ello, han han basado sus propuestas en 3 pilares principales:
Generalmente, cuando un sistema presenta problemas de eficiencia, nos preguntamos ¿cuál es el problema, el software o el hardware?
Desde la fundación afirman rotundamente que ambos. Sin embargo, así como en el sector de los centros de datos hace ya muchos años que se tomó conciencia sobre la huella de carbono, en la industria del software esta preocupación es mucho más reciente.
Y es que realmente, son muchos los supuestos para que un software sea más o menos eficiente. Por ejemplo, se puede consumir más energía ejecutando el código más cerca del usuario, pero mediante equipos de baja eficiencia, o ejecutarlo muy lejos del usuario final en centros de datos de mayor eficiencia.
Por ello, desde la fundación determinan que un mismo software puede contar con mayor o menor huella de carbono en función de momentos o ubicaciones distintas. Y con ello, recomiendan a las grandes tecnológicas mover las cargas de trabajo a aquellas ubicaciones donde en ese momento exista mayor energía limpia disponible.
Por otro lado, otra de las premisas es la cantidad de personas que ejecutan un software de forma simultánea, y la recomendación de la fundación a los programadores es no perder el tiempo optimizando softwares que nadie ejecuta y que pongan el foco en aquellos empleados cada día por grandes cantidades de usuarios.
En definitiva, el objetivo en el que está trabajando la fundación es crear una unidad de medida, a la que han llamado Software Carbon Intensity (SCI), y cuyo objetivo sería medir cuánta energía se utiliza para una determinada cantidad de trabajo a través de una ecuación que tenga en cuenta aspectos como las emisiones incorporadas del software, la ubicación desde la que se ejecuta y la energía consumida.