Blog

Ingeniería de software sostenible gracias a las pruebas de performance

La optimización de testing de performance puede contribuir a lograr una ingeniería de software sostenible. ¿Por qué la huella de carbono digital es cada día más grande? ¿Qué prácticas son recomendables para reducirla? Entérate de todo en este artículo, con una entrevista a Mercedes Quintero, Federico Toledo y Andréi Guchin.

Cada día existe mayor conciencia global acerca de la trascendencia de reducir el impacto ambiental individual y corporativo, cada cual desde su lugar. Sin embargo, en plena transformación digital, la huella de carbono digital aumenta sin cesar.

Uno de los motivos es, sin dudas, el creciente impacto ambiental por el consumo de energía eléctrica en los Data Centers. De acuerdo al estudio “Impacto ambiental por consumo de energía eléctrica en los Data Centers”, publicado en 2021 y levantado por Scielo, “La industria de las TIC es responsable por alrededor del 2.5% al 3% de las emisiones globales de gases de efecto invernadero y se prevé que este número aumente a un 14% hasta 2040”.

Existen diferentes predicciones al respecto. Según un estudio de la Universidad McMaster de Canadá citado por la misma investigación, el sector de las TIC consumió entre el 6% y el 10% de la energía eléctrica generada en el mundo en 2018, y el porcentaje total de energía consumida podría superar el 21% para 2030, “similar a la huella de carbono que genera el transporte a nivel mundial”.

Estimaciones de The Shift Project

Antes de continuar, ¿por qué la huella de carbono del universo digital es tan grande? El informe citado explica que las tecnologías digitales forman un sistema global: “terminales (teléfonos inteligentes, computadoras, tabletas, entre otros) conectadas entre sí a través de infraestructuras de red (cables terrestres y submarinos, antenas redes móviles, fibras ópticas, entre otros), con el fin de intercambiar información almacenada y procesada en los Data Centers“.

Cada uno de estos elementos requiere energía tanto para operar como para ser producidos: minería de materias primas, procesos industriales y más.

Sumado a todo esto, según el Global E-Waste Monitor (GEM) 2020, en 2019, el mundo generó 53,6 millones de toneladas métricas de desechos electrónicos en 2019, un 21% más en solo cinco años, y solo el 17,4% de ellas fueron oficialmente documentadas, debidamente recogidas y recicladas.

Cada acción llevada adelante de modo digital, desde el envío de correos electrónicos hasta las descargas, búsquedas y pagos digitales, implican grandes procesamientos de datos y almacenamiento de archivos. Una estrategia de testing de performance que contemple la huella de carbono digital, como parte del ciclo de vida del desarrollo de software, puede ser una gran aliada para lograr una ingeniería de software sostenible.

¿Cómo podemos lograrlo? ¿Qué acciones específicas pueden llevarse adelante con estos objetivos? Conversamos de todo esto con Mercedes Quintero, CEO de Abstracta Colombia; Federico Toledo, Chief Quality Officer de Abstracta; y Andréi Guchin, líder del hub de testing de performance de Abstracta.

Expertos en ingeniería de software sostenible y pruebas de performance - Abstracta

¿Cómo influyen las pruebas de performance en la eficiencia energética y cuidado del medio ambiente?

Mercedes Quintero: Las pruebas de performance permiten evaluar cómo se comporta un producto en términos de estabilidad, escalabilidad, capacidad y velocidad. Los resultados obtenidos con las pruebas de performance le facilitan a las organizaciones obtener información sobre cuellos de botella de una aplicación, niveles de rendimientos, comparación de sistemas para saber cuál es el que mejor funciona, y entregar mejoras de la infraestructura.

En este contexto, los objetivos asociados a desarrollar equipos y productos más eficientes y potentes energéticamente se verán altamente beneficiados al utilizar este tipo de pruebas, desde la concepción misma del requisito.

Federico Toledo: Se suele decir que si tenés un sistema que está en en el Cloud, escala sin problemas. Pero ¿esto es así? Si los problemas de performance los solucionamos con más hardware, estamos generando otros problemas colaterales: por un lado nos costará más dinero darle soporte al uso del sistema, lo cual afecta directamente la rentabilidad del negocio.

Por otro lado, estamos teniendo un impacto ambiental, tanto en el consumo de energía como en la necesidad de tener más hardware que, sin lugar a dudas, conlleva a más minería y más basura, entre otras cosas. Es difícil ver la relación entre la performance de un sistema y la sostenibilidad ambiental del mismo, pero teniendo esto en cuenta, podemos contribuir nuestro granito de arena si logramos que nuestros sistemas sean más eficientes, es decir que logren más con menos recursos.

Esto podemos verlo también en las aplicaciones móviles. Si una app consume mucha batería, tendrás que cargar más seguido el celular, lo cual a la larga afecta hasta la vida útil del dispositivo.

Andréi Guchin: Uno de los principales objetivos de las pruebas de performance es lograr un uso eficiente de los recursos del sistema en todos los niveles, lo cual impacta directamente en el uso eficiente de la energía.

En el pasado, cuando predominaban los sistemas on-premise, seguramente esto se veía de forma más clara ya que era posible observar el consumo energético de los servidores directamente en la factura de luz. Hoy en día, con los sistemas hosteados en la nube, es más difícil relacionarlo, pero sin dudas ese impacto sigue existiendo.

Muchas veces, no se repara en sí escalar la carga tiene alguna incidencia o impacto en nuestro planeta, y eso puede llevar a desarrollar de manera no eficiente. ¿Cómo podemos ayudar desde el análisis y optimización de testing de performance para lograr una ingeniería de software sostenible?

Mercedes Quintero: Involucrar al área de testing desde el inicio de los proyectos y en todas las fases del ciclo de vida del desarrollo de software ha sido un tema de debate durante muchos años. Frente a esta problemática, se nos presenta la enorme oportunidad de fortalecer de manera consciente a los involucrados.

Este problema tecnológico repercute en un fenómeno social y climatológico, y debería contar con la perspectiva de un equipo en el cual participen lo que podríamos llamar “testers de performance sostenible”. El objetivo de esto sería fortalecer la evaluación y creación de los requisitos que adopten buenas prácticas en búsqueda de soluciones que requieran menos consumo energético y que, en definitiva, contemplen los principios de ingeniería de software sostenible

¿En qué consisten esas buenas prácticas? ¿Qué medidas podrían ajustarse para lograr contribuir con la eficiencia energética y un mundo más sostenible?

Mercedes Quintero: La Ingeniería de software sostenible como disciplina emergente podría comenzar a crear roles como Ingenieras e ingenieros de software sostenible, con lo cual quizá se deba iniciar pensar en nuevos roles, ¿quizás “Performer tester de software sostenible”? Más allá del nombre, lo que es seguro es que estos roles podrían incorporar la evaluación de principios de la ingeniería sostenible como en su estrategia de testing.

¿Cuáles son esos principios que deberían evaluar?

Mercedes Quintero: Entre ellos, destacan:

✔️Ampliar la vida útil del hardware, con el fin de reducir la producción de los contaminantes residuos electrónicos. Para lograrlo, además de los diferentes cuidados necesarios, medir que el software que se está creando sea capaz de funcionar en hardware antiguo. Cuanto más software pueda funcionar de esa forma, menos contaminación generaremos.

✔️Calcular la huella de carbono.

✔️Evaluar que se reduzca la cantidad de datos a enviar y/o recibir y su distancia recorrida.

✔️Realizar acciones para favorecer que la demanda de la aplicación coincida con el suministro eléctrico del momento, de tal modo que se “autorice” aumentar la demanda de la aplicación cuando haya un alto suministro de energía renovable.

✔️Concebir requisitos que reduzcan las expectativas de usuarios respecto a la intensidad de carbono.

✔️Medir la eficiencia del hardware.

✔️Medir el consumo de energía de las aplicaciones en segundo plano en los móviles y servidores.

¿Las nuevas generaciones de testers son más responsables en estos aspectos? ¿Invierten más esfuerzos en ello en pos de un mundo sostenible?

Sostenibilidad y Tecnología: Impacto del Testing de Performance

Mercedes Quintero: Esta disciplina emergente tiene aún muchas oportunidades dentro de las organizaciones, instituciones educativas y gobierno para llevarla a todos los sectores que permitan fortalecer la comunidad en torno al conjunto de competencias necesarias para diseñar y evaluar aplicaciones de software sostenibles. Estoy segura de que, con la marcada tendencia de la sostenibilidad climatológica a nivel mundial, estamos a pocos pasos de tener testers mucho más entrenados formalmente.

Ya existe una tendencia de desarrollar aplicaciones Green. De ese modo, se invierte en el conocimiento y creación de estrategias que permiten evaluar productos desde el enfoque de la ingeniería sostenible. Creo que, de a poco, los testers estamos comenzando a ser parte de la filosofía de la Ingeniería del software sostenible.

Federico Toledo: Aún no he visto mucho al respecto. En el grupo Alarcos, en España, donde hice mi doctorado, había toda una línea de investigación en desarrollos de sistema sostenibles, pero no sé qué tanto de eso se ha adoptado en la industria. Ojalá en poco tiempo veamos más concientización al respecto. Creo que no faltará mucho para que las empresas comiencen a poner más foco en cumplir ese objetivo de huella de carbono, y quizá el desarrollo de software tenga que ajustarse para optimizar el uso de recursos y contribuir así con estos objetivos.

¿De qué forma? No asumiendo que la escalabilidad se logra pasando el sistema a la nube y que se usen los servidores que lleve y listo, sino tomando conciencia que a más eficiencia, menos servidores se van a requerir. Todo esto, en la sumatoria, termina implicando menos minería, menos contaminación, menos desperdicios, menos generación de calor, etc.

Andréi Guchin: Mi sensación es que las nuevas generaciones en general, no necesariamente los testers, están tomando más consciencia en lo que respecta a vivir de una forma más sustentable. Creo que esto es algo muy positivo, ya que en el futuro estas generaciones serán las responsables de los mercados, la industria y el mundo en general. Sin embargo, de acuerdo a lo que vemos a diario respecto a la situación actual del planeta, no deberíamos esperar a que las nuevas generaciones se hagan cargo, hay que empezar a actuar ahora.


¡Síguenos en LinkedinTwitterInstagram y Facebook para ser parte de nuestra comunidad y estar al tanto de otras buenas prácticas sobre ingeniería de software sostenible!




183 / 229