O documento descreve as jornadas de duas empresas diferentes para adotar SLOs (Service Level Objectives). A Evernote usou SLOs focados em disponibilidade para melhorar o relacionamento entre equipes de operações e desenvolvimento, enquanto a Valet usou SLOs para mover a responsabilidade de operações para os desenvolvedores e estabelecer uma nova cultura.
4. 1.
Aqui, apresentamos duas histórias, contadas por duas empresas muito diferentes, que descrevem suas jornadas
em direção à adoção de um SLO
5.
6. Evernote é um aplicativo de plataforma cruzada que ajuda indivíduos e equipes a
criar, montar e compartilhar informações.
Com mais de 220 milhões de usuários em todo o mundo, armazenamos mais de
12 bilhões de informações - uma mistura de notas baseadas em texto, arquivos e
anexos / imagens - dentro da plataforma.
Nos bastidores, o serviço Evernote é compatível com mais de 750 instâncias do
MySQL.
7. ● Mover o trabalho de engenharia para longe dos datacenters e para mais perto
do produto com o qual os clientes realmente se importam;
● Revisar o modelo de trabalho para suportar um aumento na velocidade de
entrega enquanto mantém a qualidade geral do serviço;
● Renovar como olhamos SLAs para garantir o aumento do foco em como as
falhas afetam nossa grande base de cliente;
8. You wrote it, you run it
You wrote it, we run it for you SLO-centric SRE approach
À medida que oscilávamos descontroladamente entre esses dois objetivos, as equipes de operações e desenvolvimento
desenvolveram um relacionamento frustrado e tenso. Queríamos chegar a um meio mais feliz que equilibrasse melhor as diversas
necessidades das equipes envolvidas.
9. OPS
Devs
. A outra se preocupa com a extensão e
evolução desse serviço para atender às
necessidades dos clientes no futuro
10. OPS
Devs
SRE / DevOps
Essas duas disciplinas se moveram uma em
direção à outra nos últimos anos, conforme
movimentos como SRE e DevOps enfatizam o
desenvolvimento de software aplicado às
operações
11.
12. ●
●
Depois de usar SLOs ativamente por cerca
de nove meses, o Evernote já está na
versão 3 de sua prática de SLO!
13. ● Queríamos garantir que estivéssemos inicialmente focados na necessidade mais importante e
comum do cliente: a disponibilidade do serviço
Mantivemos nossa primeira passagem
simples, concentrando-nos no tempo de
atividade
14. ● Uma definição dos SLOs
○ Esta foi uma medida de tempo de atividade: 99,95% de tempo de atividade medido em uma janela mensal,
definida para determinados serviços e métodos
● O que medir e como medir
○ O que medir
■ Especificamos um ponto de extremidade de serviço que poderíamos chamar para testar se o serviço estava funcionando
conforme o esperado
○ Como medir
■ Queríamos um testador que chamasse a página de status periodicamente. Queríamos que o testador estivesse localizado
completamente fora e independente de nosso ambiente para que pudéssemos testar todos os nossos componentes,
incluindo nossa pilha de Load Balance
● Como calcular SLOs a partir de dados de monitoramento
○ Documentamos cuidadosamente como calculamos o SLO a partir dos dados brutos que recebemos do
Pingdom
○ Nossos cálculos de SLO trataram a manutenção como um tempo de inatividade.
15. ● Depois de definir nossos SLOs, tínhamos que fazer algo com eles. Queríamos que os SLOs gerassem
mudanças de software e operações que deixassem nossos clientes mais felizes e os mantivessem
felizes. Qual a melhor forma de fazer isso?
Usamos o conceito de orçamento de SLO / erro como um método para alocar recursos no futuro. Por
exemplo, se perdemos o SLO do mês passado, esse comportamento nos ajuda a priorizar as correções,
melhorias e correções de bugs relevantes. Nós mantemos as coisas simples: as equipes do Evernote e
do Google conduzem uma análise mensal do desempenho do SLO
19. :
● Quão confiável é o seu serviço? É construído para três 9s, três e meio 9s ou quatro 9s (ou
melhor)? Há um tempo de inatividade planejado?
● Que tipo de latência posso esperar nos limites superiores?
● Você pode lidar com o volume de solicitações que vou enviar? Como você lida com a
sobrecarga? Seu serviço atingiu seus SLOs ao longo do tempo?
20.
21. ●
○
Evangelização
Linguagem comum Automação Incentivo
Estabelecer uma linguagem comum foi fundamental para colocar todos na mesma página. Também queríamos manter
essa estrutura o mais simples possível para ajudar a espalhar a ideia mais rapidamente.
Para começar, demos uma olhada crítica nas métricas que monitoramos em nossos vários serviços e descobrimos alguns
padrões.
Cada serviço monitorava alguma forma de seu volume de tráfego , latência , erros e utilização - métricas que mapeiam de
perto os Quatro Sinais Dourados do Google SRE .
Além disso, muitos serviços monitoravam o tempo de atividade ou a disponibilidade de maneira distinta dos erros.
Infelizmente, em geral, todas as categorias de métricas eram monitoradas de maneira inconsistente, tinham nomes
diferentes ou tinham dados insuficientes.
28. ●
●
●
●
Como os desenvolvedores agora eram responsáveis pela operação de seu
software, eles precisavam estabelecer SLOs para demonstrar sua capacidade de
criar e oferecer suporte a software confiável
29. ●
●
●
●
Logo todos na empresa conheciam a VALET, e nossa nova cultura de SLOs
começou a se estabelecer.