O que é engenharia de confiabilidade?

Concluído

A engenharia de confiabilidade do local (SRE) permite que os desenvolvedores de software sejam donos da operação diária contínua de seus aplicativos em produção. O objetivo é preencher a lacuna entre a equipe de desenvolvimento que precisa enviar continuamente e a equipe de operações que é responsável pela confiabilidade do ambiente de produção. A engenharia de confiabilidade do local transfere a responsabilidade da confiabilidade da produção para o SRE na equipe de desenvolvimento.

Os engenheiros de confiabilidade do local normalmente gastam até 50% do seu tempo nas tarefas diárias que mantêm o aplicativo confiável e o restante do tempo desenvolvendo software.

Uma habilidade chave de um engenheiro de confiabilidade de software é que eles têm um profundo conhecimento do aplicativo. Isso inclui o conhecimento do código, como o aplicativo é executado, como ele é configurado e como ele é dimensionado.

Algumas das responsabilidades típicas de um engenheiro de confiabilidade de site são:

  • Monitore e analise proativamente o desempenho do aplicativo.
  • Lide com o suporte de plantão e emergência.
  • Certifique-se de que o software tem um bom registro e diagnóstico.
  • Crie e mantenha runbooks operacionais.
  • Ajude a triar os tíquetes de suporte escalonados.
  • Trabalhe em solicitações de recursos, defeitos e outras tarefas de desenvolvimento.
  • Contribua para o roteiro geral do produto.
  • Realize revisões de sites ao vivo e capture feedback sobre interrupções do sistema.

Engenharia de confiabilidade do site versus DevOps

O DevOps cria uma relação de trabalho saudável entre a equipe de operações e a equipe de desenvolvimento. Ao quebrar os silos entre os dois, o DevOps produz um produto mais robusto e confiável.

Tanto o SRE quanto o DevOps são metodologias que atendem à necessidade de uma organização de uma maneira de gerenciar o ambiente de produção. Como você aprendeu nos módulos anteriores, os sistemas de feedback de DevOps podem identificar problemas e alertar os desenvolvedores, que então resolvem o problema. Com o SRE, uma pessoa da equipe de desenvolvimento procura problemas com a confiabilidade do site diariamente e provavelmente é a pessoa que resolve esses problemas também. Embora as equipes de DevOps geralmente optem por deixar o ambiente de produção intocado, a menos que seja absolutamente necessário, os SREs provavelmente farão alterações.

Habilidades de engenharia de confiabilidade do local

O tipo de habilidades necessárias varia dependendo do aplicativo, como e onde ele é implantado e como é monitorado. Por exemplo, as organizações que usam tecnologias sem servidor não precisarão de alguém com conhecimento profundo de gerenciamento de sistemas Windows ou Linux. No entanto, essas habilidades são essenciais para as equipes que usam servidores para implantações.

Outras habilidades essenciais para um bom SRE se concentram no monitoramento e diagnóstico de aplicativos. Um SRE deve ter experiência com ferramentas de gerenciamento de desempenho de aplicativos, como o Application Insights. Eles também devem entender as práticas recomendadas de log de aplicativos e o tratamento de exceções.