Use o código e tenha 10% de desconto!

Back-end Java Microsserviços, Spring Boot e Kubernetes

Eduardo Felipe Zambom Santana

*Você terá acesso às futuras atualizações do livro.

Sobre o livro

A arquitetura dos sistemas de software vem sofrendo diversas revoluções nos últimos anos, começando com os grandes monólitos, que dificultavam bastante a manutenção e a evolução das aplicações, passando pela arquitetura orientada a serviços, que era bastante dependente de arquivos XML de configuração, até chegar à arquitetura de microsserviços, que tenta resolver (ou minimizar) alguns dos vários problemas que as arquiteturas de software anteriores possuíam.

Diversas tecnologias têm surgido para o desenvolvimento de aplicações baseadas em microsserviços, para a plataforma Java e, sem dúvida, o framework mais conhecido e utilizado atualmente para esse fim é o Spring Boot. O objetivo do Spring Boot é diminuir a quantidade de configurações necessárias para o desenvolvimento de aplicações. Nele, é possível utilizar diversos frameworks e bibliotecas para a construção rápida de microsserviços, com diferentes funcionalidades como desenvolvimento de APIs REST, comunicação entre serviços e segurança.

Porém, na arquitetura de microsserviços, é mais complicado executar uma aplicação inteira, tanto em um ambiente local quanto em um ambiente de produção, pois é necessário executar e configurar todos os serviços e permitir que eles se comuniquem. Existem diversas ferramentas que facilitam essas tarefas, sendo as duas principais o Docker, para a criação de contêineres, e o Kubernetes, para a criação de cluster que executam esses contêineres Docker.

Atualmente, é essencial que um desenvolvedor ou desenvolvedora back-end conheça, além da linguagem de programação que vai utilizar, algumas dessas ferramentas para a execução da aplicação em um ambiente de produção. Embora seja possível desenvolver e executar os microsserviços separadamente em sua máquina, isso não é o ideal, pois não se terá um ambiente próximo do real para testar a aplicação.

Este livro vai mostrar como desenvolver uma aplicação baseada em microsserviços utilizando o Spring Boot, como criar imagens Docker dos serviços desenvolvidos e, por fim, como executar a aplicação no Kubernetes.

Estrutura do livro

O livro é dividido em duas partes. A primeira, do capítulo 2 ao 10, mostra o desenvolvimento de uma aplicação de microsserviços com o Spring Boot. A aplicação é formada por 3 microsserviços chamados de user-api, product-api e shopping-api, que terão as responsabilidades de gerenciar usuários, produtos e compras. O capítulo 2 apresentará o ambiente de programação utilizado; os capítulos de 3 a 7 mostrarão a criação dos microsserviços; o capítulo 8 apresentará a comunicação entre os serviços; o capítulo 9 fará o tratamento dos erros nas aplicações; e o capítulo 10 mostrará um mecanismo de autenticação nos serviços.

A segunda parte do livro, que vai do capítulo 11 a 15, mostra como criar o cluster Kubernetes na máquina de desenvolvimento. O capítulo 11 mostra como criar as imagens Docker com os microsserviços desenvolvidos; o capítulo 12 apresenta os principais conceitos do Kubernetes; o 13 mostra como instalar a ferramenta no ambiente local; finalmente, os capítulos 14 e 15 fazem as configurações finais para executar as aplicações no cluster.

Para quem é este livro?

Este livro foi escrito principalmente para quem já tem conhecimento na linguagem Java e deseja começar a trabalhar com desenvolvimento back-end nesta linguagem com o framework Spring. Também poderá ser bastante útil para desenvolvedores Web que estão começando a trabalhar com APIs e com a arquitetura de microsserviços. Para quem já trabalham com back-end, serão proveitosas a explicação sobre o Kubernetes e a demonstração de como configurar um cluster Kubernetes para o ambiente de desenvolvimento.

Sumário

  • 1 Introdução
    • 1.1 Framework Spring
    • 1.2 Kubernetes
  • 2 Instalando o ambiente
  • 3 Criando os primeiros serviços
    • 3.1 Hello World com o Spring Boot
    • 3.2 Serviço de Usuários (user-api)
  • 4 Serviço de usuários (user-api)
    • 4.1 Configuração do Spring Data nos serviços
    • 4.2 Camada de dados (Repository)
    • 4.3 Camada de serviços (Service)
    • 4.4 Camada dos controladores (Controllers)
  • 5 Serviço de produtos (product-api)
    • 5.1 Camada de dados (Repository)
    • 5.2 Camada de serviços (Service)
    • 5.3 Camada dos controladores (Controllers)
    • 5.4 Testando os serviços
  • 6 Serviço de compras (shopping-api)
    • 6.1 Camada de dados (Repository)
    • 6.2 Camada de serviços (Service)
    • 6.3 Camada dos controladores (Controllers)
    • 6.4 Testando os serviços
  • 7 Buscas mais complexas na shopping-api
    • 7.1 Implementando as consultas
    • 7.2 Camada de serviços (Service)
    • 7.3 Camada dos controladores (Controllers)
    • 7.4 Testando os serviços
  • 8 Comunicação entre os serviços
    • 8.1 Reutilizando DTOs
    • 8.2 Mudanças nos projetos
    • 8.3 Comunicação entre os serviços
  • 9 Exceções
    • 9.1 Criando as exceções
    • 9.2 Implementando as exceções na user-api
    • 9.3 Implementando as exceções na product-api
    • 9.4 Implementando as exceções na shopping-api
  • 10 Autenticação
    • 10.1 Gerando o UUID na user-api
    • 10.2 Validando o usuário na shopping-api
  • 11 Executando a aplicação com Docker
    • 11.1 Adaptando as aplicações para o Docker
    • 11.2 Configurando nossas aplicações para utilizar o Docker
    • 11.3 Rodando as aplicações com docker-compose
  • 12 Kubernetes
    • 12.1 Deployments e Pods
    • 12.2 Services
    • 12.3 Config Maps
    • 12.4 Autenticação
  • 13 Instalando o Kubernetes
    • 13.1 Instalando o kubectl
    • 13.2 Instalando o Kubernetes Dashboard
    • 13.3 Subindo o Postgres no cluster
  • 14 Implantando as aplicações no Kubernetes
    • 14.1 user-api e product-api
    • 14.2 shopping-api
  • 15 Acesso externo ao cluster
    • 15.1 Nginx
    • 15.2 Ingress
    • 15.3 Mais comandos do Kubectl
    • 15.4 Conclusões

Dados do produto

Número de páginas:
143
ISBN:
978-65-86110-61-6
Data publicação:
03/2021

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter

*Você terá acesso às futuras atualizações do livro.