A disciplina de SRE, site reliability engineering, em um dos seus propósitos é elimiar tarefas repetitivas e aumentar a tração em atividades de engenharia.
Na prática, algumas divisões nas tarefas de um SRE, precisam ser adotadas para garantir o engajamento, as divisões devem ser feitas atendendo a seguinte perspectiva, tarefas operacionais, tarefas de engenharia e tarefas extras (reuniões, estudos e acompanhamento do time), sendo que dentro das tarefas operacionais temos mais duas categorias, tarefas repetitivas e tarefas de monitoramento que necessitam de olhar humano.
Na medida que os sistemas crescem, se as definições das tarefas não estão bem direcionadas, teremos um problema de pessoas, ou seja para atender o crescimento do serviço precisaremos escalar o time de SRE.
Sem sombra de dúvidas, esta prática aumentará o custo de operação, pois, precisaremos de mais pessoas para lidar com atividades repetitivas e quase nada de engenharia.
Isto revela que as expectativas entre dev e ops estão desalinhadas e certamente teremos responsabilidades diferentes, o que leva a um descontentamento ou até mesmo estagnação da carreira do SRE.
Uma forma de controlar isso é medir como os SREs estão atuando nas suas atividades. O ideal é ter um percentual estabelecido para operações, no exemplo do Google está como 50% do tempo do SRE, mas isso não é uma regra, entendemos que vai dá maturidade do time de SRE e também dos times de produtos.
Quando esse percentual está acima do estabelecido é necessário fazer o transbordo de operações para o time de produtos, aliás é conveniente que times de produtos passam a fazer a operação do seu próprio produto, o que me revela a maturidade e o estabelecimento do SRE no time.
Geralmente quando temos um percentual elevado em operações, podemos ter três problemas mapeados: muitos bugs, muito processo manual e pouca automação.
Conclusão, precisamos trabalhar para diminuir a quantidade de tarefas repetitivas que fazemos manualmente, também precisamos controlar para que o time de SRE não cresça com o lançamento de novas features, mas cresça conforme a criação de mais produtos, também precisamos permitir que deploys possam ser cada vez mais frequentes, pois está garantido com o máximo de automação e devemos permitir que SREs possam estar mais tempo em atividades de desenvolvimento, ex: melhorando resiliência, trabalhando com performance, melhorando escalabilidade de um serviço, ou seja, “codando”.
Duas dicas preciosas que utilizamos:
- Use OKRs para lhe ajudar com alguns objetivos;
- Crie pequenos resumos das atividades da semana, assim você separa o que é tarefa repetitiva, operacional e de engenharia