O profissional de Site Reliability Engineering (SRE) é o responsável pela engenharia de confiabilidade de site, em tradução livre. Apesar de ser tendência nova no Brasil, o profissional está em alta mundo afora, principalmente nas maiores empresas de tecnologia. Então, você já pode se acostumar a ouvir falar bastante do termo por aí. Mas, o que exatamente faz esse profissional? Neste artigo vamos explicar tudo o que faz e quais as funções de um profissional de SRE. Vamos lá!
O termo Site Reliability Engineering foi criado por Ben Treynor Sloos, atual vice presidente de engenharia da Google nos EUA. O termo foi designado para indicar o profissional que possui a função de incorporar aspectos relacionados à engenharia de software e aplicar em problemas operacionais ligados a TI.
O SRE é o responsável em assegurar a rapidez e a confiabilidade de um software. É o profissional que desenvolve soluções e ferramentas de automação para aprimorar a usabilidade de uma plataforma, atuando de maneira proativa antes do transtorno ocorrer. Em alguns casos, ele pode agir após a identificação de um problema. Mas o objetivo é que as adversidades nunca impactem o cliente. Além disso, é o responsável por criar automatizações que elevam a escalabilidade de um produto ou serviço de digital.
Dentro de uma empresa, com o aumento da escalabilidade e automação da equipe de operações, muitos projetos possuem grande potencial de otimização. No entanto, antes de ter um profissional focado nas automações, muitas operações realizadas manualmente geravam muitos gargalos. Além disso, demandavam colaboradores com conhecimento específico na área de desenvolvimento para solucioná-los. Por isso, era comum ter muitas pessoas envolvidas no processo. Além disso, era necessária uma infraestrutura elaborada para implementar um projeto, a depender de sua proporção.
Muitas pessoas confundem o SRE com a função de DevOps. Apesar das similaridades, o primeiro não está focado em desenvolver e entregar novas funcionalidades ao sistema, mas em garantir a estabilidade e evolução constante do produto final. Liz Fong-Jones, SRE do Google fala em vídeo que são profissionais que se complementam em uma equipe. Enquanto o DevOps é uma cultura com práticas que visam melhorar a qualidade do produto entregue, o Site Reliability Engineering seria a denominação ideal para o profissional que garante a melhor funcionalidade dos projetos desenvolvidos. SRE precisa garantir também que erros e bugs encontrados no sistema não aconteçam da mesma maneira mais de uma vez. Portanto, o SRE não é um profissional focado em gestão de crise, mas na mitigação dela.
A Efí faz parte de um grupo de empresas de tecnologia que já implementaram o departamento de Site Reliability Engineering. Assim como Netflix, LinkedIn, Amazon, Mastercard, ING e JPMorgan, a criação do setor é o firmamento do compromisso em oferecer a Conta Digital ideal para empreendedores emitirem suas cobranças de maneira rápida e eficiente. O gerente de SRE da Efí, Thomaz Feitoza, fala um pouco sobre os desafios da área. “Trabalhamos olhando para o sistema e corrigindo as falhas. Nosso intuito é automatizar os produtos para ser possível prever indisponibilidade do sistema antes de chegar ao cliente”, afirma. “Antes, era comum um desenvolvedor estar trabalhando em novos produtos e, ao mesmo tempo, ter que parar a tarefa para corrigir bugs no produto em execução. Agora, com a equipe de Site Reliability Engineering montada, o dev pode se dedicar somente às entregas de novos serviços e nós garantimos o monitoramento e correção de falhas”, complementa Feitoza.
Com a implementação da equipe de SRE na Efí, queremos garantir a robustez, escalabilidade e eficiência dos serviços oferecidos. E isso só é possível com o monitoramento constante e produção de códigos de automação. Quem ganha com isso é o cliente, que pode desfrutar de uma Conta Digital completa e perfeita para o seu negócio! “A equipe de SRE da Efí trabalha para oferecer a melhor experiência para seus clientes, garantindo segurança, resiliência e agilidade nas operações realizadas”, finaliza Thomaz.
Um das principais forças mobilizadoras do SRE é o desejo constante de eliminar o trabalho manual e repetitivo no sistema. É óbvio que sempre será necessário a utilização de força humana (principalmente para escrever códigos de automação). No entanto, o intuito é aprimorar ao ponto de facilitar ao máximo os processos, sem a necessidade de intervenção. Além disso, é possível melhorar o empenho de um software quando, em uma equipe multidisciplinar, qualquer colaborador pode realizar tarefas que antes exigiam uma pessoa capacitada em área de conhecimento específica. Até porque, automatizar é extremamente importante, mas o ideal é um sistema autossuficiente. Dessa maneira, ele é capaz de detectar e prover soluções para as ocorrências.
Segundo Ben Treynor, quando montou a equipe de SRE no Google, ele escolheu pessoas que ficavam facilmente entediadas ao realizarem tarefas manuais e que tinham habilidade de automatizar os processos. Outra aptidão que precisa ser desenvolvida pelo profissional é a de monitoramento. Todas as adversidades provocam ruídos, que precisam ser analisados por meio de mensuração de dados. E esses problemas, que podem ser bugs ou um erro no momento de produção do código, precisam ser corrigidos com base em planejamento eficiente e uma resposta rápida às ocorrências. Até porque não é possível aprimorar um sistema apenas com achismos, não é mesmo?
A equipe de Site Reliability Engineering precisa ter um bom relacionamento com outros setores, pois são compostos por profissionais multidisciplinares. Além disso, precisam realizar uma espécie de curadoria dos problemas mais recorrentes para conseguir resolvê-los. Apesar de grande parte do foco ser na engenharia (50%, como indicado no livro Engenharia de Confiabilidade do Google: Como o Google Administra seus Sistemas de Produção), é necessário administrar também os esforços com o “toil”, que é como o livro chama o trabalho repetitivo e manual e demais atividades dentro de uma empresa. Além disso, o profissional de SRE precisa ter um uma boa didática para compartilhar conhecimento e ter um aprendizado rápido. Essas carcaterísticas possibilitam uma troca benéfica com os demais times. Pois, afinal, todos os setores precisam estar em acordo para entregar um melhor produto ou serviço ao cliente. Por fim, a proximidade com a equipe de desenvolvimento pode fornecer bons frutos. Afinal, o compartilhamento ajuda na previsibilidade e solução de problemas ocorridos em projetos passados.
Compartilhe nas redes:
Cadastre-se para receber os melhores conteúdos exclusivos sobre tecnologia de pagamentos e gestão, para alavancar de vez os seus negócios.