BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Ray Tsang comenta sobre Ferramentas e boas práticas para implantação do Kubernetes

Ray Tsang comenta sobre Ferramentas e boas práticas para implantação do Kubernetes

Favoritos

Ray Tsang, defensor dos desenvolvedores do Google, palestrou na Conferência SpringOne Platform 2019 sobre ferramentas e boas práticas que desenvolvedores podem usar na implementação do Kubernetes nas organizações.

A conteinerização e a adoção de plataformas de containers como o Kubernetes, tem sido um desafio para os desenvolvedores de aplicações. A construção de imagens de container envolve Dockerfiles, que são pesados e propensos a erros na criação e manutenção no longo prazo. Além disso, o suporte a IDEs para desenvolvimento e manutenção de aplicativos baseados em container, fica a desejar. Isso atrasa todo o ciclo de desenvolvimento do software.

O projeto Spring Cloud Kubernetes fornece interfaces comuns que utilizam serviços nativos do Kubernetes. O principal objetivo do projeto é ajudar na integração das aplicações de Spring Cloud e Spring Boot em execução no Kubernetes.

Tsang falou sobre o TestContainers, uma biblioteca Java que suporta testes JUnit com instâncias descartáveis de bancos de dados comuns, navegadores Selenium ou outros servidores que podem ser executados em um container Docker. Os TestContainers facilitam a execução de testes na camada de acesso aos dados, na integração de aplicações e na interface do usuário. Podemos testar a maioria dos componentes da aplicação baseado em containers, no próprio laptop.

Comentou também sobre a importância de entender o uso de memória em aplicações Java para evitar situações de OOMKilled. Ferramentas como a Calculadora de Memória Cloud Foundry construída em Java podem ser usadas para calcular uma configuração holística de memória JVM e garantir que as aplicações tenham um bom desempenho, sem exceder o limite de memória do container e serem reciclados.

Tsang mencionou a apresentação das melhores práticas de containeirização, no qual discutiu uma série de técnicas para criar e gerenciar containers do Docker. Uma dica incluía não executar o container como usuário root. A maioria das imagens é executada como root, mas os desenvolvedores devem alterar essa configuração para restringir os privilégios. Tsang também explicou como garantir que as imagens dos containers não ocupem muito espaço e como evitar que fiquem sem espaço de disco.

Outras ferramentas que podem ajudar na implementação do Kubernetes são o Jib e o Skaffold, muito úteis para acelerar a criação de imagens e o tempo de resposta do ciclo de desenvolvimento.

O Jib cria imagens otimizadas do Docker e da Open Container Initiative (OCI) para aplicações Java, sem a necessidade de executar um daemon do Docker, criando um Dockerfile automaticamente, funcionando mesmo se não tivermos o Docker instalado local. O Jib está disponível como plugin para Maven e Gradle e também como biblioteca Java.

O Skaffold é uma ferramenta de linha de comando do Google que facilita o desenvolvimento contínuo de aplicações Kubernetes. Pode ser usado para todas as etapas do fluxo de trabalho na criação, envio e implantação do aplicativo. O Skaffold também fornece building blocks e personalizações para um pipeline de CI/CD.

Tsang também discutiu outras boas práticas para a configuração de aplicações Java para execução dentro do Kubernetes, como o teste de integridade, implantação de tempo de inatividade zero, configurações de externalização e criação de log.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT