Em minha visita ao AWSome Women Community Summit Brasil 2024, pude assistir uma apresentação da Isadora Ribeiro sobre o tema "Promovendo métricas de aplicação ao próximo nível”, essa palestra ampliou minha compreensão e me incentivou a pesquisar mais a fundo sobre alguns dos tópicos que aqui serão abordados.
Quando ouvimos os termos monitoramento e observabilidade, é comum assumir que eles são sinônimos. No entanto, essa visão não está alinhada com a realidade.
Para entender melhor as distinções entre esses conceitos, podemos olhar para o passado, mais precisamente há cerca de duas décadas. Naquele período, a maioria das aplicações estavam sendo desenvolvidas como monólitos e as métricas que realmente importavam eram básicas: uso de CPU, espaço em disco e memória RAM. Nesse cenário, um alto consumo de CPU resultava em ações reativas, sem que se pudesse identificar a causa do problema ou como ele impactava os usuários.
Com a evolução das arquiteturas de sistemas, os monólitos foram substituídos por micros-serviços, devido à alta complexidade de gerenciar esses sistemas, enquanto que a infraestrutura on-premises começou a dar lugar à nuvem. Nesse novo contexto, passou a ser ainda mais desafiador compreender as interações entre componentes somente através da monitoração, é aqui que a observabilidade se torna essencial.
A observabilidade é uma abordagem que envolve a coleta e análise de dados para entender melhor o comportamento do sistema. Seus principais pilares incluem:
Métricas: Dados numéricos que oferecem insights em tempo real sobre a saúde do sistema.
Logs: Registros detalhados que narram o que aconteceu, como ocorreu e porque ocorreu.
Traces: Rastreiam as interações entre os componentes do sistema, ajudando a identificar gargalos e relações que podem indicar problemas.
Esses elementos juntos formam a base da observabilidade, que permite uma compreensão mais profunda dos sistemas através da análise de todos esses dados.
A diferença do monitoramento e observabilidade é entre outras coisas a seguinte: o monitoramento fornece uma visão externa do sistema, informando se ele está funcionando corretamente ou não, enquanto a observabilidade oferece uma perspectiva interna, permitindo entender a causa raiz dos problemas. Sem a observabilidade, as equipes ficam à mercê dos problemas, esperando que eles ocorram. Com a observabilidade, é possível agir proativamente, mitigando-os muitas vezes antes possam impactar a experiência dos clientes.
Além disso, um dos principais objetivos dessa cultura é capacitar as equipes a tomarem decisões resolutivas, levando em conta a complexidade e o contexto de cada serviço ou sistema. A evangelização da cultura DevOps entre as equipes de desenvolvimento e operações torna-se crucial para implementar práticas de observabilidade efetivas.
Ferramentas como Datadog, New Relic e Dynatrace estão entre as maiores do mercado nesses segmentos, cada uma oferecendo recursos específicos para monitoramento e observação. À medida que as tecnologias avançam, o uso de inteligência artificial e machine learning para analisar dados e detectar anomalias, também promete transformar a forma como as equipes abordam a observabilidade. Algumas dessas empresas já entregam funcionalidades capazes de estabelecer a régua das métricas de monitoramento, bem como identificar e tomar decisões automatizadas de forma prévia.
Resumidamente, a implementação da observabilidade como um todo não só melhora a saúde dos sistemas, mas também enriquece a experiência do usuário, permitindo identificar problemas antes que eles afetem os clientes. A observabilidade se revela uma cultura capaz de promover eficiência e resiliência nas aplicações.
Como você tem observado suas aplicações?
Algumas referências:
APM vs Observability.
OBSERVABILITY VS. MONITORING.
Observability vs. APM vs. Monitoring.
Observability vs monitoring and its effect on the customer experience.
Top comments (0)