SLI, SLO, SLA em 8 passos

Medir, alinhar e evoluir. Essa é a essência por trás dos níveis de serviço. SLI, SLO e SLA não devem ser tratados como burocracia, mas como instrumentos vivos de governança técnica. Quando bem definidos e compartilhados com o time, viram bússola para decisões e blindagem para promessas. No fim das contas, quem domina esses conceitos entrega mais, com menos ruído, e com muito mais confiança.

SLI, SLO e SLA são mais do que siglas técnicas, são o alicerce da entrega de valor em produtos digitais. Assim, elas conectam o que a engenharia faz com o que o cliente realmente percebe como qualidade. Desse modo, quando aplicados com inteligência, permitem transformar confiabilidade em estratégia, e estratégia em resultado. Então, neste artigo SLI, SLO, SLA em 8 passos, mostro como esses três conceitos se articulam e como adotá-los de forma prática em oito passos.

Mas, além do artigo SLI, SLO, SLA em 8 passos, aqui no blog também temos diversos outros artigos sobre kubernetes, desenvolvimento, gestão, devops, etc. Veja alguns exemplos: Diferenças entre Paradigmas, Axiomas e HipótesesDesenvolver na empresa ou comprar prontoFuja da otimização prematura, entre outros.

Visão geral dos níveis de serviço

Quando a meta é entregar excelência técnica e boa experiência para o cliente, não dá para contar só com sorte ou boa vontade. Assim, é preciso saber o que medir, onde mirar e o que prometer. Então é aí que entram os famosos SLI, SLO e SLA. Esses conceitos são o tripé que sustenta a confiabilidade dos seus sistemas. Mais do que jargões, são ferramentas práticas de engenharia com gestão de serviços.

O principal objetivo é entregar a melhor experiencia para o cliente. Como saber o que é melhor experiencia? O SLI, SLO e SLA podem ajudar a responder. Eles ajudam colocar a estratégia da TI diretamente nos serviços entregues, sendo pilares para medição da entrega e qualidade. mas veja que isso precisa ser muito bem alinhado com a equipe e não algo top-down, se possível.

A proposta aqui não é simplesmente seguir frameworks como ITIL ou fazer dailies com cards. É medir o que importa para o cliente e alinhar isso com metas realistas para a engenharia. É uma ponte entre a confiabilidade técnica e o valor percebido pelo usuário.

SLI – Service Level Indicator

O SLI é a régua. É a métrica que você escolhe para representar se um sistema está bom ou não. Mas atenção: não existe SLI genérico e sim uma para cada cenário em específico. Em uma potencial corretora de criptomoedas como a AnselmeX, um bom SLI pode ser o tempo médio de execução de uma ordem de compra/venda. Outro SLI possível: percentual de requisições HTTP que retornam 200 em menos de 500ms.

Podemos definir para nosso entendimento o SLI:

SLI 1: percentual de tempo médio de execução de uma ordem de compra/venda de até 5segundos.

Veja também que devemos observar claramente os SLIs de casos com sucesso e sem sucesso. Por exemplo, se uma requisição devolve HTTP 500 em 4 segundos, ela está dentro do SLI mas deve ser vista separadamente por que ela é um indicador muito perigoso. O tempo de resposta de erros deve ser o mais curto possível.

SLO – Service Level Objective

O SLO é o alvo que você deseja acertar. É o número que define o sucesso no SLI. Se o seu SLI for o tempo de resposta da API, seu SLO pode ser:

SLO: O SLI1 deve alcançar 90% de sucesso

Mas, note bem, não coloquei 100% ou 99,99%. Cada 9 a mais custa caro e muitas vezes, o cliente nem percebe essa diferença. Portanto, cuidado com a vaidade técnica e escolha metas que façam sentido de verdade para o negócio. E outra: SLO é interno. É um compromisso do time de engenharia, uma meta técnica que orienta decisões como alertas, melhorias e débitos técnicos, portanto, o cliente não participa nesse momento.

SLA – Service Level Agreement

O SLA é um contrato, uma assinatura entre as TI (prestadora de serviços) e o cliente (usuário do serviço). Esse contrato é formal que estabelece exatamente como o serviço deve funcionar, o que acontece se ele falhar e quais são os indicadores, tolerâncias e penalidades envolvidas.

SLA: O SLI1 deve alcançar 80% de sucesso, sob multa de R$ 1000 cara cada 10min. 5 violações cancelam imediatamente o contrato.

Uma prática comum e inteligente é manter um SLO interno mais rigoroso do que o estabelecido no SLA. Isso cria uma margem de segurança e ajuda a evitar dores de cabeça futuras, mas há de se analisar caso a caso.

SLI, SLO, SLA em 8 passos

Não meça tudo. Você vai afundar em complexidade sem entregar valor, além de gerar muitos custos. Já ouvi muitas vezes na minha carreira e isso deve ser sempre levado em conta: Controle é custo! Controle apenas o realmente necessário. Não comece com mais do que 5 indicadores. Então, fiz um pequeno roteiro para definição do que medir num ambiente novo:

  1. Liste os serviços que você oferece.
  2. Escolha os mais críticos (impacto alto + visibilidade).
  3. Faça brainstorming de possíveis SLIs para cada um.
  4. Avalie o custo/esforço de coleta de cada SLI.
  5. Escolha os melhores candidatos (maior valor com menor custo).
  6. Estabeleça os SLOs com time técnico (envolvendo DEV, QA, segurança, produto, etc.)
  7. Só depois disso transforme em SLA com o cliente.
  8. Melhoria contínua

Melhoria contínua e maturidade

Antes de prometer para fora, valide por dentro. Os SLOs devem estar estabilizados internamente antes de virarem compromisso oficial. E mais: devem ser exibidos de forma clara para o time, como comentei no artigo sobre feedback tático. Mostre os números, discuta os resultados, ajuste conforme a maturidade do serviço.

Conclusão de SLI, SLO, SLA em 8 passos

Medir, alinhar e evoluir. Essa é a essência por trás dos níveis de serviço. SLI, SLO e SLA não devem ser tratados como burocracia, mas como instrumentos vivos de governança técnica. Quando bem definidos e compartilhados com o time, viram bússola para decisões e blindagem para promessas. No fim das contas, quem domina esses conceitos entrega mais, com menos ruído, e com muito mais confiança.


Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Pacote Full Stack