Te explicamos los principales motivos por los que Quarkus está ganando en importancia en la actualidad, en estos tiempos en los que cada vez se tiende a depender cada vez más del cloud y de los servicios en la nube.
Un poco de historia
En el año 1999 fue cuando Java empezó a ser muy popular para realizar aplicaciones web. En ese momento el coste que tenía poder poner una aplicación Java en producción de una forma correcta era más o menos de medio millón de dólares, como podemos ver en la siguiente imagen.
Los motivos de este elevado coste eran los siguientes:
- Había que comprar los servidores hardware, ya que todo el hardware se tenía in-house.
- Se necesitaba tener un servidor de aplicaciones y una base de datos.
- Incluso se necesitaba comprar las licencias de un IDE, ya que no existían ni IntelliJ, ni NetBeans ni Eclipse.
En resumen, se necesitaba tener mucho dinero para poder desarrollar un aplicación Java y luego desplegarla en servidores que se tenían en la propia empresa.
En la actualidad
Hoy en día esto ya no es así, ya que las aplicaciones no sé despliegan en lo que serían los propios servidores, sino que se colocan en la nube, que ya no tiene un coste de medio millón de dólares.
En este caso se cobra simplemente por el uso que se hace de la misma, cuánta más CPU se use y cuánta más memoria se use, se cobra un mayor precio por hora, es decir, actualmente el coste ya no es fijo, sino que el coste se genera por horas de uso.
Esto implica que hoy en día en el desarrollo de aplicaciones sea muy importante el uso que se hace de la CPU y el uso que se hace de la memoria, por lo que conseguir hacer correr un servicio con menos consumo de CPU y de memoria.
Esto implicará un ahorro de costes, ya que la tecnología que permita reducir este uso de recursos implicará que sea más barata a la hora de facturar el uso por hora.
Por este motivo, al poder compilar en nativo un código Java Enterprise, lo que implica usar menos memoria y menos CPU, Quarkus es una solución totalmente recomendable para bajar el coste por hora de una aplicación subida al cloud.