SRE – Site Reliability Engineering
Engenharia de confiabilidade de sites (SRE) foi criado pela equipe de engenharia do Google e lançado em 2003, e o termo é atribuído a Ben Treynor, vice-presidente de engenharia da empresa.
O conceito foi adotado por empresas como Netflix, LinkedIn e Amazon, que possuem plataformas baseadas em nuvem. Também Mastercard, ING e JPMorgan, que possuem plataformas heterogêneas, de cloud a mainframe.
SRE é um conjunto de práticas para criação de sistemas de software altamente confiáveis, e não somente no presente, pois ajuda a aprimorá-lo ao longo do tempo, conforme esse sistema cresce.
A abordagem de SRE ajuda as equipes a encontrar um equilíbrio entre lançar novas funcionalidades e assegurar que elas sejam confiáveis para os usuários. Melhorando os serviços, melhora a experiência do usuário.
Então teremos software escaláveis altamente confiáveis.
Padronização e automação são dois componentes importantes do modelo de SRE. Os engenheiros de confiabilidade de sites devem sempre procurar uma maneira de aprimorar e automatizar as tarefas operacionais, usando soluções de engenharia. Um conceito utilizado é a abordagem de operações orientada a dados.
SRE busca após a implementação, descobrir como aumentar a produtividade do código e diminuir o tempo de queda (downtime) do serviço, por exemplo. E uma grande parte disso é feita estabelecendo e monitorando métricas de nível de serviço.
As equipes de SRE são responsáveis pela maneira como o código é implantado, configurado e monitorado, bem como requisitos não funcionais de disponibilidade, latência, gerenciamento de mudanças, resposta a emergências e gerenciamento de capacidade dos serviços em produção.
DevOps x SRE
Devops e SRE são duas disciplinas que se sobrepõem em muitos pontos, e suas as semelhanças são claras. Então como diferencia-las?
A imagem abaixo é auto explicativa e nos mostra a diferença entre as duas abordagens:
DevOps e o SRE trabalham juntos usando os mesmos pipelines de entrega de CI/CD de desenvolvimento e processos de lançamento, mas cada um deles se concentra em suas próprias métricas de sucesso.
Limoncelli observa que os engenheiros de DevOps começam no ambiente de desenvolvimento e automatizam as etapas para a produção. O foco é no “Delivery”.
SREs, por outro lado, concentre-se nas operações de produção e alcance profundamente o pipeline como um meio de melhorar o resultado final, basicamente trabalhando na direção oposta..
O DevOps se concentra na velocidade de liberação de novas funções, atendendo a área de negócio enquanto as equipes de SREs se concentram na manutenção da confiabilidade. Portanto, “SRE é a confiabilidade e o DevOps é para entrega”.
Resumindo os dois trabalhando juntos equilibra inovação e estabilidade.
Fontes: https://docs.microsoft.com/pt-br/azure/site-reliability-engineering/articles/devops e https://www.redhat.com/pt-br/topics/devops/what-is-sre
Informações sobre a autora: Jacqueline Viana é Scrum Master e agilista por amor.
https://www.linkedin.com/in/jacqueline-mba-e-pmp