Login / Registre-se Account

Aplicações nativas em nuvem

O que é Quarkus?

Jump to section

Quarkus é um framework Java nativo em Kubernetes e de stack completo que foi desenvolvido para máquinas virtuais Java (JVMs) e compilação nativa. Ele otimiza essa linguagem especificamente para containers, fazendo com que essa tecnologia seja uma plataforma eficaz para ambientes serverless, de nuvem e Kubernetes.

O Quarkus foi desenvolvido para funcionar com os padrões, frameworks e bibliotecas Java mais utilizados, como o Eclipse MicroProfile e o Spring (demonstrados em conjunto nesta apresentação do Red Hat Summit 2020), além do Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Infinispan, Camel e muitos outros.

A solução de injeção de dependência do Quarkus é baseada em Contexts and Dependency Injection (CDI). Além disso, ela inclui um framework de extensão para ampliar a funcionalidade e configurar, inicializar e integrar frameworks na sua aplicação. Adicionar uma extensão é tão fácil quanto adicionar uma dependência. Se preferir, você também pode usar as ferramentas do Quarkus.

Ele também oferece as informações corretas ao GraalVM (uma máquina virtual universal para executar aplicações escritas em diversas linguagens, incluindo Java e JavaScript) para compilação nativa da aplicação.


Criado para desenvolvedores

O Quarkus foi desenvolvido para ser de fácil uso desde o início, com recursos que funcionam bem com pouca ou nenhuma configuração.

Os desenvolvedores podem escolher os frameworks Java que desejam para as próprias aplicações, que podem ser executadas no modo JVM ou compiladas e executadas em modo nativo.

Criado para que os desenvolvedores o utilizem de maneira fácil e intuitiva, o Quarkus também inclui os recursos a seguir:

  • Codificação dinâmica para que desenvolvedores consigam verificar imediatamente o efeito das alterações no código e solucionar problemas com rapidez
  • Programação imperativa e reativa unificada com um barramento de eventos gerenciado e integrado
  • Configuração unificada
  • Geração executável nativa e fácil.

Para containers

Mesmo que a aplicação resida na nuvem pública ou em um cluster do Kubernetes hospedado internamente, características como inicialização rápida e baixo consumo de memória são importantes para manter os custos gerais de hospedagem reduzidos.

O Quarkus foi criado com base na filosofia de priorização de containers. Isso significa que ele é otimizado para uso reduzido da memória e tempos de inicialização mais rápidos das seguintes maneiras:

  • Compatibilidade avançada com Graal/SubstrateVM
  • Processamento de metadados em tempo de compilação
  • Redução no uso de reflexão
  • Pré-inicialização de imagens nativas

Portanto, o Quarkus ajuda a compilar aplicações para consumir um décimo da memória em comparação com o Java tradicional, além de ter um tempo de inicialização mais rápido (até 300 vezes mais veloz). Essas duas características reduzem muito o custo de recursos de nuvem.


Código imperativo e reativo

O Quarkus foi projetado para combinar de forma simplificada o já conhecido código em estilo imperativo com o estilo reativo não blocante ao desenvolver aplicações.

Isso é útil para desenvolvedores de Java, que estão acostumados a trabalhar com o modelo imperativo e não querem trocar tudo, e para os desenvolvedores que trabalham com uma abordagem reativa/nativa em nuvem.

O modelo de desenvolvimento do Quarkus adapta-se a qualquer aplicação que você esteja desenvolvendo.

O Quarkus é uma solução eficaz para executar o Java neste novo mundo de arquitetura serverless, microsserviços, containers, Kubernetes, função como serviço (FaaS) e nuvem, pois ele foi criado levando todas essas tecnologias em consideração.

Saiba muito mais sobre Quarkus e natividade em nuvem