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:
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
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.