Java™ sigue siendo uno de los lenguajes de programación más populares entre los desarrolladores, pero presenta ciertos inconvenientes en lo que respecta a los contenedores y Kubernetes. Gracias a Quarkus, más de siete millones de desarrolladores de Java tienen la oportunidad de seguir diseñando aplicaciones nuevas con los marcos que ya conocen.
Quarkus y la productividad de los desarrolladores
Quarkus es un marco pensado para mejorar la productividad de los desarrolladores, lo cual implica que las empresas puedan responder en menos tiempo a las condiciones cambiantes del mercado mediante el desarrollo y la implementación de aplicaciones nuevas con mayor rapidez. Para ello, ofrece funciones como la programación interactiva e improvisada, que permite agilizar los ciclos de desarrollo interno; la integración con los IDE, como Red Hat CodeReady Workspaces; y API que trascienden los estándares tradicionales de Java. Los desarrolladores pueden aprovechar la eficiencia de Quarkus para Kubernetes y, al mismo tiempo, utilizar una combinación de estándares, como MicroProfile, las API de Spring Framework y otros marcos populares actuales.
El traslado de las aplicaciones de Spring Boot a Quarkus
Trasladar las aplicaciones de Spring Boot a Quarkus y Red Hat OpenShift es más sencillo de lo que imagina. El kit de herramientas de migración para aplicaciones (MTA) puede revisar su cartera de aplicaciones Java analizando el código fuente, o incluso los códigos binarios, y evaluando una gran cantidad de posibilidades de transformación (Java EE, los JDK, Linux, la organización en contenedores y Quarkus, entre otros), lo cual agiliza el proceso de migración.
La versión 5.1 del MTA incluye soporte adicional para la migración de Spring Boot a Quarkus.
¿Qué es Quarkus?
Se trata de un marco que permite diseñar aplicaciones Java para Kubernetes, las cuales se ejecutan en las máquinas virtuales Java (JVM) tradicionales o como archivos ejecutables compilados directamente para la plataforma. Quarkus disminuye el tiempo de arranque y el uso de la memoria, y se integra con los marcos de Java y las herramientas actuales de los desarrolladores para agilizar el diseño y la implementación de las aplicaciones. Además, permite ejecutar las aplicaciones Java que trabajan con otras aplicaciones (sin sistema operativo, de microservicios, en contenedores, de Kubernetes, entre otras) en la nube híbrida.
NOCIONES SOBRE QUARKUS
El marco se diseñó para desarrollar aplicaciones compactas y eficientes para los tiempos de ejecución tradicionales de la máquina virtual de Java (JVM), como OpenJDK, y también permite generar códigos binarios ejecutables para una optimización aún mayor. Es fundamental realizar la mayor parte del trabajo durante la etapa de diseño, que se lleva a cabo una sola vez en todo el ciclo de vida de la aplicación. Durante esta fase, Quarkus compila la aplicación en códigos de bytes tradicionales de Java, carga y analiza la configuración, procesa las anotaciones, diseña los metamodelos de los marcos y, finalmente, conecta todos estos elementos en una aplicación Java ejecutable tradicional (un archivo JAR). Durante la ejecución, no se necesita memoria, CPU ni tiempo para realizar estos pasos, lo cual agiliza el inicio de la aplicación.
COMPILACIÓN DIRECTA
Las aplicaciones de Quarkus se pueden compilar en archivos ejecutables para la misma plataforma, lo cual aumenta la eficiencia. Se utiliza Mandrel, la distribución downstream de GraalVM, para analizar la aplicación en busca de instrucciones de código que no se utilizarán nunca en el tiempo de ejecución, y eliminarlas del archivo ejecutable. Como resultado, se obtienen aplicaciones pequeñas y ligeras, las cuales se inician en decenas de milisegundos y requieren decenas de megabytes de memoria durante la ejecución.