DEV Community

Cover image for SRE é sobre criar softwares que resolvem problemas de operação de outros softwares
Isadora Ribeiro
Isadora Ribeiro

Posted on

SRE é sobre criar softwares que resolvem problemas de operação de outros softwares

No último domingo tive a oportunidade de conversar com um novo amigo sobre a incrível jornada em SRE - Site Reliability Engeering.

Em um espasmo mental consegui resumir pra ele que um dos aspectos mais interessantes de SRE é que boa parte do nosso tempo é dedicada a desenvolver software e que scripting não é suficiente: você precisa ter proficiência em desenvolvimento de software porque seu software precisará ter log estruturado, métricas, performance, persistência e uma série de requisitos técnicos em que o Bash não vai te salvar - ou seria um martírio, no mínimo.

Mas que tipo de software SRE desenvolve? Vou elaborar alguns exemplos para ajudar nesse entendimento:

--

Command-lines

Com um ecossistema de infraestrutura e regras de negócio cada vez mais complexos, desenvolver CLI's pode ajudar times de operações N1, N2, infra e até DevOps na interligação de diferentes soluções por meio de uma interface única de controle.

Middlewares

Aplicações backend que integram com soluções externas ao seu produto e interagem com seu produto conforme determinadas condições. Por exemplo, interagir com um datacenter que provê blocos de IPv4, consultar serviços externos de block lists e, conforme alguma condição, notificar seu produto para tomar uma determinada decisão - como bloquear um cliente, pausar uma campanha, etc.

Produtores e consumidores

Aplicações backend que acompanham a operação de um produto, consomem tópicos de mensageria em busca de determinados eventos e, consumidos esses eventos, envia esses dados para um database de séries temporais que permite extrair informações quantitativas de um determinado fluxo do produto.

API's

Construção de API's http/rest que recebem callbacks de serviços externos ao seu produto e constróem séries temporais de dados para permitir criar visualizações de operação ou fluxos do produto.

Aplicações sidecar

Aplicações que rodam junto a outros softwares, como load balancers, permitindo análise de tráfego e tomadas de decisão em relação às requisições conforme regras de negócio próprias do produto.

--

Uma das principais certezas em SRE é que dificilmente um outro time vai "saber o que demandar".

SRE é muito sobre visão de produto e negócio e habilidade em desenvolvimento de software.

É saber que todos os principais fluxos do produto precisam ter visibilidade para que possam ser operados.

É sobre fornecer dados em tempo real de operações para outros times como atendimento, suporte N1, suporte N2, infra, dev, etc.

SRE é sobre resolver problemas de operação de software - seja ele de natureza tecnológica, humana ou processos - com mais software.

Quer uma dica para evoluir em SRE? Seja uma pessoa inconformada e que não espera a demanda chegar.

--

Com carinho,
Isadora.

--

Literatura acerca do tema em:
Google SRE Books

Top comments (1)

Collapse
 
cherryramatis profile image
Cherry Ramatis

SRE é uma area que me chama cada vez mais a atenção com o passar dos anos, adoro desenvolver CLIs e automatizar tarefas, desenvolver pra um publico mais técnico ao invés de desenvolver sempre pra usuário final.

Muito incrível ver sua visão sobre o assunto! com certeza abriu minha cabeça para essa area mais ainda