O que é SRE (Site Reliability Engineering, engenharia de confiabilidade do site)?

A engenharia de confiabilidade do site é o processo de utilizar processos operacionais e atribuí-los à equipe de engenharia de software para a automação.

As equipes de TI estão constantemente buscando adotar metodologias de SRE. A engenharia de confiabilidade do site está pegando as práticas de operações e entregando-as aos engenheiros de software para automação de tarefas humanas, solução de problemas e gerenciamento de sistemas. Uma equipe de SRE é responsável pelo gerenciamento de mudanças, resposta de emergência, monitoramento, disponibilidade, desempenho, latência, eficiência e planejamento de capacidade dos serviços, geralmente escrevendo software para automação de processos.

O SRE é um excelente ativo para confiabilidade em software e escalabilidade, pois os sistemas podem ser gerenciados por meio de código, para um equilíbrio entre garantir que um produto e recursos sejam confiáveis e lançar novos produtos e recursos.

O crédito do termo "SRE" vai para Ben Treynor Sloss, do Google

Ben Treynor Sloss, do Google, é o mentor por trás do SRE. Ele o descreve apropriadamente como "o que acontece quando um engenheiro de software é encarregado do que costumava ser chamado de operações". O conceito surgiu após uma análise dos conflitos entre as operações que querem garantir que os recursos não prejudiquem nada ou incomodem os usuários finais, e as equipes de desenvolvimento, que desenvolveram e desejam lançar novos recursos assim que estiverem prontos para uma implementação. SRE é uma reconciliação entre os dois.

Uma equipe de engenheiros do Google literalmente escreveu o livro sobre SRE

O Google publicou um livro sobre SRE, disponível gratuitamente on-line. Ele oferece um aprofundamento sobre o papel do SRE e as práticas recomendadas para execução. Os destaques vão para as partes II e III, princípios e práticas (respectivamente).

Princípios do SRE: de acordo com o Google, os princípios fundamentais do SRE são:

  • Adoção do risco: fornece abordagens neutras ao Service Management usando orçamentos de erro.
  • Objetivos de nível de serviço: fornece recomendações para indicadores desintegrados a partir de contratos e examina como o SRE usa os termos.
  • Eliminação de esforço: afastando-se de tarefas mundanas e repetitivas que são desprovidas de valor.
  • Monitoramento de sistemas distribuídos: sempre evite fechar os olhos para o que está acontecendo na organização por causa da confiabilidade.
  • Engenharia de versões: considere cuidadosamente as versões para garantir que elas sejam consistentes e não contribuam com indisponibilidades.
  • Simplicidade: um sistema muito complexo pode reduzir a confiabilidade e dificultar o dimensionamento para um local mais simples.

Práticas de SRE: os SREs executam sistemas relacionados para usuários externos ou internos e são responsáveis pelos serviços. A operação bem-sucedida dos serviços inclui: planejamento de capacidade, solução das causas raiz de interrupções e desenvolvimento de sistemas de monitoramento. A hierarquia do Google de um serviço confiável é:

  • Produto: o topo da hierarquia de confiabilidade, que indica que um produto é viável e confiável.
  • Desenvolvimento: engenharia de software e projeto de sistema trabalham dentro da empresa.
  • Planejamento de capacidade: o equilíbrio de empréstimos garante que a capacidade criada esteja sendo usada adequadamente.
  • Procedimentos de teste e liberação: depois de formar um entendimento do que deu errado, evite-o ativamente. Teste cuidadosamente os produtos antes de serem liberados.
  • Análise de causa raiz/postmortem: crie uma cultura de isenção de culpa e resolução de problemas a fim de evitar um incidente repetido.
  • Resposta a incidentes: fique de plantão, mantenha-se em contato com os sistemas, solucione problemas com eficácia e planeje cuidadosamente antes do fato.
  • Monitoramento: esteja ciente dos problemas antes que o usuário final perceba.
What-is-AIOps-1

A excelência do SRE requer experiência

A função de um engenheiro de confiabilidade do site é melhor desempenhada por alguém com experiência em software. Certamente não é uma posição de nível básico. A execução adequada do SRE exige fluência na engenharia de software e compreensão de um sistema de grande escala e complexidade.

SRE é uma filosofia

Um engenheiro de confiabilidade do site precisa da mentalidade certa para essa posição. Habilidades técnicas são necessárias, mas um entendimento conceitual das operações é fundamental. É importante que os SREs sejam baseados em processos tradicionais de desenvolvimento de software, mas também é muito importante um entendimento holístico dos processos da empresa e do avanço de um sistema confiável.

O SRE deve ser um catalisador para a mudança

É trabalho de todos na organização ser o mais confiável possível, aplicando assim os princípios importantes de SRE. Aplique um modelo de confiabilidade a cada equipe e discuta como a confiabilidade pode se encaixar em cada uma delas e afetar a todos.

Funções e responsabilidades do SRE (engenheiro de confiabilidade do site)

Novos lançamentos recebem luz verde com base no desempenho atual do produto: em geral, os aplicativos não chegam em 100% do tempo. A equipe de SRE deve criar um contrato de nível de serviço para definir o sistema e como ele será usado para usuários finais. Uma parte comum de um contrato de nível de serviço é um orçamento de erro ou a quantidade máxima de limite para interrupções e erros.

Os SREs podem codificar

As equipes de desenvolvimento e os SREs compartilham pessoal, ou seja, um SRE adicional significa menos um desenvolvedor e vice-versa. O sistema é autorregulado para evitar qualquer batalha entre desenvolvedores e SREs por necessidade de pessoal. Os SRES também conseguem codificar e desenvolver, o que os ajuda a trabalhar bem junto com a equipe de desenvolvimento.

Os SRES podem se mover entre os projetos, pois criam um forte senso de motivação e dedicação para permitir que os membros da equipe busquem metas e objetivos pessoais.

Funções e responsabilidades comuns para um engenheiro de confiabilidade do site

  • Criar software para ajudar as operações e as equipes
  • Corrigir problemas de escalonamento
  • Otimizar processos de plantão
  • Documentar o conhecimento da equipe
  • Realizar análises após os incidentes

Os SREs podem se adaptar ao cerne das operações de TI, engenharia de software e suporte para fornecer uma base sólida e um relacionamento entre as equipes, o que ajuda nos ciclos de feedback, colaboração e confiabilidade.

Os especialistas em confiabilidade do site podem tornar o SRE adequado para você

Os SREs estão em busca de necessidades gerais para orientar as diferentes equipes em direção a um objetivo único.

A automação é fundamental para o SRE

Grande parte da função SRE está enraizada em eliminar ineficiências e identificar coisas que são fáceis de automatizar. Tarefas demoradas podem ser interrompidas e a eficiência pode aumentar sem muito trabalho manual.

O SRE não é apenas para empresas de tecnologia

As práticas de SRE não precisam se aplicar apenas ao setor de tecnologia. Uma cultura de engenharia de confiabilidade do site pode ser expandida para comércio eletrônico, atendimento ao consumidor e fabricação.

DevOps é um método para criar e entregar um bom software, combinando desenvolvimento e operação de software com a intenção de fundir operações e funções de desenvolvimento. O SRE tende a ser conduzido mais pelo lado do desenvolvimento do que pelo lado operacional da DevOps.

Saiba mais sobre DevOps
Entregue operações modernas para as equipes de DevOps e SRE

Os contêineres do Linux podem fornecer a tecnologia necessária para um desenvolvimento nativo em nuvem. Os contêineres dão suporte à unificação do ambiente para integração, automação, desenvolvimento e entrega. O Kubernetes pode automatizar os contêineres necessários do Linux.

Não há um conjunto de ferramentas uniforme e único para SRE. Mas é fundamental criar funções de SRE dentro de uma empresa associadas à automação para escalabilidade e capacidade de repetição.

A ServiceNow oferece maior valor ao unir o trabalho entre várias equipes, registrar microsserviços, correlacionar dados observáveis, fornecer métricas de confiabilidade ao alcance dos dedos, automatizar mudanças e prever falhas, tudo isso mantendo intactas as ferramentas existentes.

Habilidades que crescem junto com seus negócios

Crie seu próximo plano de transformação de SRE com a ServiceNow.