Article image
Diogo Barbosa
Diogo Barbosa21/03/2023 18:04
Compartilhe

Engenharia de Confiabilidade de Site (SRE) - A disciplina criada pelo Google

  • #Desperte o potencial
  • #Boas práticas

Boa noite pessoal, essas são algumas das informações adquiridas na mentoria do dia 21 de Março, realizada pela Natalia Lourenço Farias, engenheira de software e analista de sistemas no Banco PAN.

Para quem não assistiu a mentoria, aconselho acompanhá-la ou pesquisar sobre o assunto enquanto lê essas anotações para firmar melhor esse conhecimento. Vamos lá?

O que é um Site Reliability Engineer (SRE)?

Criado pelo Google em 2003, é uma disciplina que incorpora aspectos da engenharia de software e os aplica em problemas de infraestrutura e operação.

SRE e DevOps: Qual a diferença?

O conceito geral de DevOps compreende todas as práticas que aceleram e automatizam certos aspectos dos processos de desenvolvimento, teste e fornecimento de softwares, sites e aplicações, o que permite entregar continuamente atualizações de segurança. DevOps é uma cultura projetada para quebrar a barreira de informações entre as equipes de desenvolvedores e a de operações. Então podemos dizer que o SRE é uma "implementação específica de DevOps com algumas extensões".

Objetivos do SRE

1. Reduzir silos organizacionais

2. Aceitar a falha como normal, pois elas são

3. Implementar mudanças graduais

4. Alavancar ferramentas e automações

5. Medir tudo, pois somente através de métricas podemos saber se o serviço está dentro do que o cliente espera.

Princípios e práticas do SRE

Operações - Tudo que envolve o funcionamento de um sistema de forma confiável, é um problema de software, portanto é responsabilidade do SRE.

Níveis de serviço - Fazer as medições dos níveis de serviço por meio do monitoramento e indicadores de níveis de serviço, sendo eles:

SLI - O que você está medindo? O que estou realizando atualmente? Ex: 98% dos meus usuários realizam suas tarefas dentro de 1 minuto.

SLO - O quão bem meu serviço tem que estar para o uso do meu cliente? É dado pela perspectiva do usuário.

Ex: pelo menos 90% dos meus usuários devem poder conseguir realizar suas tarefas dentro de 1 minuto.

  • Error Budgeting - Serve como uma estrutura para gerenciamento de riscos, visando trazer equilíbrio entre o time de desenvolvimento e os SREs.

SLA - É a junção do SLO mais o que acontecerá caso não seja entregue o serviço com a qualidade acordada.

4 sinais de observabilidade:

image

Foto retirada da mentoria*

Toil - É a intervenção processo manual. Elimina o trabalho manual o máximo possível. Processos ruins devem ser consertados para então ser automatizados.

Automação - Tudo que possa ser automatizado, deve ser automatizado de forma responsável.

Reduzir o custo de falha - Trabalha para ter um ambiente com testes coerentes para reduzir os custos de possíveis falhas que podem ocorrer. Testes de stress são um exemplo.

Responsabilidade compartilhada - O SRE sempre compartilha a responsabilidade e os conhecimentos entre as equipes.

Pirâmide hierárquica do SRE

image

Foto retirada da mentoria*

Monitoramento - É preciso fazer a monitoria de todos os indicadores e serviços.

Taxa de resposta a incidentes - É o tempo médio de reparo (MTTR), se preocupando em sempre diminuir o tempo de reparo médio de resposta ou de reparo.

Postmortem / Root Causes Analysis - O conceito de não buscar apontar um culpado para um determinado problema, mas sim aprender com o erro e analisar o que pode ser melhorado para que aquilo não se repita.

Testing + release procedures - Transformar o ambiente o mais próximo possível de um ambiente produtivo para poder implementar as técnicas de validação de software de maneira efetiva, fazendo os testes necessários para encontrar erros o quanto antes.

Desenvolvimento e produto - É a interação entre as áreas.

Conclusões finais

Dessa forma vemos que um profissional de SRE, não precisa ser um programador Java, mas já que ele romperá barreiras entre operações e DevOps, precisa entender de design de sistemas e arquitetura de código. Também por esse fato, o cargo de SRE é de nível Sênior.

Indicação de livro:

Engenharia de Confiabilidade do Google

Obrigado por lerem, boa sorte e sucesso a todos.

Compartilhe
Comentários (0)