Neste documento do Framework de arquitetura do Google Cloud, descrevemos como escolher indicadores de nível de serviço (SLIs) apropriados para seu serviço. Este documento se baseia nos conceitos definidos em Componentes dos SLOs.
As métricas são necessárias para determinar se os objetivos de nível de serviço (SLOs) estão sendo alcançados. Você define essas métricas como SLIs. Cada SLI é a medição de um aspecto específico do seu serviço, como tempo de resposta, disponibilidade ou taxa de sucesso.
Os SLOs incluem um ou mais SLIs e são, idealmente, baseados em jornadas críticas do usuário (CUJs). As CUJs se referem a um conjunto específico de interações ou caminhos do usuário que ele segue para alcançar um objetivo em um site. Imagine um cliente comprando em um serviço de comércio eletrônico. O cliente faz login, pesquisa um produto, adiciona o item a um carrinho, navega até a página de finalização da compra e finaliza a compra. As CUJs identificam as diferentes maneiras de ajudar os usuários a concluir tarefas o mais rápido possível.
Ao escolher SLIs, você precisa considerar as métricas adequadas para seu serviço, os vários tipos de métricas que podem ser usados, a qualidade da métrica e o número correto de métricas necessárias.
Escolher SLIs apropriados para seu tipo de serviço
Há muitos tipos de serviço. A tabela a seguir lista os tipos de serviço comuns e fornece exemplos de SLIs para cada um. Alguns SLIs são aplicáveis a vários tipos de serviço. Se um SLI aparecer mais de uma vez na tabela, somente a primeira instância de SLI fornecerá uma definição. Lembre-se de que os SLIs geralmente são expressos pelo número de "noves" na métrica.
Tipo de serviço | SLIs típicos |
---|---|
Sistemas de veiculação |
|
Sistemas de processamento de dados |
|
Sistemas de armazenamento |
|
Sistemas de drive de solicitação |
|
Sistemas de execução programada |
|
Avaliar diferentes tipos de métricas
Além de escolher o SLI apropriado para seu serviço, você precisa decidir o tipo de métrica a ser usado no seu SLI. Os SLIs listados na seção anterior tendem a ser dos seguintes tipos:
- Counter: esse tipo de métrica pode aumentar, mas não diminuir. Por exemplo, o número de erros que ocorreram até um determinado ponto de medição.
- Gauge: esse tipo de métrica pode aumentar ou diminuir. Por exemplo, o valor real de uma parte mensurável do sistema, como o comprimento da fila.
- Distribuição (histograma): o número de eventos que habitam um segmento de medição específico para um determinado período. Por exemplo, medir quantas solicitações levam de 0 a 10 ms para serem concluídas, quantas levam de 11 a 30 ms e quantas levam de 31 a 100 ms. O resultado é uma contagem para cada bucket, como [0-10: 50], [11-30: 220] e [31-100: 1103].
Para mais informações sobre esses tipos, consulte a documentação do projeto do Prometheus e os Tipos de valor e de métrica no Cloud Monitoring.
Considerar a qualidade da métrica
Nem toda métrica é útil. Além de ser uma proporção de eventos bem-sucedidos para total de eventos, você precisa determinar se uma métrica é um bom SLI para suas necessidades. Para ajudar você nessa determinação, considere as seguintes características de uma boa métrica:
As métricas estão diretamente relacionadas à satisfação do usuário. Os usuários ficam insatisfeitos quando um serviço não se comporta conforme o esperado, como quando o serviço é lento, impreciso ou falha completamente. Valide qualquer SLO com base nessas métricas comparando o SLI com outros sinais de satisfação do usuário. Essa comparação inclui dados como o número de tíquetes de reclamações dos clientes, o volume de chamadas de suporte e o sentimento nas mídias sociais. Para saber mais, consulte Melhoria contínua das metas do SLO.
Se a métrica não estiver alinhada com esses outros indicadores de satisfação do usuário, talvez não seja um bom SLI.
A deterioração da métrica está relacionada a falhas temporárias. Qualquer métrica que informe bons resultados de serviço durante uma interrupção é claramente a métrica errada para um SLI. Por outro lado, uma métrica que parece ruim durante a operação normal também é problemática.
A métrica fornece uma boa proporção sinal/ruído. Descarte todas as métricas que resultem em um grande número de falsos negativos ou falsos positivos.
A métrica é escalonada monotonicamente e, de maneira linear, com satisfação no cliente. Simplificando, à medida que a métrica melhora, a satisfação do cliente também melhora.
Selecione o número correto de métricas
Um único serviço pode ter vários SLIs, especialmente se executar diferentes tipos de trabalho ou atender a diferentes tipos de usuários. É melhor escolher as métricas apropriadas para cada tipo.
Por outro lado, alguns serviços executam tipos de trabalho semelhantes que podem ser diretamente comparáveis. Por exemplo, usuários visualizando páginas diferentes no seu site (como a página inicial, as subcategorias e a lista dos 10 principais). Em vez de desenvolver um SLI separado para cada uma dessas ações, combine-as em uma única categoria de SLI, como serviços de navegação.
As expectativas dos usuários não mudam muito entre ações de uma categoria semelhante. Sua felicidade é quantificável por uma resposta a uma pergunta: "Eu vi uma página inteira de itens rapidamente?"
Usar o menor número possível de SLIs para representar com precisão suas tolerâncias de serviço. Como guia geral, use de dois a seis SLIs. Se você tiver poucos SLIs, pode perder sinais valiosos. Excesso de dados, e a equipe de suporte tem muitos dados disponíveis, com pouco benefício adicional. Os SLIs precisam simplificar sua compreensão da integridade da produção e fornecer uma sensação de cobertura, não sobrecarregar (ou submeter você) você.
A seguir
- Leia Medir seus SL0s.
- Confira outros recursos SRE:
- Explore outras categorias no Framework da arquitetura.
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.