Pular para o conteúdo principal

AWS App Mesh

O que é

Uma malha de serviços que facilita o monitoramento e o controle das comunicações entre os microsserviços em suas aplicações.

Para que serve

Padronizar a forma como os microsserviços se comunicam, fornecendo recursos como controle de tráfego, resiliência, observabilidade e segurança, sem a necessidade de modificar o código da aplicação.

Casos de uso

  • Gerenciamento de tráfego para implantações canary e azul/verde
  • Implementação de retries e timeouts para aumentar a resiliência da aplicação
  • Coleta de métricas, logs e traces para observabilidade de microsserviços
  • Criptografia de tráfego entre microsserviços
  • Aplicação de políticas de segurança em nível de rede para microsserviços

Principais pontos

  • Proxy Envoy: Utiliza o proxy Envoy de código aberto para rotear o tráfego e coletar dados
  • Controle de tráfego: Permite rotear o tráfego com base em regras, como peso ou cabeçalhos HTTP
  • Resiliência: Suporta retries, timeouts, circuit breakers e outras técnicas para lidar com falhas
  • Observabilidade: Coleta métricas, logs e traces para fornecer insights sobre o comportamento dos microsserviços
  • Segurança: Permite criptografar o tráfego e aplicar políticas de segurança
  • Integração: Integra-se com Amazon ECS, Amazon EKS, AWS Fargate e Kubernetes

Comparativo com gerenciamento de microsserviços sem malha de serviços

  • AWS App Mesh: Simplifica o gerenciamento de microsserviços, abstraindo a complexidade da comunicação entre eles e fornecendo recursos avançados de rede, resiliência e observabilidade sem a necessidade de modificar o código da aplicação. Ideal para ambientes de microsserviços complexos.
  • Gerenciamento sem malha de serviços: Exige que os desenvolvedores implementem a lógica de comunicação, resiliência e observabilidade em cada microsserviço, o que pode ser complexo, propenso a erros e difícil de manter em escala.