¿Qué tan ecológico es su software?
por Sanjay Podder, Adam Burden, Shalabh Kumar Singh, Regina Maruca

Ilustración de Ricardo Tomás
Sin duda, el software es la columna vertebral de prácticamente todas las soluciones inteligentes diseñadas para respaldar el medio ambiente. Es fundamental, por ejemplo, en los esfuerzos por combatir la deforestación y reducir las emisiones. Sin embargo, en muchos casos, el software también forma parte integral de una huella de carbono que crece rápidamente. De hecho, las tecnologías digitales recientes y en proliferación han empezado a empeorar muchos de los problemas ambientales que pretenden resolver. Sin embargo, las empresas pueden hacer del software una parte integral de sus esfuerzos de sostenibilidad teniendo en cuenta su huella de carbono en la forma en que se diseña, desarrolla e implementa y replanteándose algunos aspectos del funcionamiento de los centros de datos que ofrecen servicios basados en la nube.
Que quede claro: por sí solo, el software no consume energía ni emite ninguna descarga dañina. El problema está en la forma en que se desarrolla el software para su uso y, luego, en la forma en que se utiliza. El software funciona con el hardware y, a medida que el primero sigue creciendo, también lo hace la dependencia de las máquinas para funcionar.
Por ejemplo, la cadena de bloques impulsa algunas de las soluciones ecológicas más avanzadas disponibles, como microrredes que permiten a los residentes comerciar con energía respetuosa con el medio ambiente. Y esta innovación de software también está detrás del desarrollo de las criptomonedas. En 2019, los investigadores del Universidad de Cambridge estimó que la energía necesaria para mantener la red de Bitcoin superó a la de todo el país de Suiza.
Luego está el sector de las tecnologías de la información y las comunicaciones en su conjunto. Para 2040, se espera que represente el 14% de los huella de carbono — frente a alrededor del 1,5% de 2007.
El propio desarrollo del software puede consumir mucha energía. Por ejemplo, piense en lo que aprendimos cuando entrenamos un modelo de inteligencia artificial (IA) en un pequeño y disponible públicamente conjunto de datos de flores de iris. El modelo de IA alcanzó una precisión del 96,17% al clasificar las diferentes especies de flores con solo 964 julios de energía. El siguiente aumento de precisión del 1,74% de puntos requirió un consumo de energía de 2.815 julios. El último aumento incremental de precisión del 0,08% consumió casi un 400% más de energía que la primera etapa.
Pensemos ahora en el mismo ejemplo en el contexto del panorama general de la IA en general. Entrenar un único modelo de red neuronal hoy en día puede emitir la misma cantidad carbono como cinco coches en su vida útil. Y la cantidad de potencia computacional necesaria para ejecutar grandes modelos de entrenamiento de IA ha sido aumentando exponencialmente, con un tiempo de duplicación de 3,4 meses.
Dicho esto, no tendría sentido limitar la dependencia del software como medio para poder trabajar, especialmente en el mundo posterior a la COVID, donde trabajar desde casa o desde ubicaciones remotas podría convertirse en la norma para muchos. Limitar la innovación impulsada por el software tampoco sería una respuesta viable.
Sin embargo, las empresas pueden hacer del software una parte integral de sus esfuerzos de sostenibilidad evaluando su desempeño en función de su eficiencia energética tanto como según los parámetros tradicionales (por ejemplo, funcionalidad, seguridad, escalabilidad y accesibilidad) e incluyendo prácticas y objetivos ecológicos como criterios para las evaluaciones del desempeño de los CIO.
En última instancia, las recompensas superarían los desafíos: el escrutinio inicial y creciente que requiere la creación de software ecológico se traduce en un producto de mayor calidad: más ágil, limpio y más adecuado para su propósito. Estas cualidades también compensan los costes iniciales adicionales. El software ecológico ayudará a las grandes empresas a cumplir sus objetivos de ESG, una medida de rendimiento cada vez más importante para las partes interesadas. Por último, nuestra investigación (que se publicará próximamente) ha demostrado que los ingenieros informáticos recién nombrados sopesan cada vez más que la empresa se centre en sostenibilidad al elegir una empresa; el compromiso con el software ecológico puede ser un atractivo persuasivo.
Entonces, ¿cómo pueden las empresas ser ecológicas con su software? Es un proceso de tres partes que comienza con la articulación de una estrategia que establece algunos límites, luego se centra en el ciclo de vida del desarrollo del software y hace que la nube también sea ecológica. Ninguna empresa que conozcamos se dedica plenamente a este proceso tal como lo describimos ni a aprovechar todos los beneficios de un software ecológico a propósito. Sin embargo, un número cada vez mayor de empresas, incluidas Google, Volkswagen y Rainforest (que en sí misma es una empresa de pruebas de software), utilizan varios de los siguientes enfoques y técnicas.
Articule una estrategia que guíe las compensaciones y permita la flexibilidad. Esto hará que los equipos de TI piensen en cuál debe ser el nivel de tolerancia adecuado a los efectos ambientales de su software. Casi siempre hay compensaciones entre los objetivos empresariales y medioambientales, y los ingenieros de software tienen que ser capaces de determinar cuál es la línea entre lo que se puede y no se puede. Piense en el modelo de IA que entrenamos en el conjunto de datos de las flores del iris. Que el último paso para aumentar la precisión valga la pena por la energía que consume es una decisión empresarial que requiere una orientación clara de la cúpula.
Igual de importante es que la estrategia exija flexibilidad, lo que permita a los ingenieros tener margen de maniobra para improvisar y aprender mediante prueba y error. El software ecológico sigue siendo un campo emergente, que se limita en gran medida al mundo académico. No hay guías para ingenieros en esta área.
Por último, esta estrategia general debería sugerir las métricas necesarias para medir el progreso. En el caso de las actualizaciones de software, no serían difíciles de configurar (por ejemplo, determinando la cantidad de energía que consume una nueva versión que la versión anterior). Sin embargo, para el software nuevo, sería más difícil definir medidas útiles. Al principio, podrían incluir medidas como la eficiencia en el uso de la memoria, la cantidad de datos utilizados y las operaciones de punto flotante (matemáticas) por segundo.
Revisar y refinar el ciclo de vida del desarrollo del software. Empiece por preguntarse: ¿Cuál es la menor huella medioambiental posible que podríamos dejar con esta aplicación? Utilice esa expectativa para guiar las primeras etapas del ciclo de desarrollo de software. Esta expectativa puede cambiar a medida que vaya adquiriendo conocimientos, pero puede ser de gran ayuda para el estudio de viabilidad y cualquier evaluación de las compensaciones entre enfoques alternativos.
A continuación, elabore recomendaciones sobre, por ejemplo, los algoritmos, los lenguajes de programación, las API y las bibliotecas en las que puede basarse para minimizar las emisiones de carbono. Y requieren una evaluación constante de las alternativas que podrían ser más eficientes. Estas evaluaciones pondrían a prueba la compatibilidad del software con varios diseños de hardware con restricciones de energía, como controles de dispositivos móviles, automóviles y hogares.
En la fase de despliegue, supervise el consumo de energía en tiempo real mediante técnicas como análisis dinámico de código. Los datos que recopile serán fundamentales para entender las brechas entre las opciones de diseño y los perfiles energéticos reales.
Algunas empresas ofrecen herramientas para ayudar a desarrollar sistemas que entiendan la energía y sean cada vez más eficientes. Por ejemplo, Intel ofrece a los desarrolladores herramientas y recursos para gestionar el consumo de energía. La empresa Asistente de desarrollo de software permite a los ingenieros tomar medidas de energía del sistema a medida que ejecuta cargas de trabajo específicas dentro de su aplicación y determinar su eficiencia.
Sin embargo, este tipo de herramientas escasean. Evaluar las principales compensaciones entre las emisiones de carbono y los objetivos empresariales, como la flexibilidad, sigue siendo cuesta arriba.
Haga que la nube sea verde. Las aplicaciones modernas casi siempre se despliegan en la nube. Sin embargo, el crecimiento exponencial de los servicios basados en la nube se ha traducido en la rápida expansión de los centros de datos que consumen mucha energía. Los centros de datos consumen alrededor del 2% de electricidad mundial hoy; para 2030, podrían consumir hasta un 8%.
Hasta la fecha, la mayoría de los esfuerzos para hacer que los centros de datos sean ecológicos se han centrado en optimizar el hardware (reduciendo la incidencia del sobrecalentamiento de los servidores) y reducir las emisiones de carbono (aumentando la combinación de energía renovable que los alimenta). Estas técnicas ayudan a abordar el problema; sin embargo, incluir intervenciones de software sostenibles abre nuevas oportunidades para ahorrar energía.
Por ejemplo, eliminar las copias duplicadas de datos o comprimir los datos en fragmentos más pequeños ahorraría energía. También lo sería implementar unidades de procesamiento gráfico para gestionar las cargas de trabajo en la periferia (cerca del dispositivo o del usuario final), lo que genera eficiencia al dividir las tareas grandes en tareas más pequeñas y dividirlas entre muchos procesadores.
Es probable que la adopción de arquitecturas de servidor más ecológicas resulte crucial para ahorrar consumo de energía. El uso de servidores virtuales, por ejemplo, ayudaría a las empresas a ampliar sus servidores bajo demanda, ahorrando energía en los centros de datos empresariales. Básicamente, la virtualización permite la creación de varios entornos simulados (o recursos dedicados) a partir de un único sistema de hardware físico. La contenedorización, básicamente una mejora con respecto a los sistemas virtuales, es otra opción. Mientras que la informática sin servidor separa las aplicaciones a nivel de hardware, la contenedorización las separa a nivel de sistema operativo.
Las arquitecturas de aplicaciones más recientes, como la informática sin servidores o las funciones como servicio (FaaS), permiten un control aún mayor sobre la capacidad y, por extensión, el consumo de energía. La informática sin servidor, por ejemplo, comparte de manera eficiente los recursos de infraestructura mediante la ejecución de funciones solo bajo demanda. Y dado que factura por tiempo de ejecución, obliga a los programadores a mejorar la eficiencia de sus códigos. Los grandes proveedores de servicios de computación sin servidor, como AWS Lambda y Microsoft Functions, por ejemplo, ofrecen una escalabilidad continua con un modelo de costes de pago por uso.
Ya se trate del teléfono móvil, que requiere un uso más eficiente de los recursos y la potencia de cálculo para ahorrar energía, o del centro de datos en la nube, donde los servidores deben optimizarse para el consumo de energía, la necesidad de software ecológico seguirá aumentando. Si incluye ahora el software en sus iniciativas de sostenibilidad, su empresa tendrá una ventaja en este importante área.
Los autores dan las gracias a Vikrant Kaulgud y Vibhu Saujanya Sharma de Accenture Labs y a Shruti Shalini y Dave Light de Accenture Research sus contribuciones a este artículo.
Artículos Relacionados

La IA es genial en las tareas rutinarias. He aquí por qué los consejos de administración deberían resistirse a utilizarla.

Investigación: Cuando el esfuerzo adicional le hace empeorar en su trabajo
A todos nos ha pasado: después de intentar proactivamente agilizar un proceso en el trabajo, se siente mentalmente agotado y menos capaz de realizar bien otras tareas. Pero, ¿tomar la iniciativa para mejorar las tareas de su trabajo le hizo realmente peor en otras actividades al final del día? Un nuevo estudio de trabajadores franceses ha encontrado pruebas contundentes de que cuanto más intentan los trabajadores mejorar las tareas, peor es su rendimiento mental a la hora de cerrar. Esto tiene implicaciones sobre cómo las empresas pueden apoyar mejor a sus equipos para que tengan lo que necesitan para ser proactivos sin fatigarse mentalmente.

En tiempos inciertos, hágase estas preguntas antes de tomar una decisión
En medio de la inestabilidad geopolítica, las conmociones climáticas, la disrupción de la IA, etc., los líderes de hoy en día no navegan por las crisis ocasionales, sino que operan en un estado de perma-crisis.