Menu
Contato Comercial
Por: Aldry Rocha em 24.01.2022

Como implementar SLOs

O nível de complexidade dos sites, apps e infraestruturas em nuvem têm aumentado exponencialmente a cada ano. Manter toda essa estrutura com alta disponibilidade e alta performance é uma tarefa cada vez mais complexa, porém essencial. Nesse contexto, o SRE (Site Reliability Engineer) é o profissional responsável por garantir a confiabilidade do ambiente. Para que isso aconteça os SREs contam com os SLOs, que servem como uma ferramenta para direcionar as atividades executadas por esses profissionais.

Quer saber qual o papel dos SLOs na vida dos profissionais de SRE? Então acompanhe nosso artigo e entenda tudo sobre os objetivos de nível de serviço.

 

O que são os SLOs?

Os SLOs fazem parte de um conjunto de medidas que visam aumentar a qualidade do gerenciamento do serviço. Entre elas podemos citar os service level indicators (SLIs), os service level objectives (SLOs) e os service level agreements (SLAs).

Esse conjunto de medidas ajuda a entender quais comportamentos realmente importam, como medi-los e de que forma avaliá-los para que o serviço tenha um nível de qualidade aceitável. Escolher as métricas apropriadas garante que as ações corretas sejam realizadas caso algo dê errado. Isso traz maior confiança para o time de Site Reliability Engineering (SRE) sobre o que é importante para o pleno funcionamento do serviço, além de resultar em uma experiência positiva ao usuário final.

Para que os service level objectives sejam realmente válidos, algumas diretrizes devem ser seguidas: todos os stakeholders precisam aprovar os SLOs como adequados ao produto; as pessoas responsáveis por garantir que eles sejam atingidos precisam concordar que a meta é factível de ser atingida em circunstâncias normais; a empresa deve se comprometer a utilizá-los como norte para a tomada de decisões e é necessário que exista um processo de constante aprimoramento dos SLOs.

Caso esses pontos não sejam seguidos, os service level objectives tornam-se apenas mais um KPI (key performance indicator) não utilizado, acabando por não ter relevância no processo de tomada de decisão.

 

Terminologias

Antes de darmos seguimento no assunto, é importante você entender algumas terminologias relacionadas ao conteúdo:

  • Service Level Indicators (SLIs): São as métricas utilizadas para medição do nível de serviço fornecidos aos usuários finais, como disponibilidade, latência, taxa de trasferência, etc.
  • Service Level Objectives (SLOs): São os níveis de serviço que se visa atingir, que são medidos pelos SLIs. Normalmente são expressos em percentuais ao longo de um período de tempo.
  • Service Level Agreements (SLAs): São os acordos contratuais que tratam do nível de serviço esperado pelos usuários finais. Caso esses acordos não sejam cumpridos, podem haver consequências.
  • Error budgets: São os níveis aceitáveis de falta de confiabilidade para um serviço antes que ele se enquadre como fora da conformidade no SLO.

 

Como criar um Service level objectives (SLO)?

Para criar os SLOs você deve levar em consideração o que ele deve cobrir. Sua principal missão é garantir um alto nível de confiabilidade para os usuários finais. Para isso, é preciso saber como o seu usuário utiliza seu sistema e quais as jornadas dos usuários são as mais críticas. A seguir elencamos algumas perguntas que podem te ajudar na hora de definir seus objetivos quanto ao nível de serviço:

  • Como os usuários fazem uso de suas aplicações?
  • Qual jornada eles percorrem no aplicativo?
  • Quais são as partes da infraestrutura que a jornada depende?
  • O que é esperado das aplicações e o que os usuários esperam realizar nela?

Caso o sistema seja complexo, o melhor caminho a ser seguido para a criação de SLOs é realizar a organização dos componentes de sistema em categorias como resposta/solicitação, armazenamento, pipeline de dados e assim por diante, especificando SLIs para cada uma dessas categorias. Tente manter seus SLOs sempre o mais simples possível, apenas a quantidade suficiente para fornecer uma boa cobertura dos atributos do sistema, assim você garante o sucesso em sua implementação.

 

Exemplos de SLOs

Como exemplo de SLO, podemos citar o funcionamento de um jogo o qual envolve a pontuação dos jogadores. A pontuação deverá ser exibida tanto para os jogadores quanto para o público em geral. Assim em termos de infraestrutura a ser analisada teremos consultas a uma API, onde os dados dos estados dos jogos serão salvos. Um pipeline que lê a tabela de classificação dos jogadores via API, sendo que essa classificação deverá ser disponíveis para público em geral, ela deve estar disponível em um servidor público HTTP.

Para esse caso os SLIs e os SLOs devem se dividir por categorias: API, servidor HTTP e pipeline. Veja na tabela exemplos de dados a serem analisado:
 

API

Na conexão com API o dado analisado foi a disponibilidade da infraestrutura.

Categoria SLI SLO
Disponibilidade quantidade de vezes em que a API foi consultada e retornou os dados com sucesso. 97% das vezes de conexão sendo bem sucedidas.

 

HTTP

Com a categoria de servidor público (HTTP) o dado analisado é a latência, que é o tempo entre um comando ser executado até a sua resposta.

Categoria SLI SLO
Latência A velocidade de resposta do servidor. 90% das respostas do servidor serem < 200 ms e 99% das respostas serem < 1,000 ms

 

Pipeline

Já na categoria pipeline a análise é sobre a atualização de dados, avaliando o tempo do intervalo entre as consultas bem sucedidas com a atualização da classificação dos jogos.

Categoria SLI SLO
Atualização de dados Consultas a tabela de classificação que foi realizada recentemente. 90% das exibições serem com dados no intervalo de 1 minuto do anterior e 99% das exibições serem com dados gravados nos 10 minutos anteriores.

 
As métricas e indicadores são ótimas ferramentas para gestão e controle dos projetos de tecnologia. Inicialmente adotados pelas Big Techs, tornan-se boas práticas para outras empresas que desejam seguir seus passos e alcançar alta performance com suas equipes. Continue acompanhando nosso blog e siga nossa página no LinkedIn para se manter atualizado com os nossos melhores conteúdos.

Compartilhe:

ESCRITO POR

Aldry Rocha

Marketing de conteúdo e desenvolvedora web na OpServices há 4 anos. Apaixonada por tecnologia e o mundo do desenvolvimento pessoal, sempre lendo ou escrevendo sobre eles.

Posts Relacionados

ASSINE NOSSA NEWSLETTER E RECEBA
NOSSOS MELHORES CONTEÚDOS!

ASSINE NOSSA NEWSLETTER!

Entre para nossa lista e receba conteúdos exclusivos