SLIs: Como Diferenciar Falhas Críticas de Falhas Toleráveis na Prática

Aprenda a implementar SLIs que ajudam a diferenciar falhas críticas de falhas toleráveis, melhorando a confiabilidade do seu sistema.

O que são SLIs e por que são importantes?

Os Indicadores de Nível de Serviço (SLIs) são métricas que quantificam a performance de um serviço em relação às expectativas dos usuários. Eles são essenciais para entender como um serviço está performando e para identificar se a qualidade do serviço está sendo mantida.

Diferença entre falhas críticas e falhas toleráveis

Entender a diferença entre falhas críticas e falhas toleráveis é crucial para a criação de SLIs eficazes.

  • Falhas Críticas: São aquelas que impactam diretamente a experiência do usuário e podem resultar em perda de receita ou confiança. Por exemplo, a incapacidade de um cliente acessar uma funcionalidade essencial.
  • Falhas Toleráveis: Essas falhas podem ser aceitas dentro de certos limites sem impactar severamente a experiência do usuário. Um exemplo seria um pequeno atraso na atualização de um painel de controle.

Definindo SLIs

Para definir SLIs que diferenciem entre esses tipos de falhas, você deve:

  1. Identificar as funcionalidades críticas do serviço.
  2. Estabelecer métricas que reflitam a performance dessas funcionalidades.
  3. Definir thresholds que ajudem a categorizar as falhas.

Exemplos de SLIs

SLI Descrição Tipo de Falha
Tempo de Resposta Tempo médio para responder a uma requisição Crítica
Taxa de Erros Porcentagem de requisições com erros Crítica
Disponibilidade Percentual de tempo em que o serviço está disponível Tolerável

Implementando SLIs em sua infraestrutura

A implementação de SLIs deve ser feita com ferramentas de monitoramento que permitam a coleta e análise de dados. Algumas ferramentas populares incluem:

  • Prometheus
  • Grafana
  • Datadog

Código de Exemplo

Aqui está um exemplo de como você pode coletar dados de latência usando Prometheus:

# Exemplo de configuração do Prometheus
scrape_configs:
  - job_name: 'meu_servico'
    static_configs:
      - targets: ['localhost:8080']

Este código configura o Prometheus para coletar métricas do seu serviço em execução na porta 8080.

O que o código faz?

O código acima define um trabalho no Prometheus que irá monitorar seu serviço e coletar métricas de latência. Isso permite que você crie SLIs baseados na latência das requisições, ajudando a identificar rapidamente se a sua aplicação está enfrentando problemas de performance.

Estabelecendo thresholds

Uma vez que você tenha seus SLIs definidos, é importante estabelecer thresholds que ajudem a diferenciar entre falhas críticas e toleráveis. Por exemplo, se a latência média ultrapassar 200ms, isso pode ser considerado uma falha crítica, enquanto latências entre 100ms e 200ms podem ser vistas como toleráveis.

Monitoramento contínuo e ajustes

Um aspecto vital da criação de SLIs é o monitoramento contínuo. Você deve revisar e ajustar seus SLIs regularmente para garantir que eles ainda sejam relevantes em relação às expectativas dos usuários e às mudanças no serviço.

Conclusão

Criar SLIs que diferenciem falhas críticas de falhas toleráveis é uma parte fundamental da prática de SRE. Isso não apenas ajuda a manter a qualidade do serviço, mas também direciona os esforços da equipe para áreas que realmente importam para os usuários. Ao implementar e monitorar esses SLIs, você estará mais bem preparado para responder a incidentes e garantir a confiabilidade do seu sistema.

Contribuições de Rafael Guimarães

Compartilhe este tutorial: Como criar SLIs que diferenciem falhas críticas de falhas toleráveis?

Compartilhe este tutorial

Continue aprendendo:

Como usar SLOs como critérios de sucesso de projeto?

Entenda como SLOs podem ser usados como critérios de sucesso em projetos SRE, garantindo confiabilidade e desempenho.

Tutorial anterior

Como lidar com incidentes que afetam SLAs mas não os SLOs?

Estratégias para gerenciar incidentes que impactam SLAs sem comprometer os SLOs.

Próximo tutorial