A capacidade de observação fornece visibilidade profunda em aplicativos modernos distribuídos para identificação e resolução de problemas mais rápidas e automatizadas.
Em geral, observabilidade é a extensão em que você pode compreender o estado ou condição interna de um sistema complexo com base apenas no conhecimento das suas saídas externas. Quanto mais observável um sistema, mais rápido e precisamente você pode navegar de um problema de desempenho identificado até a sua causa raiz, sem testes ou codificação adicionais.
Na computação em nuvem, observabilidade também se refere a ferramentas de software e práticas para agregar, correlacionar e analisar um fluxo constante de dados de desempenho de um aplicativo distribuído e do hardware em que é executado, a fim de monitorar, solucionar problemas e depurar o aplicativo de forma mais eficaz para atender as expectativas de experiência do cliente, acordos de nível de serviço (SLAs) e outros requisitos dos negócios.
Um tópico de TI relativamente novo, a observabilidade costuma ser caracterizada erroneamente como uma palavra da moda ou uma ‘reformulação’ do monitoramento do sistema no geral e do monitoramento do desempenho do aplicativo (APM – application performance monitoring) em particular. Na verdade, a capacidade de observação é uma evolução natural dos métodos de coleta de dados APM que abordam melhor a natureza cada vez mais rápida, distribuída e dinâmica das implantações de aplicativos nativos da nuvem. A capacidade de observação não substitui o monitoramento – ela permite um melhor monitoramento e melhor APM.
O termo ‘observabilidade’ vem da teoria de controle, uma área da engenharia preocupada em automatizar o controle de um sistema dinâmico – por exemplo, o fluxo de água através de um tubo ou a velocidade de um automóvel em declives e inclinações – com base no feedback do sistema.
Por que precisamos da observabilidade?
Nos últimos 20 anos ou mais, as equipes de TI confiaram principalmente no APM para monitorar e solucionar problemas de aplicativos. O APM coleta amostras e agrega dados do aplicativo e do sistema periodicamente, chamados de telemetria, que são conhecidos por estarem relacionados a problemas de desempenho do aplicativo. Ele analisa a telemetria relativa aos principais indicadores de desempenho (KPIs – key performance indicators) e reúne os resultados em um painel para alertar as operações e equipes de suporte sobre condições anormais que devem ser tratadas para resolver ou prevenir problemas.
O APM é eficaz o suficiente para monitorar e solucionar problemas de aplicativos monolíticos ou aplicativos tradicionais distribuídos, onde novos códigos são lançados periodicamente e fluxos de trabalho e dependências entre componentes de aplicativos, servidores e recursos relacionados são bem conhecidos ou fáceis de rastrear.
Mas hoje as organizações estão adotando rapidamente práticas de desenvolvimento modernas – desenvolvimento ágil, integração contínua e implantação contínua (CI / CD – Continuous Integration / Continuous Deployment), DevOps, várias linguagens de programação – e tecnologias nativas da nuvem, como micro serviços, contêineres Docker, Kubernetes e funções sem servidor. Como resultado, eles estão trazendo mais serviços ao mercado, mais rápido do que nunca. Mas, no processo, eles estão implantando novos componentes de aplicativo com tanta frequência, em tantos lugares, em tantas linguagens diferentes e por períodos de tempo tão variados (por segundos ou frações de segundo, no caso de funções sem servidor) que os APMs de amostragem de dados uma vez por minuto não conseguem acompanhar o ritmo.
O que é necessário é uma telemetria de alta qualidade – e muito mais – que pode ser usada para criar um registro de alta fidelidade, rico em contexto e totalmente correlacionado de cada solicitação ou transação do usuário do aplicativo. Insira a observabilidade.
Como funciona a observabilidade?
As plataformas de observabilidade descobrem e coletam telemetria de desempenho continuamente integrando-se à instrumentação existente embutida nos componentes de aplicativos e infraestrutura e fornecendo ferramentas para adicionar instrumentação a esses componentes. A observabilidade se concentra em quatro tipos principais de telemetria:
Depois de coletar essa telemetria, a plataforma a correlaciona em tempo real para fornecer às equipes de DevOps, equipes de engenharia de confiabilidade do local (SREs) e equipe de TI informações contextuais completas – o quê, onde e por que de qualquer evento que poderia indicar, causar ou ser usado para resolver um problema de desempenho do aplicativo.
Muitas plataformas de observabilidade descobrem automaticamente novas fontes de telemetria à medida que podem surgir no sistema (como uma nova chamada de API para outro aplicativo de software). E porque lidam com muito mais dados do que uma solução APM padrão, muitas plataformas incluem recursos AIOps (inteligência artificial para operações – artificial intelligence for operations) que filtram os sinais – indicações de problemas reais – de ruído (dados não relacionados a problemas).
Benefícios da Observabilidade
O benefício abrangente da observabilidade é que, com todas as outras coisas sendo iguais, um sistema mais observável é mais fácil de entender (em geral e em grandes detalhes), mais fácil de monitorar, mais fácil e seguro de atualizar com o novo código e mais fácil de reparar do que um sistema menos observável. Mais especificamente, a capacidade de observação oferece suporte direto às metas Agile / DevOps / SRE de fornecer software de alta qualidade mais rápido, permitindo que uma organização:
Referencia: https://www.ibm.com/cloud/learn/observability
A gestão de custos é um dos maiores desafios enfrentados pelas empresas, especialmente quando esses…
As startups, impulsionadas por inovação e agilidade, navegam em um cenário digital vibrante, mas também…
A segurança cibernética é crucial para startups, independentemente do seu tamanho ou setor de atuação.…
O gerenciamento de vulnerabilidades é o processo de identificar, avaliar, tratar e relatar vulnerabilidades de…
O DNS Cache Poisoning, ou envenenamento de cache DNS, é uma forma de ataque cibernético…
O DNS hijacking é um ataque malicioso que envolve a alteração das configurações de DNS…