Fala pessoal tudo bem?
Em diversas reuniões que participo, percebo as pessoas falando de SRE se referindo a DevOps e o contrário também, embora sejam frameworks bem semelhantes, há algumas diferenças no objetivo.
Mas antes de iniciar, a verdade é que normalmente não se utiliza uma metodologia única, há time que usa DevOps com princípios de SRE e no final acaba adotando as melhores práticas das duas estratégias.
Ao agilizar o ciclo de lançamento e tornar o produto mais confiável, no final você estará usando DevOps e SRE
O que é DevOps?
DevOps é uma abordagem que visa unificar o desenvolvimento de software (Dev) e as operações de TI (Ops), com o objetivo de melhorar a colaboração e produtividade, automatizando processos de infraestrutura, workflows de desenvolvimento e monitoramento contínuo de aplicativos. No Azure, isso se traduz em usar serviços como Azure DevOps e Azure Pipelines para integrar e automatizar as fases de construção, teste e lançamento de software.
Ferramentas = Git, Azure Devops e Pipelines
O que é SRE?
A Engenharia de Confiabilidade do Site (SRE) é uma disciplina de engenharia dedicada a ajudar uma organização a alcançar de maneira sustentável o nível de confiabilidade apropriado em sistemas, serviços e produtos. O objetivo é criar operações mais confiáveis e escaláveis, tratando a infraestrutura e operações como se fossem software. No Azure, isso pode envolver a utilização de ferramentas de automação para gerenciamento de infraestrutura e aplicação de práticas como monitoramento contínuo e gestão de incidentes.
Ferramentas = Terraform, Prometheus e Grafana
Diferenças e Similaridades entre SRE e DevOps
Ambos SRE e DevOps enfatizam a automação e a melhoria contínua, eles se concentram em áreas ligeiramente diferentes. O DevOps se concentra mais na agilidade e na velocidade de desenvolvimento e entrega, enquanto o SRE prioriza a confiabilidade e estabilidade dos sistemas em operação. No entanto, em muitos ambientes Azure e Cloud, essas duas abordagens não são mutuamente exclusivas, mas sim complementares.
Casos de Uso e Melhores Práticas no Azure
Implementar ambos DevOps e SRE no Azure ou qualquer plataforma de nuvem, pode levar a resultados impressionantes. Empresas podem utilizar Azure DevOps para CI/CD, enquanto empregam práticas de SRE para garantir que suas aplicações sejam estáveis e confiáveis. Algumas das melhores práticas incluem o uso de infraestrutura como código (IaC) para provisionamento e gerenciamento de recursos, e a implementação de estratégias de monitoramento (Azure Monitor) e alertas para antecipar e resolver problemas rapidamente.
“Dev quer mudança e SRE quer estabilidade. Isso gera impacto nos processos como por exemplo atualização de versões de ferramentas e dependências. Conhecido como Wall of confusion, Este conceito ilustra as dificuldades enfrentadas quando as duas equipes trabalham sem colaboração ou comunicação efetiva.”
Filipe Borges Tech Lead BNP
Qual escolher? SRE ou DevOps?
A escolha entre SRE e DevOps não é uma questão de “ou”, mas de “e”. A integração dessas duas práticas oferece um caminho para desenvolver e gerenciar aplicações de maneira eficiente e confiável. À medida que esses campos continuam a evoluir, também evoluirá a maneira como os utilizamos para impulsionar o desenvolvimentos de software.
Hoje já falamos de DevSecOps que incluem parte de práticas de segurança de SRE, acredito que em breve vamos definir uma metodologia nova que inclua tudo:
Integridade, Confiabilidade, Segurança, Colaboração e Agilidade
Esse artigo teve a curadoria e a revisão do @filipe-borges tech lead da BNP Soluções e Engenheiro DevOps. Isso mostra que a força da cultura de colaboração do DevOps tem que ser extendidas para todas as areas 😉
Referencias:
–
Fantástico 😍
Artigo sensacional