Microsoft, Accenture, Thoughtworks y NTT Data se encuentran entre los miembros fundadores de una nueva iniciativa de la industria para impulsar el desarrollo de la sostenibilidad en el software.
A través de Green Software Foundation, las empresas han lanzado una especificación inicial llamada Software Carbon Intensity (SCI) para medir la huella de carbono del software. El objetivo general de SCI es ofrecer un método para calificar un sistema de software en función de sus emisiones de carbono.
Entre los principios del desarrollo de software se encuentra el mantra de “nunca reinventar la rueda”, que anima a los desarrolladores de software a utilizar bibliotecas de software estándar en lugar de desarrollar el código ellos mismos. Aunque estas bibliotecas son valiosas para ahorrar tiempo, a veces pueden ser excesivas u ofrecer muchas más funciones de las que el desarrollador realmente necesita. Es posible que no sean tan eficientes como algo desarrollado desde cero para resolver un problema muy específico, pueden necesitar más energía y tener una huella de carbono más grande que las bibliotecas de software ligeras alternativas que ofrecen menos funcionalidad.
“Los desarrolladores se han vuelto perezosos”, dijo Chris Lloyd-Jones, director de tecnologías abiertas de Avanade, la empresa de servicios formada a partir de la empresa conjunta entre Microsoft y Accenture.
A un alto nivel, dijo Lloyd-Jones, la especificación se basa fundamentalmente en un conjunto de principios básicos, como medir que el uso de la carga de trabajo de una CPU se correlaciona aproximadamente con la cantidad de electricidad que usa un fragmento de código. Otra medida simple es el costo de la infraestructura como servicio (IaaS) basada en la nube. La ejecución de una aplicación costará más si requiere más recursos basados en la nube, como un mayor uso de CPU y el uso de unidades de procesamiento de gráficos (GPU).
De hecho, los datos de Avanade muestran que existe una correlación directa entre el costo de ejecutar la misma carga de trabajo en diferentes instancias de Microsoft Azure y su huella de carbono. Por ejemplo, ejecutar una carga de trabajo durante 24 horas en la instancia de GPU Azure NC6v2 de Microsoft costaría 91 €, y la carga de trabajo consumiría 3.3kWh de electricidad en 24 horas. A modo de comparación, Avanade dijo que ejecutar la misma carga de trabajo durante 24 horas en la función Azure usaría solo 0,8 kWh de electricidad y su costo de funcionamiento totalizaría € 0,51 por 24 horas de uso.
Al discutir cómo funcionaría el SCI, Lloyd-Jones dijo: “La idea es que no se mida el total [carbon footprint] del software. En cambio, tiene una puntuación para reducir su huella de carbono “. Esto, dijo, permite a los desarrolladores de software encontrar formas de hacer que su código sea más eficiente desde el punto de vista energético tomando medidas para reducir la huella de carbono del software que desarrollan.
Otro aspecto de la especificación es ayudar a las organizaciones a tomar decisiones sobre si utilizar hardware y medidas más eficientes, como ejecutar cargas de trabajo en momentos en que hay menos demanda en la red nacional o cuando una mayor proporción de electricidad se genera de manera sostenible. Aunque todavía se necesita trabajo para permitir que los operadores de centros de datos proporcionen una medición en tiempo real de la generación de energía sostenible, Lloyd-Jones cree que ese seguimiento está a solo unos años de distancia y los proveedores de la nube ofrecen algunos ganchos para ayudar a los desarrolladores a rastrear el uso de energía.
“Microsoft tiene una calculadora de sostenibilidad, que puede consultar el estado actual de Azure para comprender cuándo es el momento adecuado para implementar el código”, dijo. Tener en cuenta el uso máximo de electricidad y cuándo hay más disponible de fuentes de energía verde también puede ayudar a mejorar la huella de carbono del software, agregó.
Para Lloyd-Jones, las prácticas tradicionales de administración de TI se encuentran entre los mayores desafíos a superar en el desarrollo de software que tiene en cuenta la huella de carbono del código que se implementa. Por ejemplo, incluso en la era de la computación en la nube, muchos departamentos de TI generalmente compran más recursos en la nube de los que realmente necesitan. En la nube, dijo, “el costo es igual a la huella de carbono, lo suficientemente cerca; el tamaño correcto optimiza tanto el costo como la huella de carbono”.