Observabilidade // Dicionário do Programador

7.72k views2579 WordsCopy TextShare
Código Fonte TV
Observar é Monitorar? Ter logs garantem rastreabilidade de sistemas? Vem entender mais sobre o mundo...
Video Transcript:
contextualizando observabilidade no mundo dos códigos é a capacidade de medir o estado interno de um sistema a partir dos seus outputs isso significa saber o que está acontecendo dentro de uma aplicação através dos dados que ela gera sejam via logs métricas e rastreamentos ou seja observabilidade não é monitoramento Somente Ela é a chave para entender o que que tá rolando nos bastidores do seu sistema sem precisar entrar no código toda vez que algo D errado é como conseguir diagnosticar um problema a partir de um raio x e um software vem entender aqui com a gente
como funciona observabilidade dentro dos projetos Quais são as principais ferramentas do mercado e como é possível se tornar um fera nessa área para começar eu te aconselho a pegar uma bebidinha se possível um cafezinho para acompanhar esse vídeo vamos te mostrar muita informação relevante que eu tenho certeza que vai fazer sua cabeça pirar por isso Fique Alerta e se você não sabe por que nós estamos aqui ó de jalecos é porque esse aqui é o dicionário do programador do código Font TV por aqui nós desvendamos os termos do mundo dos códigos e da tecnologia já
são mais de 200 vídeos nessa playlist Então já se inscreve aqui no canal para acompanhar todos os novos lançamentos Então vamos começar do começo observabilidade não serve para medir se um sistema está funcionando ou não isso a gente pode chamar de monitoramento quando a observabilidade entra em cena estamos falando sobre comportamento de software em um nível que é possível prever problemas antes mesmo de acontecer Pois é ela é a chave para entender o que que tá rolando ali nos bastidores do seu sistema alguns comparam com o raio x mas nós também podemos dizer que é
como ter ali uma caixa preta igual de um avião no software sem a observabilidade as chances de descobrir as panes e as razões dos problemas são bem difíceis enquanto o uso da observabilidade garante que tudo possa ser rastreável do ponto de vista do io e quando se trata de aprender a fundo sobre observabilidade nós temos aqui no canal simplesmente o melhor parceiro como esse tema está coladinho com arquitetura de microsserviços a full cycle é o melhor lugar para aprender sobre isso ainda mais agora com o lançamento do curso full cycle 4.0 que vai te preparar
para construir aplicações de grande porte e para enfrentar os desafios do mercado O curso tem como base os pilares desenvolvimento e arquitetura do software devops e sre banco de dados e segurança cada Pilar Tem uma trilha de est com cursos e atividades organizadas e uma sequência lógica para te guiar e o que não faltam são tecnologias parece até a playlist do dicionário do programador docker api mvc Clean architecture DDD microsserviços apach cfca cicd tokens E por aí vai a lista é gigante ainda tem Laboratórios práticos para você praticar como estudos de casos reais o que
é perfeito para você se aprofundar em cada tema Então como sempre nós vamos deixar o link para você acessar a full pych e conversar diretamente com com eles aqui na descrição agora antes da gente ver um pouco de código e falar das Ferramentas é preciso dizer que a observabilidade Não surgiu do nada existem três pilares básicos que estão em torno do uso dessa técnica e que nós precisamos entender eu tô falando aqui de login métricas e rastreamento não necessariamente nessa mesma ordem Então bora né login ou simplesmente logs é um pilar relacionado a Registro e
armazenamento de eventos e atividades de forma estruturada ou seja o log nada mais é que uma forma de criar registros detalhados E padronizados de tudo que acontece no sistema a partir de eventos permitindo justamente investigar os problemas os logs são utilizados também para fazer auditorias de segurança ou mesmo detectar ameaças e identificar gargalos de desempenho vamos ver na prática um exemplo de log aqui nós abrimos um arquivo de log do Servidor web apach apesar de est aí as informações aparentemente misturadas ele tá muito bem organizado acabou foi quebrando a linha porque são muitas informações mas
veja que começa com o endereço ip da requisição o traço representa que o usuário acessou sem autenticação depois vem o timestamp a requisição http código de status E por aí vai são vários registros e eles podem ser separados em vários arquivos por dia hora e o que o sistema precisar esse tipo de informação serve como fonte para ser utilizado em softwares especializados ou mesmo ser analisado diretamente dessa forma aí tem que ser muito raiz né podemos definir as métricas como valores que são definidos a partir de um objetivo podemos identificar comportamentos a partir de um
intervalo de tempo específico e assim ter mais informações para investigar de forma quantitativa nas métricas podemos utilizar também indicadores Chaves de desempenho conhecidos como kpi é muito conhecido também no mundo do marketing digital Por exemplo quando utilizamos métricas estamos necessariamente trabalhando com pontos específicos que precisam ser medidos os kpis ou kpis representam grupos de indicadores também definidos para lançar determinado objetivo por exemplo a utilização de recursos como de CPU de memória de taxa de erros latência de requests E por aí vai agora Sim chegamos à hora de um exemplo olha só imagine um cenário onde
o tempo de resposta de um end Point de uma API deve se manter sempre baixo nesse caso é uma API responsável por efetuar o login e uma aplicação imagina quando da caca no login a equipe de desenvolvimento Pode configurar um alerta que dispara quando a latência desse endp específico excede ali 0,5 segundos indicando que tem uma degradação no desempenho com as ferramentas corretas de observabilidade é possível detectar o gargalo como por exemplo uma consulta no banco de dados que tá lenta ou mesmo um contêiner que tá com recursos insuficientes e outro cenário nesse mesmo sentido
é em relação à taxa de erros http nesse caso estamos falando do temido erro 500 O que representa um erro no servidor se o número de erros começa a subir rapidamente isso pode indicar um problema com a aplicação um alerta pode ser ser disparado para investigar se há falhas no código ou na infraestrutura agora a equipe de devops e também a dos desenvolvedores verificam os logs e traces para encontrar a causa do erro e corrigir o mais rápido possível esse tipo de informação vale para banco de dados armazenamento em disco disponibilidade de serviços monitoramento de
Cash E por aí vai vamos a mais um cenário para ilustrar bem essa parte de métricas imagina que você tem uma aplicação web que gerencia transações de checkout em um e-commerce ela precisa ser rápida e iente é óbvio né um dos serviços mais críticos é o serviço de checkout Ultimamente você percebeu que esse serviço tá ficando lento e consumindo muita CPU em determinados momentos o que impacta diretamente a experiência dos usuários nesse código nós temos um exemplo de alerta que foi configurado para ser disparado quando a latência o tempo de resposta do serviço de checkout
for maior do que 0,5 segundo e o uso da CPU do contêiner que roda o serviço de checkout ultrapassar 75% de u se essas condições perdurarem por mais de 5 minutos o alerta vai ser disparado então perceba que isso significa que só porque a latência aumentou você não será imediatamente avisado e finalmente o rastreamento ou trac em inglês que tem como foco coletar os dados ou seguir a jornada de uma requisição ou uma transação através dos vários componentes do sistema A ideia é identificar os pontos de entrada e saída de todas as operações do início
ao fim incluindo os próprios serviços envolv idos e o tempo gasto em cada etapa só com o Tracy É possível entender a causa raiz de determinados problemas otimizando o desempenho e melhorando a experiência do usuário então só para deixar claro para você o tracing é o que realmente ajuda a encontrar o problema que identificamos de um log ou usando alguma métrica Ah tô vendo aí que você ficou curioso para ver como é que é a carinha desse tal de Tracy Então vamos lá que a gente te mostra e isso que você tá vendo não é
só um Jason ele é extração de um rastreamento utilizando uma ferramenta open source chamada Jagger nós dissemos que essa ferramenta observa ali o fluxo de uma requisição através dos diversos serviços em uma arquitetura distribuída como a de microsserviços por exemplo Bora analisar nesse exemplo a gente imaginou uma requisição que passa por vários microsserviços como autenticação serviço de produtos carrinho e finalmente o Gateway de pagamento se seguirmos passo a passo nós temos o Trace ID que é o identificador único da requisição os spams que é a lista de cada etapa onde a requisição passa o Operation
name que é o nome da operação como o http get o dbquery ou http post dá para você ver aí no exemplo o start time duration E por aí vai então se a gente analisar cada spam Vamos ver que login funcionou depois foi feita uma consulta no banco de dados na tabela users e por último uma requisição ao endp checkout esse sim falhou com o famoso e temido erro 500 viu como com Trace agora tudo faz mais sentido esse rastreamento é o melhor caminho para encontrar os problemas nos sistemas por isso é que é preciso
saber integrar cada serviço utilizando a ferramenta certa e uma das melhores formas de fazer isso é usando kubernetes é bem verdade que ele não é em si uma ferramenta de geração de métricas mas sim uma plataforma de orquestração de contêiners ele é responsável por gerenciar e automatizar a implantação escalabilidade e operações de contêiners como o docker em cluster de servidores mas o kubernetes fornece as bases para que essas ferramentas externas ou integradas possam coletar métricas sobre o estado e o desempenho dos contêiners Pods e nós que ele gerencia Você sabia que o kubernetes tem um
componente chamado Matrix server exatamente para isso pois é e ainda dá para conectar no Matrix api Para justamente conseguir unir essas informações com outras ferramentas como o Prometeus e o grafana Aliás já que começamos a falar de ferramentas que tal a gente falar mais sobre isso Ó mas vou começar falando aqui que é muito difícil elencar as melhores ferramentas Aliás na internet tá cheio delas viu a ideia aqui é só mostrar algumas que nós já tivemos algum tipo de contato e sabemos que rodam por aí em vários projetos se você é conhece alguma que nós
não vamos citar aqui no vídeo não hesite em usar os comentários Então bora pro Prometeus que já falamos antes né É uma ferramenta de código aberto que coleta e armazena métricas em tempo real com alertas e possibilidade de criar consultas bem Poderosas em cenários para monitorar aplicações e a infra é sem dúvida uma das melhores temos o grafana que é excelente para criar dashboards interativos ela é uma ferramenta que se integra perfeitamente com Prometeus e com kubernetes aproveitando então para falar novamente do Jagger focado no rastreamento distribuído O que torna ele ideal para visualizar o
fluxo de requisições em arquiteturas de microsserviços foi justamente por isso que nós mostramos o exemplo com ele tá bom né mas a gente não pode deixar de fora o dat Dog que é uma plataforma sz que integra métricas logs e Trace proporcionando uma visão unificada de sistemas complexos uma ferramenta que também é muito completa é o new relic que oferece monitoramento de performance de aplicativos APM rastreamento distribuído e também análise de logs e para finalizar essa lista topzera nós vamos trazer o elastic stack que ele combina o elastic search o log stash e o kibana
para armazenar analisar e visualizar logs métricas e dados estruturados Pois é eu sei que a lista tá grande né mas eu tenho certeza que se você já buscou algo sobre observabilidade antes esses nomes não te soaram estranhos não é mesmo então fica o convite aqui reforçado para você conhecer a full cycle e conversar com eles sobre o seu momento profissional não esquece do link tá aqui na descrição ol lá né Agora que você já conhece os pilares e algumas ferramentas de observabilidade a gente pode avançar um pouco mais e distinguir monitorar de observar o monitoramento
essencialmente exige que você saiba o que é importante monitorar com antecedência por sua vez a observabilidade permite que você determine o que é importante justamente observando como o sistema se comporta ao longo do do tempo e fazendo perguntas relevantes sobre ele e para você não sair desse vídeo sem respostas sobre como implementar aqui vão as dicas dos cdfs para alcançar a observabilidade você precisa escolher bem as ferramentas adequadas pros seus sistemas e aplicativos justamente para conseguir coletar os dados de telemetria que são apropriados Exatamente olha só dá até para você tornar um sistema observável construindo
você as suas próprias ferramentas mas tem muita solução de código aberto por aí ou mesmo adquirindo uma solução com comercial normalmente existem quatro componentes envolvidos na implantação da observabilidade o primeiro deles é a instrumentação que é justamente as ferramentas de medição que coletam os dados de telemetria de um contêiner serviço aplicativo host e qualquer outro componente do seu sistema permitindo a visibilidade em toda sua infraestrutura próximo passo é ter correlação de dados os dados de telemetria coletados em todo seu sistema são processados e correlacionados criando contexto e permitindo a curadoria automatizada ou personalizada dos dados
para as visualizações de séries temporais parece um pouco complicado mas é um pouco mesmo pois é o pul do garto agora é ter resposta a incidente as tecnologias de gerenciamento e automação de incidentes fornecem dados sobre as interrupções as pessoas e equipes certas com base nas habilidades técnicas e até em escalas de plantão isso vai ajudar demais os Sr por exemplo e por fim agora temos o conceito de ai Ops olha só que louco ó pois é a inteligência artificial também tá na área da observabilidade os modelos de aprendizado de máquina são usados para agregar
correlacionar e priorizar automaticamente dados de incidentes permitindo filtrar o ruído de alerta detectar problemas que podem afetar o sistema e acelerar a resposta a incidente quando necessário Agora sim você tá pronto para correr atrás dessas soluções espero que esse vídeo tenha te mostrado um pouco sobre esse tema se você curte temas como esse então nos dê a honra do seu like aqui no dicionário do programador nós sempre desvendamos essa sopa de letrinhas que é o mundo dos códigos para você então eu te espero no próximo vídeo combinado combinado até lá tchau tchau não o combinado
é com ele é com ele tá bom não mas eu combinei também tá combinado com todo mundo Tchau bom pensando num próximo vídeo né como nós citamos aqui várias vezes durante esse vídeo Os microsserviços Então acho que nada mais justo do que indicar esse episódio do dicionário do programador confere eu tenho certeza que você vai aprender bastante sobre arquitetura se você nunca ouviu falar de microsserviço arquiteto microsserviço aquelas coisas vai lá que vale a pena
Related Videos
VENÇA A PROCRASTINAÇÃO! Nós conseguimos desse jeito...
21:50
VENÇA A PROCRASTINAÇÃO! Nós conseguimos de...
Código Fonte TV
36,035 views
IA na Programação é um Caminho SEM VOLTA!
19:28
IA na Programação é um Caminho SEM VOLTA!
Código Fonte TV
53,388 views
Observabilidade: além da performance (feat. Datadog) | Faladev #42
50:46
Observabilidade: além da performance (feat...
Rocketseat
8,897 views
O MERCADO PARA DEVS EM 2025... SE PREPARE!
19:03
O MERCADO PARA DEVS EM 2025... SE PREPARE!
Código Fonte TV
147,013 views
Zelenskyy’s SHOCKING Offer to NATO SHOCKS the World
17:39
Zelenskyy’s SHOCKING Offer to NATO SHOCKS ...
The Military Show
365,077 views
Micro SaaS - A Nova Onda no Desenvolvimento de Produtos Digitais // Dicionário do Programador
14:06
Micro SaaS - A Nova Onda no Desenvolviment...
Código Fonte TV
51,420 views
LINGUAGENS DE PROGRAMAÇÃO QUE SÃO TENDÊNCIAS EM 2025
20:35
LINGUAGENS DE PROGRAMAÇÃO QUE SÃO TENDÊNCI...
Código Fonte TV
77,005 views
Watch Trudeau speak directly to Trump during blistering speech
21:01
Watch Trudeau speak directly to Trump duri...
CNN
12,123,504 views
Querem Detonar o Manifesto Ágil
19:34
Querem Detonar o Manifesto Ágil
Código Fonte TV
16,728 views
The Speech Everyone’s Talking About – David Brooks at ARC 2025
14:17
The Speech Everyone’s Talking About – Davi...
Alliance for Responsible Citizenship
2,555,565 views
RAG (Retrieval-Augmented Generation) // Dicionário do Programador
15:21
RAG (Retrieval-Augmented Generation) // Di...
Código Fonte TV
14,137 views
'My jaw is dropped': Canadian official's interview stuns Amanpour
11:48
'My jaw is dropped': Canadian official's i...
CNN
4,348,066 views
IA NÃO SABE LIDAR COM CÓDIGO LEGADO E DÍVIDA TÉCNICA!
17:35
IA NÃO SABE LIDAR COM CÓDIGO LEGADO E DÍVI...
Código Fonte TV
7,149 views
The Most Useful Thing AI Has Ever Done
24:52
The Most Useful Thing AI Has Ever Done
Veritasium
7,416,949 views
A MELHOR linguagem de programação com Fabio Akita | #HipstersPontoTube
22:15
A MELHOR linguagem de programação com Fabi...
Alura
448,414 views
Por que você não deveria CONFIAR em IAs
15:28
Por que você não deveria CONFIAR em IAs
Ciência Todo Dia
873,641 views
Deixe as Senhas Seguras no Banco de Dados
17:37
Deixe as Senhas Seguras no Banco de Dados
Código Fonte TV
26,759 views
O mínimo que você precisa saber sobre ANSIBLE!
26:17
O mínimo que você precisa saber sobre ANSI...
Diolinux
59,156 views
XP Programming (COMECE POR AQUI) // Dicionário do Programador
19:31
XP Programming (COMECE POR AQUI) // Dicion...
Código Fonte TV
10,095 views
Padrões de Observabilidade em Microservices
19:23
Padrões de Observabilidade em Microservices
Michelli Brito
6,582 views
Copyright © 2025. Made with ♥ in London by YTScribe.com