Neste documento, o framework de arquitetura do Google Cloud define os principais conceitos necessários para entender e criar objetivos de nível de serviço (SLOs, na sigla em inglês).
Em sua essência, os SLOs refletem as metas de confiabilidade do serviço que você fornece aos usuários. É importante incluir a opinião de todas as partes interessadas críticas ao definir esses objetivos. Muitos grupos e níveis de gerenciamento diferentes têm um grande interesse no seu serviço. Isso inclui proprietários de empresas, proprietários de produtos, executivos, engenheiros, equipes de suporte, operações, vendas e quaisquer outras equipes associadas ao serviço.
Existem muitas maneiras de saber a opinião das partes interessadas, dependendo da escolha de objetivos de confiabilidade diferentes. Como você escolhe os objetivos depende de você e da sua organização com base em requisitos, partes interessadas e outros fatores. Esse processo está fora do escopo deste guia, mas uma abordagem simples é criar um documento compartilhado que descreva os SLOs e como você os desenvolveu. Sua equipe pode iterar o documento à medida que ele é implementado e continua a melhorar os SLOs ao longo do tempo.
As seções a seguir definem os vários componentes dos SLOs.
Nível de serviço
Um nível de serviço é uma medida do desempenho de um serviço para o usuário. Essa métrica pode ser descrita em termos de satisfação do usuário e medida por vários métodos que dependem das características exclusivas do serviço, da base de usuários e das expectativas dos usuários. Neste guia, associamos o desempenho à confiabilidade do sistema.
Exemplo de nível de serviço: nossos usuários esperam que o serviço esteja disponível e seja rápido.
Indicador de nível de serviço
Um indicador de nível de serviço (SLI) é um medidor de satisfação do usuário que pode ser medido quantitativamente. Um indicador é semelhante a uma linha em um gráfico que muda ao longo do tempo à medida que o serviço melhora ou piora. Para avaliar um nível de serviço, escolha um indicador que represente algum aspecto da satisfação do usuário. A disponibilidade é um SLI comum.
Exemplo de SLI: o número de solicitações bem-sucedidas nos últimos 10 minutos dividido pelo número de todas as solicitações válidas no mesmo período.
O SLI no exemplo é específico e bem definido, expresso como um valor numérico. Esse valor reflete a disponibilidade do serviço. Ao rastrear consistentemente esse SLI ao longo do tempo, uma equipe pode determinar a disponibilidade geral do serviço.
Para mais informações sobre como escolher seus SLIs, consulte Escolher os SLIs.
Objetivo de nível de serviço
O objetivo de nível de serviço (SLO) é o intervalo desejado que você espera que o serviço alcance, conforme medido pelo SLI. O exemplo a seguir usa o tempo de resposta, ou a velocidade do serviço, como o SLI.
Exemplo de SLO: a resposta do serviço é mais rápida que 400 milissegundos (ms) para 95% de todas as solicitações válidas medidas ao longo de 14 dias.
No SLO de exemplo, o SLI é o número de solicitações mais rápido que 400 ms dividido pelo número de solicitações válidas. Essa porcentagem é rastreada ao longo de 14 dias. O objetivo é atender a 95% de todas as solicitações. Ou seja, se o resultado final (a porcentagem de solicitações que atendem aos critérios) for maior que 95%, você atendeu ao SLO do serviço.
Para recapitular, o SLI é uma medida (como velocidade, disponibilidade e sucesso) do seu serviço. O SLO é a expectativa de que uma quantidade específica dessas medições (a porcentagem) atenda ou exceda algum nível ou intervalo predeterminado. Qualquer item abaixo do nível esperado é ruim. Você deixou de oferecer aos usuários um serviço confiável em uma área específica de desempenho.
Para mais informações sobre como escolher os SLOs, consulte Escolher os SLOs.
Contrato de nível de serviço
O contrato de nível de serviço (SLA) é o contrato entre você, o provedor de serviços e seus clientes. Ele lista os SLOs prometidos aos clientes e, por fim, esperará. O SLA também especifica o que acontece se um SLO não for atendido. Um SLO quebrado pode fazer com que o provedor de serviços reembolse dinheiro, forneça serviços com desconto ou em serviços mais críticos pode resultar em ação judicial ou danos punitivos.
Os SLAs não são muito discutidos neste guia. Os SLAs são mencionados para aumentar sua compreensão sobre SLO, SLI e usuário.
Margem de erro
O valor final a ser entendido ao discutir SLOs é a porcentagem ou o número de eventos negativos que seu serviço pode suportar antes de violar o SLO. Esse número, chamado de margem de erro, define a quantidade de erros que sua empresa pode esperar e tolerar.
Para demonstrar, use a disponibilidade como o SLI (representado por uma porcentagem). Três ou mais "noves" na porcentagem indicam a precisão com que você quer medir esse SLI. Em outras palavras, o número de "9s" expressa a porcentagem de disponibilidade.
Considere um SLO de três noves é de 99,9%. Subtrair o valor do SLO de 100% resulta em uma margem de erro de 0,1%. Ao discutir a disponibilidade, um orçamento de 0,1% é ligeiramente inferior a nove horas por ano, durante as quais o serviço está indisponível. Adicionar mais nove reduz drasticamente a margem de erro. Uma disponibilidade de 99,99% (quatro noves) permite menos de uma hora de inatividade do serviço por ano.
Esse tempo de inatividade inclui solicitações que falham, inatividade do servidor por falha (falha ou bugs de software) ou design (upgrades ou testes), erro humano, acidentes e muitos outros.
A seguir
- Leia Escolher seus SLOs.
- 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.