Maximizando a Observabilidade do Sistema Cloud para o Sucesso
Aprenda a investir de forma inteligente em observabilidade para sistemas na nuvem.
― 7 min ler
A Observabilidade em sistemas de nuvem é sobre entender o que tá rolando nesses sistemas, coletando e analisando vários tipos de Dados. Pra tirar o melhor proveito da observabilidade, as organizações precisam saber quais insights são mais valiosos e como coletá-los de forma eficaz. Esse artigo vai falar sobre alguns desafios comuns de implementar a observabilidade nas organizações e como superá-los usando análise de Retorno Sobre Investimento (RoI).
O que é Observabilidade?
Observabilidade é conseguir ver o que tá acontecendo nos seus sistemas ao coletar Sinais-como logs, Métricas e rastros-dos sistemas que você tá monitorando. Esses sinais ajudam você a tomar decisões informadas e agir quando necessário.
Em sistemas de nuvem, que muitas vezes usam containers e microsserviços, a observabilidade é crucial, já que esses sistemas são formados por várias partes pequenas que podem mudar o tempo todo. O desafio é saber quais sinais valem a pena rastrear e como coletá-los de forma eficiente.
A Necessidade de Investimento
Pra ganhar esses insights, as organizações precisam investir tempo e recursos. Esse investimento pode assumir diferentes formas e levar a vários tipos de retornos. Por exemplo, se uma empresa investir grana e esforço pra montar um bom sistema de observabilidade, pode economizar custos a longo prazo ou permitir uma entrega mais rápida de novas funcionalidades.
Todo investimento tem seu custo. Aqui estão algumas áreas comuns onde as organizações precisam gastar:
Fontes: Isso envolve embutir um código de rastreamento no software. Isso pode exigir trabalho manual ou o uso de ferramentas que adicionam rastreamento automaticamente, o que pode deixar seu sistema mais lento.
Agentes: Esses são programas que rodam em segundo plano, coletando e processando dados dos seus sistemas. Eles também precisam de atualizações regulares e manutenção.
Destinos: Isso se refere a onde os dados coletados são armazenados e processados. Os custos podem variar bastante dependendo de como os dados são cobrados-pelo número de eventos, armazenamento ou consultas.
Algumas organizações enfrentam a decisão de comprar soluções prontas ou construir suas próprias. Usar ferramentas de código aberto pode trazer benefícios, como segurança melhor e suporte da comunidade, mas exige um compromisso de manter as atualizações e melhorias.
O Conceito de RoI
RoI significa Retorno sobre Investimento. Quando as organizações investem em observabilidade, elas querem saber quais benefícios vão ter em troca. Esses retornos podem vir de várias formas, como:
Economia de Custos: Conseguir fazer mais com menos recursos.
Desenvolvimento Mais Rápido: Ajudar equipes a entregar funcionalidades ou correções mais rápido.
Satisfação do Cliente Melhorada: Manter os clientes informados e felizes durante um incidente.
Pra entender os benefícios da observabilidade, as organizações devem analisar seus sistemas atuais e como podem melhorar.
De Metas a Insights
Pra tornar a observabilidade eficaz, as organizações precisam definir metas claras. Essas metas podem ser técnicas-como reduzir o tempo de inatividade-ou relacionadas ao negócio, como aumentar as vendas. Uma vez que você tem uma meta, pode trabalhar de trás pra frente pra determinar quais insights você precisa rastrear.
Por exemplo, se sua meta é acelerar a recuperação de falhas de sistema, você vai querer insights que destaquem taxas de erro e duração da inatividade. Se o objetivo é melhorar a experiência do cliente, você poderia focar em métricas relacionadas a tempos de resposta.
O que Torna Insights Acionáveis?
Um insight acionável é aquele que permite que você tome uma ação. Por exemplo, se você recebe uma mensagem de erro vaga, isso não ajuda. Porém, se um insight te diz a causa exata do erro e como resolver, isso é acionável.
Insights podem ser pra humanos-como engenheiros vendo dashboards-ou pra máquinas-sistemas automatizados que monitoram dados e disparam ações quando necessário.
Identificando Insights Úteis
Pra identificar insights úteis, é bom saber em quais sinais você deve focar. Isso pode ser feito concordando com as metas com sua equipe e trabalhando de trás pra frente a partir dessas metas. Metas comuns a considerar incluem:
- Reduzir o tempo que leva pra consertar um sistema após uma falha.
- Acelerar o processo de desenvolvimento enviando mais funcionalidades.
- Otimizar o uso de recursos com base em dados de desempenho.
Ter metas claras garante que seus esforços de observabilidade sejam focados e valiosos, em vez de um fardo de custo extra.
Escolhendo os Sinais Certos
Agora que você sabe quais insights são necessários, o próximo passo é escolher os sinais certos pra esses insights. A escolha dos sinais deve levar em conta seu custo, riscos e o valor que trazem.
Custos dos Sinais
Diferentes tipos de sinais têm custos e desafios diferentes:
Logs: Esses costumam ser fáceis de gerar, mas podem criar muito ruído e aumentar as necessidades de armazenamento. Logs são úteis, mas podem ser opressivos se forem muitos e não bem organizados.
Métricas: Esses são indicadores de desempenho que podem fornecer informações valiosas. Porém, coletar métricas demais pode gerar confusão e desperdício de recursos. É importante focar em métricas que serão realmente usadas em relatórios ou alertas.
Rastros: Esses ajudam a rastrear o fluxo de requisições pelos sistemas. Podem ser complexos, especialmente em sistemas onde as requisições podem seguir vários caminhos. Um rastreamento eficaz pode fornecer insights sobre como um serviço está performando.
Perfis: O perfilamento fornece informações sobre como o código está rodando. Embora útil, requer uma gestão cuidadosa pra garantir que não atrapalhe o sistema ou adicione complexidade desnecessária.
Estratégias Eficazes para Observabilidade
Quando começar com observabilidade, considere esses pontos chave:
Defina Metas Claras: Colabore com todos os stakeholders relevantes pra identificar quais metas o sistema de observabilidade deve buscar.
Avalie Custos e Retornos: Entenda os investimentos envolvidos e como eles vão se traduzir em retornos. Comunique isso claramente aos stakeholders.
Comprar vs. Construir: Decida se criar sua própria solução oferece uma vantagem competitiva ou se comprar uma solução seria mais benéfico.
Use Padrões Abertos: Usar ferramentas de código aberto e formatos padrão pode ajudar a evitar dependência de fornecedor e facilitar integração e colaboração.
Valorize Rastros Distribuídos: Em sistemas complexos, os rastros oferecem mais insights do que logs sozinhos, então considere isso como prioridade.
Automatize Onde For Possível: Procure maneiras de automatizar a coleta e o processamento de dados pra tornar a observabilidade mais eficiente e menos suscetível a erros humanos.
Conclusão
Implementar um sistema de observabilidade é um investimento que pode trazer benefícios significativos pras organizações. Ao focar em metas claras, insights acionáveis e seleção eficiente de sinais, as empresas podem criar um sistema que realmente traz valor. É essencial que as organizações se comprometam a manter esses sistemas e envolvam todos os stakeholders no processo. O feedback e as experiências compartilhadas podem ainda melhorar a jornada de observabilidade e levar a resultados melhores.
Título: Return on Investment Driven Observability
Resumo: Observability, in cloud native systems, is the capability to continuously generate and discover actionable insights, based on signals from the system under observation. How do you know what insights are the most useful ones? What signals should you be using to generate insights? This article discusses challenges arising when rolling out observability in organizations and how you can, based on Return on Investment (RoI) analysis, address said challenges.
Autores: Michael Hausenblas
Última atualização: 2023-03-23 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2303.13402
Fonte PDF: https://arxiv.org/pdf/2303.13402
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- https://glossary.cncf.io/observability/
- https://opentelemetry.io/docs/
- https://www.investopedia.com/terms/r/returnoninvestment.asp
- https://github.com/readme/guides/open-source-observability/
- https://ai.googleblog.com/2021/09/discovering-anomalous-data-with-self.html
- https://www.splunk.com/en_us/blog/devops/using-observability-to-reduce-mttr.html
- https://newrelic.com/devops/how-to-reduce-mttr
- https://www.elastic.co/blog/elasticon-global-observability
- https://www.honeycomb.io/blog/understanding-distributed-tracing-message-bus
- https://www.polarsignals.com/blog/posts/2023/03/21/designing-your-indexes/