Accedi / Registrati Account

Applicazioni cloud native

Cos'è Quarkus?

Quarkus è un framework Java Kubernetes native valido per tutto lo stack, realizzato per le macchine virtuali Java (JVM) e per la compilazione nativa. Il framework ottimizza Java specificamente per i container, trasformandolo in una piattaforma efficiente per ambienti serverless, cloud e Kubernetes.

Quarkus è progettato per operare con gli standard, i framework e le librerie Java più diffuse, come Eclipse MicroProfile e Spring (il cui funzionamento in sinergia è stato mostrato durante una sessione del Red Hat Summit 2020), Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, Camel e molte altre.

L'inserimento della dipendenza di Quarkus si basa su CDI (Contexts and Dependency Injection) e include un framework di estensione per ampliare le funzionalità e configurare, avviare e integrare un framework nell'applicazione. L'aggiunta di un'estensione è facile come quella di una dipendenza, ma in alternativa è possibile utilizzare gli strumenti di Quarkus.

La soluzione fornisce le informazioni corrette a GraalVM (una macchina virtuale universale che esegue app scritte in numerosi linguaggi, inclusi Java e JavaScript) per la compilazione nativa della tua applicazione.


Progettato per gli sviluppatori

Quarkus è altamente intuitivo, grazie a funzionalità che non richiedono configurazione.

Gli sviluppatori possono scegliere i framework Java che preferiscono per le proprie applicazioni, che possono essere eseguite in modalità JVM oppure compilate ed eseguite in modalità nativa.

Pensato per essere apprezzato dagli sviluppatori, Quarkus include anche le seguenti capacità:

  • Codifica live, per controllare immediatamente gli effetti delle modifiche apportate al codice e risolvere rapidamente i problemi
  • Programmazione imperativa e reattiva unificata, con un bus eventi gestito integrato
  • Configurazione unificata
  • Generazione semplificata di eseguibili nativi

I container innanzitutto

Che sia ospitata su un cloud pubblico o in un cluster Kubernetes su hosting interno, alcune caratteristiche di un'applicazione, come l'avvio rapido e il consumo di memoria ridotto, contribuiscono a contenere i costi complessivi di hosting.

La filosofia su cui si fonda Quarkus mette i container al primo posto; ciò significa che la soluzione è ottimizzata per un ridotto consumo di memoria e per tempi di avvio rapido grazie a:

  • Supporto di alta qualità per Graal/SubstrateVM
  • Elaborazione dei metadati in fase di compilazione
  • Minor utilizzo della reflection
  • Preavvio dell'immagine nativa

Quarkus consente di creare applicazioni che consumano 1/10 della memoria rispetto al tradizionale Java, con tempi di avvio fino a 300 volte più rapidi, entrambi aspetti che riducono fortemente il costo delle risorse cloud.


Codice imperativo e reattivo

Nello sviluppo delle applicazioni, Quarkus è progettato per combinare il familiare codice in stile imperativo e quello in stile reattivo, non bloccante.

In questo modo, il prodotto viene incontro sia agli sviluppatori Java abituati a utilizzare il modello imperativo e poco propensi al cambiamento, sia a quelli che lavorano con un approccio cloud native/reattivo.

Il modello di sviluppo di Quarkus è adattabile a qualsiasi app si stia sviluppando.

Quarkus è una soluzione efficace per eseguire Java nel nuovo contesto di architettura serverless, microservizi, container, Kubernetes, Function-as-a-Service (FaaS) e cloud, perché è stata progettata proprio tenendo a mente queste esigenze.

Approfondisci Quarkus e il cloud native