Em geral, a observabilidade é a medida em que é possível entender o estado interno ou a condição de um sistema complexo, baseado apenas no conhecimento de suas saídas externas. Quanto mais observável um sistema for, de forma mais rápida e precisa é possível navegar de um problema de desempenho identificado até sua causa raiz, sem teste ou programação adicional.
Em TI e computação em cloud, a observabilidade também se refere a ferramentas e práticas de software para agregar, correlacionar e analisar um fluxo constante de dados de desempenho de um aplicativo distribuído com o hardware e a rede nos quais ele é executado. Isso é executado para monitorar, depurar e solucionar problemas do aplicativo e da rede de forma mais eficaz para atender às expectativas de experiência do cliente, aos acordos de nível de serviço (SLAs) e a outros requisitos de negócios.
A observabilidade, um assunto que ganhando terreno em TI, é muitas vezes descaracterizada como um termo da moda ou novo nome para monitoramento de sistemas, monitoramento de desempenho de aplicativos (APM) e gerenciamento de desempenho da rede (NPM). Na verdade, a observabilidade é uma evolução natural do APM e dos métodos de coleta de dados do NPM que melhor abordam a natureza cada vez mais rápida, distribuída e dinâmica das implementações de aplicativos nativos de cloud. A observabilidade não substitui o monitoramento; ela possibilita um melhor monitoramento e melhores APM e NPM.
O termo "observabilidade" tem origem na 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 cano, ou a velocidade de um automóvel em subidas e descidas, com base no feedback obtido do sistema.
Nos últimos 20 anos, as equipes de TI contavam principalmente com o APM para monitorar e solucionar problemas de aplicativos. O APM amostra e agrega periodicamente dados do aplicativo e do sistema, o que é chamado de telemetria, conhecido por estarem relacionados a problemas de desempenho de aplicativos. Ele analisa a telemetria relativa aos principais indicadores de desempenho (KPIs) e reúne os resultados em um painel para alertar as equipes de operações e de suporte a respeito de condições anormais que devem ser abordadas a fim de evitar ou resolver problemas.
O APM é eficaz o suficiente para o monitoramento e a resolução de problemas de aplicativos monolíticos ou aplicativos distribuídos tradicionais, em que um novo código é lançado periodicamente e fluxos de trabalho e dependências entre componentes, servidores e recursos relacionados do aplicativo são bem conhecidos ou fáceis de rastrear.
Mas hoje as organizações estão adotando rapidamente práticas modernas de desenvolvimento: desenvolvimento ágil, integração contínua e implementação contínua (CI/CD), DevOps, várias linguagens de programação e tecnologias nativas de cloud, como microsserviços, contêineres do Docker, Kubernetes e funções serverless. Como resultado, elas estão lançando serviços no mercado mais rápido do que nunca. Mas no processo, elas estão implementados novos componentes de aplicativos com tanta frequência, em tantos lugares, em tantas linguagens diferentes e por períodos tão diversos (por segundo ou frações de segundo, no caso de funções serverless) que a amostragem de dados de uma vez por minuto do APM não consegue acompanhar o ritmo.
O que é necessário é uma telemetria de maior qualidade (e em grande quantidade) que possa ser usada para criar um registro de alta fidelidade, repleto de contexto e totalmente correlacionado a cada solicitação ou transação feita pelo usuário do aplicativo. Entra em cena a observabilidade.
As plataformas de observabilidade descobrem e coletam telemetria de desempenho de forma contínua ao integrar-se à instrumentação existente nos componentes do aplicativo e da infraestrutura, além de fornecer ferramentas para incluir instrumentação nesses componentes. A observabilidade concentra-se em quatro tipos principais de telemetria:
Após reunir essa telemetria, a plataforma a correlaciona em tempo real para fornecer às equipes de DevOps, às equipes de engenharia de confiabilidade de site (SREs) e à equipe de TI informações completas e contextuais: o quê, onde e por que de qualquer evento que possa indicar, causar ou ser usado para abordar um problema de desempenho do aplicativo.
Muitas plataformas de observabilidade descobrem automaticamente novas fontes de telemetria, como aquelas que podem surgir de dentro do sistema (como uma nova chamada de API para outro aplicativo de software). E por lidarem com muitos mais dados do que uma solução APM padrão, muitas plataformas incluem recursos de AIOps (inteligência artificial para operações) que separam os sinais, as indicações de problemas reais, do ruído (dados não relacionados a problemas).
O benefício dominante da observabilidade é que, com todas as outras coisas sendo iguais, um sistema mais visível é mais fácil de entender (em geral e em maior detalhe), mais fácil de monitorar, mais fácil e seguro de atualizar com nova programação, e mais fácil de reparar do que um sistema menos visível. Mais especificamente, a observabilidade suporta diretamente os objetivos de Agile/DevOps/SRE de fornecer software de alta qualidade mais rapidamente, ao permitir que uma organização:
A automação impulsionada por IA pode ajudar sua empresa, dos fluxos de trabalho de negócios às operações de TI.
Descubra a plataforma de observabilidade corporativa líder para nuvens híbridas.
O IBM Cloud Pak® for Watson AIOps é uma solução de gerenciamento de operações de TI que permite aos operadores de TI colocar a IA no centro de sua cadeia de ferramentas ITOps.
Monitoramento e observabilidade são duas formas de identificar a causa subjacente de problemas: em que eles se assemelham e diferem?
Aprenda o por que e o como da observabilidade com um explicador IBM.
Este e-book é um exame do novo mundo. Nós vamos deixar todos os sentimentos ruins sobre o monitoramento para trás e dar os nossos primeiros passos no mundo da observabilidade e sua importância cada vez maior para os desenvolvedores.
As três soluções sinérgicas da BM no domínio AIOps: IBM Observability by Instana APM, Turbonomic Application Resource Management for IBM Cloud Paks e IBM Cloud Pak® for Watson AIOps.