Bom pessoal, e já que a gente falou sobre sidecars, vamos falar agora sobre service mesh. Legal? O que é uma service mesh? Eu peguei a definição aqui do site do Istio, que é um serviço de service mesh, e traduzi essa parada. Olha só, uma malha de serviço é uma camada de infraestrutura dedicada que você pode adicionar às suas aplicações. Ele permite adicionar recursos de forma transparente, como observabilidade, gerenciamento de tráfego e segurança, sem adicioná-los ao seu próprio código. Agora, eu não sei se você se tocou, né? Eu não preciso adicionar no meu código, a minha aplicação tem essas informações de forma transparente. E mesmo assim eu tenho esses recursos. Como será que um Service Mesh funciona? Você lembra que a gente falou sobre Sidecars no nosso último vídeo? último nosso último vídeo o serviço se mexe utiliza a idéia de sair de cárcer exatamente para cumprir esse tipo de ação olha só que interessante aqui é o serviço se mexe isto é como isto funciona a gente tem vários sistemas para que dá para trabalhar como serviço se mexe Por exemplo, o Consul dá para você trabalhar com o Service Mesh. Legal? O Consul é da HashCorp. Então, o que acontece aqui? Olha a ideia dele. Você consegue fazer gerenciamento de tráfego. Ou seja, eu consigo bloquear que o serviço A acesse o B. Ou eu posso falar, o A pode acessar o B. Eu posso bloquear que o A faça chamada para a internet. Política de egresso, por exemplo. Então eu consigo fazer isso. Ou eu posso fazer o seguinte. Toda vez que o A chamar o B e o B não responder, eu faço mais duas retries, mais duas retentativas. Como que isso é feito? Através de service mesh. O meu sistema comum, padrão, ele não faz retentativa. Mas quem faz retentativa é a minha Mesh. Segurança. Eu até falei para você sobre a parte de autenticação de requisições utilizando o MTLS. Quem faz isso de forma transparente? Service Mesh utilizando o mtl s quem faz isso de forma transparente serve se mexe utilizando o site de carros você tem policy a enforcement eu falei disso um pouco pra vocês políticas e quem pode acessar cada um é regras que eu quero colocar ali outro ponto importante observabilidade é eu quero conseguir olhar todos os meus micro serviços se comunicando o a chama o beck chamou se chama o de o problema deu aqui o de tá degradado vai gerar problema não sei então eu consigo observar todos os meus serviços se comunicando ali naquele momento eu consigo por exemplo também adicionar circuit breaker né a gente consegue estender recursos e adicionar o que a gente quiser porque porque o isso né ele possibilita ele consegue trazer diversos tipos de serviço de recurso eu vou dar um exemplo pra você em relação ao gerenciamento de tráfego, você consegue até customizar a regra do seu load balancer. Eu não quero que o meu load balancer seja round robin, porque a máquina A tem configurações diferentes da máquina B. Então, eu quero priorizar que as requisições caiam mais na B do que a A. Eu quero um 60-40, por exemplo. Então, isso aí também é possível você utilizando o Service Mesh, legal? Aqui eu peguei a imagem do próprio site do Istio para você entender a ideia principal. O Istio, ao invés de ele instalar diversas aplicações como o Sidecar, ele instala apenas uma, que é chamada de Envoy. O Envoy é um proxy, tá? É uma aplicação que não foi feita pelo Istio, pela galera do Istio, tá? É um proxy que você pode instalar em qualquer lugar. Tem site, depois, se você buscar, entra no site do Envoy. Inclusive, ele é mega complexo, tá? Mas o que que acontece? Para cada aplicação, o serviço A e o serviço B, você coloca o Envoy, o proxy. E o serviço A só fala com o serviço B através dos proxies. Então quando o A quer mandar uma requisição para o B, o A manda uma requisição para o Envoy, o Envoy manda uma requisição para o Envoy do Service B, e o Envoy do Service B manda a requisição para o Service B. Agora, como essas requisições são capturadas pelo Envoy, eu tenho duas situações aqui. Eu posso pegar todos esses dados que estão sendo trafegados pela minha rede e jogar para um cara que no caso do início né que é chamado de control plane ou seja quando você pega essas informações o isso consegue pegar por exemplo métricas e quando isso quer fazer alguma configuração no envolve o que ele faz ele publica essas essas alterações e todos os proxies que estão rodando em todas as aplicações conseguem ser alterados com as configurações que ele acabou de colocar. Então o Control Plane, ele pega as métricas, todos os dados da rede que estão sendo trafegados para ele conseguir utilizar essas métricas, mas ele também consegue jogar dados em todos os sistemas, porque o Envoy está colado em todas as aplicações. Legal? Então, essa que é uma ideia básica de Service Mesh. Maravilha, galera? Então, falamos sobre Sidecars e também Service Mesh.