En su presentación de Devoxx en el Reino Unido, Holly Cummins, ingeniera principal de software sénior en Redhat, presentó enfoques que podrían hacer que las aplicaciones Java sean más rentables y energéticamente eficientes. Al mostrar el trabajo realizado por su equipo con quarkus, afirma que elegir sabiamente entre la JVM o las opciones nativas en su aplicación puede ahorrar hasta el doble de costos y carbono.
Su presentación comenzó compartiendo estadísticas que señalan que la industria de TI está generando más emisiones de carbono que la aviación. El consumo necesario solo para el funcionamiento de los centros de datos es similar a la energía requerida por Corea del Sur. Al agregar tráfico de crimson a la ecuación, el consumo supera al del Reino Unido o Brasil.
Ella sugiere que en lugar de tomar el «camino de la desesperación» y renunciar a la acción, todos podemos ser «solucionistas» y actuar para disminuir las emisiones. Más que ser «lo que hay que hacer», la empresa se beneficiará de reducciones de costes e incluso mejores puntuaciones medioambientales, sociales y de gobierno.
Además, señala como un lugar adecuado para comenzar los principios de la fundación de software verde que se basan en tres pilares: conciencia del carbono, components y eficiencia eléctrica.
Concienciación sobre el carbono: dónde y cuándo consumes electricidad
Todo se reduce a la fuente de la electricidad, actualmente, la fuente de energía más sucia es el carbón. Quemarlo resulta en grandes cantidades de emisiones de CO2. Diferentes partes del mundo utilizan diferentes medios para generar su electricidad, dependiendo del área específica. Elegir un proveedor de nube que sea transparente acerca de dónde están los centros de datos hace que sea más fácil decidir.
También importa la hora del día, ya que las fuentes de energía renovable son intermitentes. Ella señala que podemos programar trabajos por lotes pesados en momentos apropiados cuando la energía es verde. La mayoría de las veces, ella señala que también es más barato.
Ella da un ejemplo de Virginia, EE. UU.: por un lado, está cerca de donde sale el cable de Online del Atlántico, lo que significa que varios centros de datos están apilados cerca y por otro lado, la abundancia de carbón en la zona, por lo que es la elección obvia como medio de generación de electricidad.
Eficiencia del components: elasticidad de la infraestructura proporcional a la utilización
Al citar una encuesta de 2017, se afirma que 16000 servidores no hacen ningún trabajo útil y una de 2014 afirma que el 29 % de los servidores no están activos el 5 % del tiempo. Ella presenta el concepto de LightSwitchOps: apagar su infraestructura cuando las aplicaciones no se están ejecutando.

Sí, desactivar aplicaciones da miedo

Para poder hacer esto, requieren tiempos de inicio rápidos, resiliencia e idempotencia.
Eficiencia eléctrica: la pila que usamos y qué tan eficientes son los algoritmos
Partiendo de un artículo académico que midió varios lenguajes de programación midiendo el consumo de energía en comparación con el tiempo, la energía y la memoria, afirma que Java no es tan malo, está en la quinta posición después de C, Rust, C++ y Ada, pero superando a Go, lo que llevó a la afirmación de que «compilado no es necesariamente mejor».
Acercándose aún más a Java, citó otro artículo académico centrado en ejecutar la JVM:

Nuestros resultados muestran que algunas plataformas JVM pueden exhibir hasta un 100 % más de consumo de energía

Usando el well known adagio de desarrollo de software package «medir, no adivinar», presenta el trabajo realizado por el equipo de Pink Hat trabajando en Quarkus para estar más conscientes del consumo que tiene el marco.

Digresión: medir el carbono es duro

Después de enumerar las opciones que se tomaron en consideración, como la medición de potencia de pared o los RAPL, se remite al documento al que se hizo referencia anteriormente y hace la observación de que:

El consumo de energía (más o menos, en su mayoría) es proporcional al tiempo de ejecución

y afirmando además que reducir su gasto en infraestructura «(probablemente) reducirá su huella de carbono». Dados los presumiblemente menores requisitos computacionales de quarkus, señala las conclusiones de sus pruebas:
- 
- Desde una perspectiva de densidad: en comparación con la JVM clásica, Quarkus reduce el carbono aproximadamente 2 veces, la versión nativa tiene una huella de carbono incluso menor.
- Desde una perspectiva de capacidad: en comparación con la JVM clásica, Quarkus reduce el carbono aproximadamente de 2 a 3 veces, la versión nativa take in más carbono que incluso la JVM.


En la última parte de su presentación, brinda un repaso sobre los casos de uso de cuándo usar JVM o Java nativo para su aplicación. Si su aplicación se considera para la alta carga de trabajo (mucho rendimiento), procesos de larga duración (que se pueden calentar), carga de trabajo estable o muy poca elasticidad en la orquestación subyacente, entonces es más adecuada para JVM. Por otro lado, la opción nativa es adecuada para una carga de trabajo baja, hardware antiguo/con recursos limitados y una gran cantidad de reimplementaciones (las aplicaciones nunca se calientan antes de desactivarse) o sin servidor.
Concluye con acciones concretas que se pueden tomar para contribuir a disminuir la huella de carbono. Por lo tanto, lo alienta a usar su poder adquisitivo para alentar a las empresas a tomar decisiones más ecológicas tanto para las soluciones de alojamiento como para el software program de consumo. Asegúrese de «apagar» la infraestructura que no está utilizando. Elija lenguajes y marcos que ahorren energía. Ella afirma que además de tener un menor impacto en el planeta, estas acciones garantizarán también un gasto eficiente: según ella, solo en 2021 los «servidores zombis» desperdiciaron $ 26,6 mil millones.