O que é capacidade de observação? – ServiceNow
O que é capacidade de observação?
Capacidade de observação é a capacidade baseada em software de explicar qualquer estado de um sistema, com base nas saídas externas.
Muitas vezes, quanto mais avançado e qualificado um sistema, mais complexo ele se torna. Infelizmente, com esse aumento da complexidade, aumenta a imprevisibilidade e ocorrem falhas, gargalos de desempenho, bugs etc. Determinar a causa raiz dessas ocorrências nem sempre é uma questão simples. Com sistemas modernos e complexos, aumenta não só a probabilidade de falha inesperada, mas também o número de modos de falha possíveis. Para combater essa tendência, as equipes de TI, desenvolvimento e operações começaram a implementar ferramentas de monitoramento que podem analisar os próprios sistemas.
Mas o progresso avança, e a complexidade dos sistemas atuais está ultrapassando as habilidades tradicionais de monitoramento. Hoje, a estratégia comprovada para proteger sistemas contra falhas desconhecidas não é o monitoramento; é tornar o sistema mais monitorável, com a capacidade de observação.
Capacidade de observação versus monitoramento
A distinção entre capacidade de observação e monitoramento é sutil, mas importante. Analisar as habilidades e os objetivos de cada um deles pode ajudar as equipes a entender melhor essa distinção e aproveitar melhor suas estratégias de capacidade de observação.
O monitoramento permite que os usuários observem e interpretem o estado de um sistema usando uma série predefinida de métricas e logs. Em outras palavras, ele permite que você detecte conjuntos conhecidos de modos de falha. O monitoramento é crucial para analisar tendências, criar painéis e alertar as equipes de resposta sobre problemas à medida que eles surgem. Ele apresenta informações sobre como seus aplicativos estão funcionando, como estão aumentando e como estão sendo usados. No entanto, o monitoramento depende de uma compreensão clara dos possíveis modos de falha. Em outras palavras, ele pode ajudar você a identificar "desconhecidos conhecidos" (riscos dos quais você já está ciente), mas não pode ajudar você a lidar com "desconhecidos não conhecidos" (riscos totalmente inesperados que não foram considerados e, portanto, são impossíveis de monitorar completamente).
Isso é problemático porque, na maioria dos sistemas complexos, os desconhecidos não conhecidos superam muito em número os desconhecidos conhecidos para os quais é relativamente fácil se preparar. Mais assustador ainda é o fato de que a maioria desses desconhecidos não conhecidos — muitas vezes, chamados de pontos cegos — é tão improvável que identificar e planejar-se para eles seria um desperdício colossal de esforço; é justamente o volume de possíveis desconhecidos não conhecidos que os tornam uma ameaça. Por isso, como não é possível prever quais serão esses problemas ou, até mesmo, como monitorá-los, você deve reunir constantemente o máximo de contexto possível do próprio sistema. A capacidade de observação apresenta esse contexto. Ela evita verificações de integridade e, em vez disso, examina profundamente como o próprio software funciona. Ela mede a sua compreensão do estado interno de um sistema com base nas saídas externas, usando instrumentos para ajudar você a obter informações e auxiliar no monitoramento.
O monitoramento é o que acontece depois que algo é observável. Sem a capacidade de observação, o monitoramento não é possível.
Por que a capacidade de observação é importante?
Os programas de software estão se tornando cada vez mais complexos a cada dia. Há uma combinação de padrões de infraestrutura, como microsserviços, persistência Polyglot e contêineres, que continua decompondo contêineres maiores em sistemas menores e complexos.
Ao mesmo tempo, a quantidade de produtos está aumentando e há muitas plataformas e maneiras de permitir que as organizações façam coisas novas e inovadoras. Os ambientes também estão se tornando cada vez mais complexos, e nem todas as organizações estão lidando com o aumento dos problemas que estão surgindo. Sem um sistema observável, a causa dos problemas é desconhecida e não há um ponto de partida padrão.
Quais são os objetivos da capacidade de observação?
O objetivo principal da capacidade de observação é a confiabilidade. Uma infraestrutura eficaz de TI que funciona de forma adequada e confiável de acordo com as necessidades do cliente requer uma medição do desempenho. As ferramentas de capacidade de observação informam o comportamento do usuário, a disponibilidade do sistema, a capacidade e a velocidade da rede para garantir que tudo esteja funcionando de modo ideal.
As organizações sujeitas à conformidade devem ter capacidade de observação para seus ambientes de computação. A visibilidade total da capacidade de observação por meio dos logs de eventos permite que as organizações detectem possíveis intrusos, ameaças à segurança, tentativas de força bruta ou possíveis ataques de DDoS.
A capacidade de analisar eventos gera informações valiosas sobre comportamentos e como eles podem ser afetados por variáveis como formato do aplicativo, velocidade etc. Todos esses dados podem ser analisados para obter informações úteis sobre otimização de rede e de aplicativos a fim de gerar receita e atrair novos clientes.
Formatos dos dados de capacidade de observação
A capacidade de observação é dividida em três pilares: logs, métricas e rastreamentos.
Esse é o registro de um evento que ocorreu em um sistema. Os logs são gerados automaticamente, marcados com data e hora e gravados em um arquivo que não pode ser modificado. Eles oferecem um registro completo dos eventos, incluindo metadados sobre o estado de um sistema e quando o evento aconteceu. Eles podem ser escritos em texto simples ou estruturados em um formato específico.
As métricas são representações numéricas dos dados medidos ao longo do tempo. Enquanto os logs de eventos coletam informações sobre eventos específicos, as métricas são valores medidos derivados do desempenho geral do sistema. Normalmente, elas apresentam informações sobre SLIs de aplicativos.
Um registro de eventos relacionados a causalidades, à medida que ocorrem em uma rede. Os eventos não precisam acontecer em um só aplicativo, mas devem fazer parte do mesmo fluxo de solicitação. O rastreamento pode ser formatado como uma lista de logs de eventos coletados de sistemas separados envolvidos na execução de solicitação.
Aprimoramento da capacidade de observação
Os três pilares da capacidade de observação ajudam a reunir fontes de dados com as quais, de outro modo, seria difícil tirar conclusões. Isso porque, em sua essência, a capacidade de observação depende de duas coisas:
Dados de telemetria de alto contexto com muito contexto de tempo de execução.
A capacidade de interagir com esses dados iterativamente para obter novas informações sem implantar código.
Quando esses dois fatores estão em vigor, os negócios têm os recursos brutos necessários para aprimorar a capacidade de observação de sistemas e aplicativos.
Como ampliar a capacidade de observação para as equipes de TI
A capacidade de observação só é eficaz quando é viável; todos os dados de telemetria contextualizados do mundo serão inúteis se as equipes não tiverem os recursos necessários para torná-los úteis.
Contexto e topologia
Contexto e topologia se referem à instrumentação de uma maneira que permita a compreensão das relações em um ambiente dinâmico e de várias nuvens com muitos componentes interconectados. Os metadados de contexto possibilitam mapas de topologia em tempo real e promovem a compreensão de dependências causais em todo o conjunto e entre serviços, processos e hosts.
As iniciativas de TI não contam mais com configuração manual agora que há detecção, instrumentação e criação de linha de base automáticas de todos os componentes do sistema. A automação contínua agrega projetos de inovação que priorizam o entendimento do que é importante. A capacidade de observação é escalonável, o que permite que as equipes restritas façam mais com menos.
Uma análise exaustiva da árvore de falha, em conjunto com a visibilidade em nível de código, permite a identificação da causa raiz das anomalias sem depender de tentativa e erro, adivinhação ou correlação. A IA com base em causalidade também detecta qualquer coisa incomum para descobrir o que é desconhecido.
É recomendável ampliar a capacidade de observação para incluir fontes de dados externas. Ela pode oferecer mapeamento de topologia, detecção e instrumentação automáticas e respostas úteis necessárias para a capacidade de observação em escala.