Qual é a diferença entre SRE e DevOps?

57

Qual é a diferença entre SRE e DevOps?

As operações de engenharia e desenvolvimento da confiabilidade do site parecem se sobrepor muito em detalhes. Como sei qual grupo é responsável por quê e como sei quais trabalhos seriam apropriados para minha qualificação?

Parece que o SRE é sobre manutenção de servidores e rede, e o DevOps é sobre manutenção de código, está correto? Ainda não há uma justa quantidade de sobreposições entre os dois?

jcolebrand
fonte
3
Acho que o DevOps foi tão abusado como um termo que significa qualquer coisa ou nada neste momento.
pintainhos
11
Uma empresa com quem conversei tinha uma equipe de SRE e DevOps. Eles me disseram que o DevOps era usado para criar novos aplicativos (0 a 6 meses) e o SRE mantinha aplicativos antigos. Ambos eram desenvolvedores que usavam automação, aplicativos codificados e lançados.
Paul Totzke 1/11
11
Acho que o livro do Google no SRE seria uma boa leitura para entender o que é: landing.google.com/sre
Kyle Steenkamp

Respostas:

49

DevOps é sobre manutenção de código, está correto?

O DevOps não é "apenas" sobre código, sistemas ou qualquer outra coisa. DevOps é um termo muito geral que abrange todas as coisas relacionadas à entrega de software.

Engenharia de confiabilidade do site é um termo popularizado pelo Google. A partir deste artigo https://landing.google.com/sre/interview/ben-treynor.html , podemos destilar o TL; DR:

Fundamentalmente, é o que acontece quando você pede a um engenheiro de software para projetar uma função de operações.

Operações, Engenharia e Desenvolvimento de Software estão se confundindo. O grau de automação necessário para criar e manter uma infraestrutura madura requer habilidades de todos os três. SREs são administradores, e engenheiros, e os desenvolvedores.

Veja também: http://shop.oreilly.com/product/0636920041528.do

Dave Swersky
fonte
6
O DevOps não se restringe apenas ao software, isso é um equívoco. Ele deve estar ligado ao design do produto, aos requisitos do produto, à documentação, etc. Deve seguir toda a cadeia de valor de um cliente para outro. Restringir a visão leva à redução do impacto e, eventualmente, ao mal-entendido do papel de engenheiro de liberação mais sofisticado.
Jiri Klouda #
Ainda estou para entender a distinção entre DevOps Engineeringe SRE workalém disso: um acrônimo desenvolvido pelo Google e apoiado em um livro bem legal (gratuito!).
precisa saber é o seguinte
O Engenheiro de Confiabilidade do Site é um título e uma descrição de cargo reais. Implica exatamente o que diz. Um título que pode implicar DevOps no lado do software é Platform Engineer, onde você está construindo e automatizando uma plataforma para a implantação dos desenvolvedores. Enquanto isso, um SRE é a pessoa responsável pelo que costumava ser operações típicas. Estes são um pouco anedóticos, mas provavelmente podem ajudar você a entender @BlackVegetable.
Matt O.
11
Existem vários ótimos vídeos do YouTube de Seth Vargo e Liz Fong (eles pesquisam no Google). Eles deixam claro: "a classe SRE implementa DevOps". O SRE é uma prática formal e formal que segue muitos princípios do DevOps.
Dave Swersky
11
Veja também: youtube.com/watch?v=uTEL8Ff1Zvk&t=2s
sethvargo
21

Dave Swersky já postou uma excelente resposta acima com a definição de SRE de Ben Treynor, que é tão comovente hoje quanto em 2003.

Fundamentalmente, é o que acontece quando você pede a um engenheiro de software para projetar uma função de operações.

Então, na tentativa de definir melhor "DevOps", aqui está um trecho do livro Effective DevOps de Jennifer Davis & Katherine Daniels:

Devops é uma maneira de pensar e trabalhar. É uma estrutura para compartilhar histórias e desenvolver empatia ... [não] é apenas mais uma metodologia de desenvolvimento de software.

[P] As práticas podem incluir métodos de desenvolvimento de software ou recursos como automação de infraestrutura e entrega contínua, [embora] seja muito mais do que apenas a soma dessas partes.

Embora esses conceitos estejam relacionados e possam ser vistos com frequência em ambientes de devops, o foco exclusivo neles perde o quadro geral - os aspectos culturais e interpessoais que dão ao devops seu poder.

Em resumo: um SRE eficaz aproveitará as práticas de DevOps.

-

Além disso:

Como sei qual grupo é responsável por quê?

A propriedade não deve estar implícita; comunicar!

Caçador da floresta
fonte
17

A Engenharia de confiabilidade do site se enquadra em operações mais ou menos tradicionais, mas altamente automatizadas e controladas por versão, o que também é chamado de Infraestrutura como código . É um papel vertical bem definido . Nos DevOps modernos, essa é a fatia vertical que se relaciona ao Operations. Você pode ter uma equipe de SRE.

O DevOps, como tal, é uma mudança cultural para uma organização. Além da estrutura de gerenciamento vertical, de cima para baixo, cria uma conexão horizontal entre as equipes ao longo dos caminhos de entrega do trabalho ao longo das cadeias de valor . Para um engenheiro, é uma função horizontal pouco definida que une várias equipes, garantindo que o trabalho passe sem problemas e rapidamente por toda a organização. Você não pode ter uma equipe de engenheiros do DevOps, que é um oxímoro , pois estender os limites da equipe é uma parte crucial da função.

Jiri Klouda
fonte
Quaisquer links para fontes relevantes seriam ótimos.
Kenorb #
1

Outra maneira de descrever as diferenças entre o Site Reliability Engineering e o DevOps é examinar a explicação de Wikipedia sobre a Site Reliability Engineer, que começa assim:

Engenheiro de confiabilidade do site (SRE) é uma descrição do trabalho fornecida a engenheiros de software focados em confiabilidade, escalabilidade e desenvolvimento de infraestrutura de computação em nuvem, conhecida como Site Reliability Engineering (SRE).

Portanto, você pode considerar os SREs como pessoas envolvidas em Building walls...

No entanto, a explicação da Wikipedia sobre o DevOpsinício é assim:

DevOps ... é um termo usado para se referir a um conjunto de práticas que enfatizam a colaboração e a comunicação de desenvolvedores de software e profissionais de tecnologia da informação (TI), enquanto automatizam o processo de entrega de software e alterações na infraestrutura. Seu objetivo é estabelecer uma cultura e um ambiente em que a criação, teste e liberação de software possa acontecer de forma rápida, frequente e mais confiável.

O que não diz é que todas essas práticas de DevOps são realmente acionadas por uma demanda do lado dos negócios. Então, combinado com a construção e teste (a parte Develop ) e o Release do software, o DevOps trata de uma cultura e um ambiente DDR (= Demand-Develop-Release), que algumas pessoas podem lembrar desses 9 segundos de um discurso histórico para Tear down this wall.

Consulte a pergunta sobre Breve interrupção planejada para quarta-feira, 3 de maio de 2017 às 20:00 EUA / Leste (como uma broca de incêndio para computadores) para obter um exemplo de todos os sites do SE ... publicados (assinados) por um usuário com o cargo SRE Manager , Stack Overflow, Inc.

Pierre.Vriens
fonte
Não sigo o argumento de que a SRE envolve a construção de muros. De onde você está conseguindo isso?
Xiong Chiamiov 5/07
Além disso, Tom Limoncelli é conhecido por muito mais do que apenas trabalhar no Stack Exchange.
Xiong Chiamiov