Em Março de 2019, a Red Hat disponibilizou para os desenvolvedores o framework Quarkus, que é especialmente projetado para o ambiente de Cloud. Totalmente compatível com o Kubernetes. Essa palestra foi apresentada no Brasília Dev Festival, em Setembro de 2019.
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Desenvolvedor de Software e Mestre apresenta Quarkus Java
1.
2. Desenvolvedor de Software desde de 2005 e
Mestre em Ciência da Computação. Apaixonado
por viagens, animais e música. Adora
tecnologias que aumentem a produtividade.
Trabalha na área de arquitetura de integração de
sistemas distribuídos na BB Tecnologia e
Serviço. Pela primeira vez no Brasília Dev
Festival, vai apresentar a palestra: "Conheça o
Quarkus Java: Supersonic Subatomic Java"
https://github.com/marcuspaulo/
https://www.linkedin.com/in/marcuspaulo/
Apresentação
5. Introdução
QuarkusIO, the Supersonic Subatomic Java,
promete entregar pequenos artefatos, tempo de
inicialização extremamente rápido e menor tempo
para a primeira requisição.
Quando combinado com o GraalVM, o Quarkus
compila antecipadamente (AOT)
8. Introdução
● Quarkus é construído com base nos padrões, não
precisamos aprender nada de novo.
● Conseqüentemente, podemos usar CDI e JAX-RS, entre
outros.
● Além disso, o Quarkus possui muitas extensões, incluindo
as que suportam Hibernate, Kafka, OpenShift,
Kubernetes e Vert.x.
9.
10. GraalVM
● GraalVM é uma Java VM e JDK baseada em HotSpot /
OpenJDK, implementada em Java.
● Suporta diversas linguagens de programação
● Modos de execução adicionais, como a compilação
antecipada de aplicativos Java para inicialização rápida e
baixo consumo de memória
11. Características do GraalVM
● Performance (Alta performance em todas as
linguagens)
● Zero Overhead
● Execute seu código mais rápido e eficiente
● Interoperabilidade de linguagens (Poliglota)
● Compilar imagens nativas
● Ferramentas para Debug, monitoramento e profile
18. Caracteristicas do Quarkus
● A aplicação inicia mais rápido
● Baixo consumo de memória ram
● Kubernetes - CloudNative
● Integração com o Prothemeus (Log)
● Dockerfile é criado junto com a aplicação
● Live Reload
● Serveless
● Microserviços
25. Panache
O Hibernate ORM é a implementação de JPA de fato e oferece toda a
extensão de um Mapeador Relacional de Objetos.
Isso possibilita mapeamentos complexos, mas não torna triviais os
mapeamentos simples e comuns.
O ORM do Hibernate com Panache se concentra em tornar suas
entidades triviais e divertidas de escrever no Quarkus.
30. Core
● Configuring Your Application
● Application Initialization and Termination
● Contexts and Dependency Injection
● Testing Your Application
● Configuring Logging
● Using SSL With Native Images
31. Web
● Writing REST JSON Services
● Validation with Hibernate Validator
● Using the REST Client
● Using JWT RBAC
● Using WebSockets
● Using OpenAPI and Swagger UI
● Using Fault Tolerance
37. Security
● Using Security
● Using JWT RBAC
● Using Keycloak to Protect JAX-RS Applications
● Using OAuth2 RBAC
38. Cloud
● Deploying Native Applications on Kubernetes or OpenShift
● Deploying Native Applications on Knative Kubernetes or
OpenShift
● Generating Kubernetes Resources
● Using the Kubernetes Client to Interact with a Kubernetes
Cluster
● Deploying to OpenShift using S2I
● Deploying to Microsoft Azure Cloud