Subscribe to our Newsletter!
By subscribing to our newsletter, you agree with our privacy terms
Home > Green coding: otra contribución a la sostenibilidad de las TI
mayo 29, 2023
En una época en la que la sostenibilidad y la optimización de recursos se mencionan con frecuencia en los entornos informáticos, también está ganando espacio un concepto, el de desarrollo de software ecológico o green coding.
Lo que venía ocurriendo hasta hace unas décadas es que había restricciones tecnológicas, como una potencia de procesamiento y un ancho de banda limitados, que obligaban a los desarrolladores a prestar más atención para reducir el tamaño y la complejidad de los códigos generados. Con el avance y la mayor disponibilidad de recursos de hardware, este cuidado se ha dejado de lado en gran medida. Hoy, con la sostenibilidad en boga, esta atención ha vuelto a entrar en escena en forma de green coding.
Considerada un segmento de la informática ecológica, green coding es una práctica que trata de minimizar la energía necesaria para procesar líneas de código y ayudar así a las organizaciones a reducir el consumo total de energía y las emisiones de gases de efecto invernadero. Cuando empezaron a pensar en la sostenibilidad de las TI, estas organizaciones abordaron temas como la energía verde, la eficiencia del hardware y el tratamiento de los residuos electrónicos, pero sólo ahora está entrando de nuevo en el pelotón el desarrollo eficiente de software.
Fundada en 2021, la Green Software Foundation trabaja para construir un ecosistema fiable de personas, normas, herramientas y buenas prácticas destinado a contribuir al desarrollo sostenible de software. La intención es cambiar la cultura de creación de líneas de código de forma que la sostenibilidad sea una pieza central para los equipos de desarrolladores tan importante como el rendimiento, la seguridad, el coste y la accesibilidad.
En este empeño, la fundación subraya que el desarrollo de software ecológico abarca su ciclo de vida completo, es decir, la creación, el funcionamiento y la eliminación (reutilización). Hace algunas recomendaciones para ayudar a este proceso concentradas en cuatro áreas: diseño y opciones de codificación, elección del lenguaje de programación, selección de modelos de Inteligencia Artificial y desarrollo de software.
Opciones de diseño y codificación: (1) Mantener la atención y el control de los recursos que consumen más energía y los escenarios de uso más comunes; (2) Reducir el uso de datos; (3) Eliminar los recursos no utilizados; (4) Detectar y eliminar los bucles que no consigan el objetivo previsto; (5) Adaptar el comportamiento del software de la aplicación según el modo de alimentación del dispositivo u otras condiciones de funcionamiento; (06) Limitar la precisión computacional al nivel deseado; (7) Supervisar el consumo de energía de la aplicación en tiempo real para identificar los módulos que pueden optimizarse.
Elección del lenguaje de programación: (8) Hay varios factores a tener en cuenta, por lo que la recomendación es hacer una evaluación detallada, teniendo en cuenta los criterios más relevantes, como el consumo de energía, la velocidad y el uso de memoria.
Selección de modelos de Inteligencia Artificial: (9) Estos modelos pueden ser más sostenibles si se han desarrollado y utilizado consumiendo menos energía y compartiendo código reproducible para reducir la duplicación de esfuerzos; y se basan en hardware especializado optimizado para cargas de trabajo de IA.
Desarrollo de software: (10) Controlar el consumo de energía en tiempo real durante el desarrollo, utilizando técnicas como el análisis dinámico de código.
A principios de este año, Microsoft publicó un white paper en el que describía su trabajo conjunto con la organización sin ánimo de lucro WattTime, dedicada a la tecnología medioambiental y promovida a través de la Green Software Foundation. Juntos fueron pioneros en la primera aplicación de reconocimiento del carbono para empresas y abrieron el código fuente de las herramientas y la arquitectura.
Las dos organizaciones contribuyen también al desarrollo de una nueva especificación conocida como Software Carbon Intensity (SCI), destinada a medir el impacto de carbono de los sistemas de software. También han creado un kit de desarrollo de código abierto que ayuda a ejecutar el software cuando y donde la energía es más limpia. La combinación de estos dos proyectos permitirá a los desarrolladores «descarbonizar» el software.
La sostenibilidad de las arquitecturas de software y datos no ha sido una prioridad para las empresas, en parte debido a varios conceptos erróneos, señala la consultora Mckinsey. Muchos responsables de TI creen que la huella energética del software es casi insignificante o que ya está suficientemente optimizada. Por eso, a menudo se pasa por alto el desarrollo de software cuando se piensa en la eficiencia energética, lo que acarrea costes innecesarios debido a una mayor complejidad y un menor rendimiento.
Según McKinsey, hay cinco patrones que dan lugar a arquitecturas de software y datos ineficientes desde el punto de vista energético. Los desarrolladores deben centrarse en los siguientes, que presentan lagunas de optimización en términos de mantenibilidad, reutilización, rendimiento y funcionalidad.
Para reducir significativamente la huella global del software y los datos, se recomienda abordar las fuentes subyacentes de emisiones teniendo en cuenta los tres factores que se muestran en el siguiente gráfico.
septiembre 13, 2023
septiembre 08, 2023
septiembre 05, 2023
agosto 04, 2023
julio 31, 2023
julio 28, 2023
julio 24, 2023
Previous
10 herramientas esenciales de monitorización de redes Cisco
Next
Principales empresas europeas de tecnología verde