Iniciar sesión / Registrar Cuenta

Aplicaciones nativas de la nube

¿Qué es Quarkus?

Quarkus es un marco de Java integral y creado en Kubernetes para las compilaciones originales y las máquinas virtuales Java (JVM), el cual permite optimizar esta plataforma especialmente para los contenedores y para los entornos sin servidor, de nube y de Kubernetes.

Se diseñó para que funcione con las bibliotecas, los marcos y los estándares de Java conocidos, como Eclipse MicroProfile y Spring (ambos se presentaron como parte de una sesión en el evento Red Hat Summit 2020), así como también Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Infinispan, Camel y muchos más.

La solución de inyección de dependencias de Quarkus se basa en la inyección de dependencias y contextos (CDI), e incluye un marco de extensión para ampliar las funciones y configurar, iniciar e integrar un marco en las aplicaciones. Dado que agregar una extensión es tan sencillo como incorporar una dependencia, puede optar por esa opción o utilizar las herramientas de Quarkus.

Además, proporciona la información correcta a GraalVM (una máquina virtual universal para ejecutar aplicaciones escritas con varios lenguajes, incluidos Java y JavaScript) para la compilación propia de las aplicaciones.


Creado para desarrolladores

Quarkus se diseñó para que fuera fácil de utilizar desde el principio, y cuenta con características que funcionan correctamente con poca o ninguna configuración.

Los desarrolladores pueden elegir los marcos de Java que deseen para sus aplicaciones, los cuales pueden ejecutarse en modo JVM o compilarse y ejecutarse en el modo original.

Quarkus se diseñó para beneficiar a los desarrolladores, por eso incluye:

  • Programación en vivo, para que puedan verificar de inmediato el efecto de los cambios en el código y solucionarlos rápidamente
  • Programación imperativa y reactiva unificada con un bus integrado de eventos gestionados
  • Configuración unificada
  • Creación sencilla de archivos ejecutables nativos

Primero los contenedores

No importa si una aplicación se aloja en una nube pública o en un clúster de Kubernetes interno, el inicio rápido y el poco consumo de memoria son importantes para mantener bajos los costos generales del host.

Quarkus se diseñó en torno a una filosofía que da prioridad a los contenedores, lo cual significa que se encuentra optimizado para disminuir el uso de la memoria y acelerar los tiempos de inicio con:

  • Respaldo de primer nivel para GraalVM y SubstrateVM
  • Procesamiento de metadatos en tiempo de compilación
  • Reducción en el uso del proceso de reflexión
  • Inicio previo de imágenes nativas

Por lo tanto, Quarkus compila aplicaciones que consumen un décimo de la memoria en comparación con Java tradicional, y ofrece tiempos de inicio hasta 300 veces más rápidos, lo cual reduce significativamente el costo de los recursos de la nube.


Programación imperativa y reactiva

Quarkus está diseñado para combinar a la perfección la programación imperativa conocida con la reactiva sin bloqueos durante el desarrollo de aplicaciones.

Esta característica resulta útil tanto para los desarrolladores de Java que suelen trabajar con el modelo imperativo y no desean cambiar las cosas, como para aquellos que trabajan con un enfoque reactivo/nativo de la nube.

El modelo de desarrollo de Quarkus se adapta a cualquier aplicación en proceso de desarrollo.

Además, es una solución efectiva para ejecutar Java en este mundo nuevo de la arquitectura sin servidor, los microservicios, los contenedores, Kubernetes, la función como servicio (FaaS) y la nube, ya que se creó teniendo en cuenta todos estos elementos.

Quarkus y la tecnología nativa de la nube tienen mucho más que ofrecer