Um engenheiro de confiabilidade de site é uma posição técnica que requer experiência em desenvolvimento de software e operações de TI. Compreender essas funções permite que as equipes de SRE cumpram seu papel no suporte ao ciclo de vida do desenvolvimento de software. O SRE é baseado em uma estratégia de resiliência por meio da automação consistente de processos.
Tradicionalmente, as práticas de engenharia de confiabilidade local se concentravam na execução de operações e tarefas de administração do sistema. Essas tarefas incluem análise de registros, ajuste de desempenho, aplicação de patches, teste de ambientes de produção, gerenciamento de incidentes e realização de postmortems. Inicialmente, essas tarefas eram feitas manualmente, o que consumia muito tempo e estava sujeito a erros humanos. A modernização da engenharia de confiabilidade local envolve a automação dessas tarefas manuais.
O monitoramento e o registro em log desempenham um papel fundamental no SRE. As equipes de SRE usam ferramentas de monitoramento para rastrear o que está acontecendo nos sistemas de software em tempo real. O monitoramento possibilita a correção de problemas técnicos imediatos e ajuda as equipes a antecipar problemas futuros e resolvê-los antes que ocorram.
Os logs servem como arquivos que podem ser analisados para obter insights sobre o funcionamento dos sistemas e melhorar a observabilidade dos sistemas. O registro cria um histórico que ajuda as equipes de SRE a entenderem a sequência de eventos que causou um erro inesperado.
Os engenheiros podem automatizar a correção do erro e evitar que ele ocorra novamente. Monitoramento e registro ajudam os engenheiros a identificar pontos de falha e resolver problemas de forma programática por meio da automação, eliminando a necessidade de correções manuais.
As equipes de SRE também buscam deficiências nos sistemas por meio de um processo chamado engenharia do caos. Engenharia do caos é uma estratégia que engenheiros de confiabilidade de site implementam para causar falhas intencionais em ambientes de produção e pré-produção. O objetivo é entender o impacto das falhas em produção nos sistemas de software e desenvolver planos mais sólidos para mitigar falhas futuras.
O SRE também se concentra no planejamento de capacidade, um processo que determina os Recursos necessários para executar funções comerciais essenciais, escalar essas funções comerciais e desenvolver novos aplicativos e funcionalidade. Além disso, as equipes de SRE definem métricas que servem para avaliar a entrega de atualizações e a implementação de novas funcionalidades.