Logotipo de Quarkus
16/07/2024

Cómo las aplicaciones Java ecológicas que utilizan Quarkus contribuyen a la sostenibilidad ambiental

Montevideo, 15 de julio de 2024.

Según el Informe Clicking Clean 2017 de Greenpeace, la industria de las Tecnologías de la Información (TI) representan el 7% de consumo energético a nivel mundial. Las empresas del sector TI han suscrito compromisos significativos en la priorización del uso de energías renovables y la reducción de emisiones de carbono. Sofis Solutions como empresa de servicios y con fuerte orientación al desarrollo de software a medida, busca contribuir a la reducción de la huella de carbono. Por ello, aplica principios, actividades y herramientas que se ejecutan durante el ciclo de vida del desarrollo de software.


En relación con ello y como parte de su estrategia sostenible, Sofis Solutions incorporó la iniciativa #GreenSofis que tiene como objetivo definir y desarrollar buenas prácticas, metodologías, herramientas y recomendaciones para la incorporación de aspectos de sostenibilidad en el proceso de construcción de software, abordando aspectos ambientales, sociales y de gobernanza. 

A través de esta iniciativa la compañía incorpora prácticas sostenibles en el ciclo de gestión de proyectos y el ciclo de vida del software, aspectos Green en el diseño de las interfaces de usuario, buenas prácticas de usabilidad web y la incorporación de estimación energética en la herramienta SofisBPM.

Las aplicaciones Java generalmente se han caracterizado por tener tiempos de inicialización largos. Optimizar los tiempos de inicio se ha convertido en una necesidad para arquitecturas orientadas a servicios. Por ello, en la actualidad se incorporan mejores prácticas ecológicas y sostenibles para reducir el consumo del uso de recursos y tiempos de respuesta de la aplicación, mejorando de esta manera su velocidad y eficiencia. Caso de ello, son las aplicaciones Java ecológicas utilizando Quarkus, con el cual es posible mejorar considerablemente el software producido. 

Quarkus permite a los desarrolladores de Java crear aplicaciones nativas de la nube de forma rápida y eficiente. Una aplicación Quarkus puede ejecutarse en la máquina virtual de Java (JVM) o puede compilarse en un binario nativo utilizando GraalVM, siendo esta última opción la que brinda mayor velocidad de inicio. Una aplicación REST de Quarkus se inicia en aproximadamente una cuarta parte del tiempo que los stacks tradicionales nativos de la nube. En modo JVM, la huella de memoria de la aplicación Quarkus es poco más de la mitad de la memoria de un framework tradicional, y en modo nativo, es alrededor de la décima parte. Estas cifras de huella de memoria y tiempo de inicio se traducen en un menor consumo de energía durante la vida útil de una aplicación. 

Los ingenieros de rendimiento de Quarkus realizaron experimentos, utilizando RAPL para monitorear el consumo de energía. A través de estos experimentos, se comprobó que las aplicaciones que se ejecutaron en Quarkus son responsables de un consumo de energía menor y por lo tanto la emisión de carbono es menor en comparación con la misma aplicación ejecutada en un marco tradicional nativo de la nube

Como parte de la ejecución de la metodología #GreenSofis, Sofis Solutions ha utilizado Quarkus como herramienta en la ejecución de algunos proyectos para contribuir a la reducción del consumo de energía y de la huella de carbono:

  • Actualización de la arquitectura del Sistema Integrado de Información Financiera (SIIF) del Ministerio de Economía y Finanzas de Uruguay (MEF), para agilizar y mejorar su eficiencia. En este proyecto Quarkus se utilizó como framework de backend, por su capacidad para cumplir con todos los requisitos críticos. La combinación de Quarkus y Kubernetes proporciona un entorno ideal para crear aplicaciones escalables, rápidas y livianas. Nuestras aplicaciones y herramientas se implementan en dos clústeres de Kubernetes locales para entornos de producción y no producción.
  • Censo 2023 Uruguay del Instituto Nacional de Estadísticas (INE), donde se utilizó una arquitectura basada en microservicios, utilizando el Stack Java Quarkus. La arquitectura presentaba diferentes bondades necesarias para el proyecto, como el bajo acoplamiento, la alta cohesión, la posibilidad de escalar de forma automática y el buen uso de los recursos siguiente la metodología de #GreenSofis. 

En conclusión, la ejecución y uso de Quarkus contribuye a la reducción de las emisiones de carbono de diferentes formas, soporta elasticidad, lo que significa que los servidores pueden mantenerse completamente apagados hasta que sean necesarios, es un framework altamente eficiente, y las aplicaciones que se ejecutan con él utilizarán menos recursos.