Preços

Spring no Kubernetes com o Red Hat OpenShift

Copiar URL

Com o Red Hat® OpenShift®, você pode desenvolver e executar aplicações Spring e Spring Boot nativas do Kubernetes.

Tenha uma experiência hands-on com o Spring no OpenShift

O framework Spring é um dos frameworks Java mais populares para a criação de aplicações com base em uma arquitetura de microsserviços distribuídos. O modelo de programação e configuração do Spring para aplicações baseadas em Java tem foco na "tubulação". Assim, os desenvolvedores podem se concentrar na lógica empresarial no nível das aplicações, sem vínculos desnecessários com ambientes de implantação específicos. O Spring Boot simplifica o empacotamento e a configuração da aplicação para que ela seja independente, executável e facilmente implantável como um container no Kubernetes.

Spring nativo do Kubernetes

O Spring, como muitos frameworks Java, não "sabe" que está sendo executado em um container em uma plataforma como o Kubernetes. O framework inclui muitos componentes que facilitam a compilação e implantação de aplicações distribuídas, como Spring Boot, Spring Cloud e Spring Web, além de um host de outros componentes para fazer a descoberta de serviços, o balanceamento de carga, o roteamento de solicitações e mais. Com o Kubernetes, muitas dessas preocupações podem ser delegadas para a plataforma de aplicações em containers subjacente para produzir uma aplicação que se integre melhor à plataforma de execução. Criar aplicações Spring com esses caminhos de códigos otimizados é fundamental para liberar todo o potencial do Spring com Kubernetes.

Recursos da Red Hat

Aplicações Spring podem confiar no Kubernetes e nos recursos implantados nele para oferecer os serviços de nuvem necessários que viabilizam um desenvolvimento eficaz na plataforma. Isso inclui serviços como filas de mensagens, bancos de dados, armazenamento persistente e em cache, entre outros.

Registro de serviços

Muitas vezes, as arquiteturas de microsserviços exigem escala dinâmica de serviços individuais em nuvem pública, privada ou híbrida onde nem sempre é possível prever ou configurar estatisticamente o número e endereço dos hosts com antecedência. No Kubernetes, a replicação e a escala de serviços é uma funcionalidade central. Isso significa que o cliente não precisa manter uma memória em cache ou uma conta para a falha do próprio registro de serviços. Por exemplo, o Netflix Ribbon (normalmente usado com aplicações Spring) pode ser declarativamente configurado para usar o Kubernetes em vez de um registro de serviço, sem alterações no código.

Balanceamento de carga

Nas chamadas dos clientes para serviços stateless em aplicações Spring, a alta disponibilidade (HA) se manifesta na necessidade de procurar o serviço em um registro e balancear a carga entre as instâncias disponíveis. O Kubernetes oferece um único endereço de serviço onde as ligações terão a carga balanceada e serão redirecionadas para uma instância adequada. Em um cluster Kubernetes, o nome do serviço resolve esse endereço IP do cluster e pode ser usado para alcançar o balanceador de carga. Quando houver ligações externas e você não quiser passar pelo roteador, será possível configurar um endereço IP externo para o serviço.

Tolerância a falhas

A natureza altamente distribuída dos microsserviços significa um risco maior de falhas nas crescentes ligações remotas. Historicamente, o fardo de implementar padrões de tolerância a falhas como um disjuntor de circuito tem caído sobre o desenvolvedor. No entanto, projetos como o Istio, que implementam uma service mesh, podem aliviar essa carga e oferecer um controle operacional muito maior sobre os serviços Spring executados no cluster.

Configuração externalizada

Soluções de gerenciamento de configuração externalizada podem ser uma ótima alternativa à típica combinação de arquivos de configuração, argumentos de linha de comando e variáveis de ambiente que são usados para tornar as aplicações mais portáteis e menos rígidas em resposta às mudanças externas. Os Kubernetes ConfigMaps podem ser usados para armazenar informações de alta granularidade, como propriedades individuais, ou pouco refinadas, como arquivos inteiros de configuração ou blobs JSON. Eles oferecem mecanismos para injetar dados de configuração nos containers, mantendo as configurações separadas das aplicações Spring, mas acessíveis a elas, com o uso de anotações como @ConfigProperty.

Rastreamento distribuído e métricas de aplicação

Por conta de todas as vantagens, pode ser difícil analisar uma arquitetura de microsserviços e solucionar os problemas. Cada solicitação empresarial gera várias ligações para e entre serviços individuais em diversas camadas. O rastreamento distribuído une todas as ligações de serviços individuais e as associa a uma solicitação empresarial com um ID exclusivo. Além disso, com as métricas, as aplicações Spring conseguem expor dados no nível das aplicações para viabilizar verificações de alta granularidade sobre o estado delas. Ferramentas de rastreamento, como o Jaeger, combinadas a um stack de métricas com o Prometheus e o Grafana oferecem uma base sólida para monitoramento e solução de problemas das aplicações Spring no Kubernetes.

À medida que as aplicações Spring se desenvolvem como coleções de serviços descentralizados, fica mais difícil gerenciar comunicações e a segurança entre esses serviços. Com o Red Hat OpenShift e o Red Hat Runtimes, os desenvolvedores Spring contam com as ferramentas, os frameworks e as integrações nativas do Kubernetes necessários para compilar e gerenciar aplicações Spring em escala na plataforma em nuvem híbrida do Kubernetes e de container líder do setor.

Existem muitos benefícios para os desenvolvedores Spring que usam o Red Hat OpenShift. Entre eles estão:

Ao usar o Spring Boot no OpenShift, o desenvolvedor tem uma experiência natural em aplicações Spring novas e existentes.

  • Suporte para compilação de aplicações nativas em nuvem com o Spring e o Spring Boot
  • Integra as funcionalidades do Kubernetes que substituem os serviços tradicionais de suporte autônomo.
    • Configuração externalizada: Kubernetes ConfigMap e integração com o Spring Cloud Kubernetes
    • Descoberta de serviços: serviços do Kubernetes
    • Balanceamento de carga: controlador de replicações do Kubernetes
    • Reinicialização automática: verificações de integridade do Kubernetes e integração com o Spring Actuator
    • Métricas: Prometheus, Grafana e integração com o Spring Cloud Sleuth
    • Rastreamento distribuído com Istio e Jaeger Tracing
  • Ferramentas de desenvolvedor do Red Hat OpenShift para desenvolver novos projetos Spring com rapidez, obter acesso a APIs Spring em seu IDE de preferência e implantar no Red Hat OpenShift

Use as APIs Spring que você já conhece e aproveite os benefícios dos serviços e da plataforma Kubernetes subjacentes no Red Hat OpenShift e no Red Hat Application Services.

Use o conhecimento do Spring para desenvolver aplicações modernas com a tecnologia mais recente.

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

Red Hat OpenShift para engenheiros de plataforma

Red Hat OpenShift fornece aos engenheiros de plataforma as ferramentas necessárias para desenvolver e gerenciar plataformas de desenvolvimento interno com eficiência.

Edge computing: implante na edge com o Red Hat OpenShift

Conheça as vantagens de implantar na edge usando o Red Hat OpenShift, a plataforma empresarial para orquestração de containers Kubernetes líder de mercado.

Red Hat OpenShift e Kubernetes: qual é a diferença?

Red Hat® OpenShift® é uma plataforma de aplicações certificada com tecnologia Kubernetes. Trata-se de uma solução de software criada com base em vários projetos open source.

Red Hat OpenShift: leitura recomendada

Produtos em destaque

  • Red Hat OpenShift

    Uma plataforma unificada de desenvolvimento de aplicações que permite desenvolver, modernizar e implantar aplicações em escala na infraestrutura de nuvem híbrida de sua escolha.

  • Red Hat Application Foundations

    Um conjunto de componentes projetados para desenvolver, implantar e operar aplicações. Inclui as soluções Red Hat 3scale API Management, Red Hat Data Grid, Red Hat JBoss Web Server, Red Hat AMQ, versões Red Hat de tecnologias open source e um kit de ferramentas de migração para aplicações.