O que é engenharia de confiabilidade?

Concluído

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

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

Uma das principais habilidades de um engenheiro de confiabilidade de software é que eles têm uma compreensão profunda do aplicativo. Isso inclui conhecimento do código, como o aplicativo é executado, como é configurado e como é escalado.

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

  • Monitorar e examinar proativamente o desempenho do aplicativo.
  • Lidar com o suporte a chamadas e emergências.
  • Verificar se o software tem um bom registro em log e diagnóstico.
  • Criar e manter runbooks operacionais.
  • Ajudar a triagem de tíquetes de suporte escalonados.
  • Trabalhar em solicitações de recursos, defeitos e outras tarefas de desenvolvimento.
  • Contribuir para o roteiro geral do produto.
  • Realizar análises de site ao vivo e capturar comentários para interrupções do sistema.

Engenharia de confiabilidade do site versus DevOps

O DevOps cria uma relação de trabalho íntegra entre a equipe de operações e a equipe de desenvolvimento. Ao dividir os silos entre as duas, o DevOps produz um produto mais robusto e confiável.

SRE e DevOps são metodologias que atendem às necessidades de uma organização de ter uma forma de gerenciar o ambiente de produção. Como você aprendeu nos módulos anteriores, os sistemas de feedback do 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 todos os dias e, provavelmente, a pessoa que resolve esses problemas também. Enquanto as equipes de DevOps normalmente optem por deixar o ambiente de produção inalterado a menos que seja absolutamente necessário, os SREs provavelmente farão alterações.

Habilidades de engenharia de confiabilidade de site

O tipo de habilidades necessárias varia de acordo com o 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 do gerenciamento de sistemas Windows ou Linux. No entanto, essas habilidades são críticas para as equipes que usam servidores para implantações.

Outras habilidades importantes para uma boa 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. Ele também deve compreender as práticas recomendadas de log de aplicativos e o tratamento de exceções.