Todos nós conhecemos o projeto Kubernetes, e também sabemos que o Linguagem de programação Java Está connosco há muitos anos e é um dos mais utilizados hoje em dia e, portanto, o que mais atrai desenvolvedores e as maiores comunidades de desenvolvimento. Na verdade, se você seguir as listas do TIOBE das linguagens de programação mais utilizadas no mundo da computação, o Java não ficou abaixo da 2ª posição neste ranking, o que dá uma ideia da enorme popularidade.
Java nasceu na década de 90, da mão da extinta Sun Microsystems (agora Oracle), e tem quase 20 anos de desenvolvimento e otimização para rodar aplicativos monolíticos altamente dinâmicos que assumem propriedade exclusiva de memória e CPU (virtualizada) graças à máquina virtual Java que possui esta plataforma como intérprete dessa língua. E por que não levar isso para a nuvem, IoT, dispositivos móveis, Kubernetes, contêineres, microsserviços, programação reativa e função como um serviço ou FaaS? Já que vivemos em um mundo dominado por esses setores. Esses 12 motivadores principais e o desenvolvimento de aplicativos nativos da nuvem podem oferecer níveis mais altos de produtividade e eficiência. Bem, é aí que o Java encontra o Kubernetes e eles convergem uma nova estrutura.
O nome dessa estrutura é quarks, que chega junto com Java Subatômico Supersônico. Quarkus é uma estrutura Java nativo para Kubernetes projetado para GraalVM e HotSpot, criado a partir das melhores bibliotecas e padrões Java do mercado. O objetivo da Quarkus é fazer do Java uma plataforma líder para Kubernetes e ambientes sem servidor, enquanto oferece aos desenvolvedores um modelo de programação reativo e imperativo unificado para lidar de forma otimizada com uma gama mais ampla de arquiteturas de aplicativos distribuídos.
Entre as qualidades oferecido pela Quarkus (teste baseado em plataforma com Red Hat):
- Começo rápido, em algumas dezenas de milissegundos, o que permite o escalonamento automático de microsserviços em contêineres e Kubernetes, bem como a execução imediata de FaaS.
- La utilização mínima de memória ajuda a otimizar a densidade do contêiner em implantações de arquitetura de microsserviços que desejam vários contêineres.
- Menor tamanho de aplicação do recipiente.
- Dê uma modelo reativo e imperativo unificado para que os desenvolvedores Java se sintam familiarizados.
- Os desenvolvedores vão gostar configuração unificada em um único arquivo de propriedades, zero configurações, recarga ao vivo em um piscar de olhos, código simplificado para 80% dos usos comuns e flexível para 20%, sem gerar executáveis nativos irritantes.
- Você terá o melhores bibliotecas e padrões.
- Soluções eficazes para executar Java em microsserviços, sem servidor, nuvem, contêineres, Kubernetes, FaaS etc.
O que significa "executáveis nativos irritantes"?
obrigado