Quelle est la différence entre SRE et DevOps?


57

Quelle est la différence entre SRE et DevOps?

Les opérations d'ingénierie et de développement de la fiabilité des sites semblent se chevaucher beaucoup dans les détails. Comment savoir quel groupe est responsable de quoi et comment savoir quels emplois seraient appropriés à mes compétences?

Il semble que SRE concerne la maintenance des serveurs et du réseau, et DevOps, la maintenance du code, est-ce exact? N'y a-t-il pas encore beaucoup de chevauchement entre ces deux-là?


3
Je pense que DevOps a été tellement abusé en tant que terme qu’il signifie rien ou rien à ce stade.
Poussins

1
Une entreprise à laquelle j'ai parlé avait à la fois un SRE et une équipe de DevOps. Ils m'ont dit que DevOps était utilisé pour créer de nouvelles applications (0 à 6 mois) et que SRE maintenait d'anciennes applications. Tous deux étaient des développeurs qui utilisaient des applications automatisées, codées et publiées.
Paul Totzke

1
Je pense que le livre de Googles sur SRE serait une bonne lecture pour comprendre ce que c'est: landing.google.com/sre
Kyle Steenkamp

Réponses:


49

DevOps concerne la maintenance du code, est-ce correct?

DevOps n'est pas "juste" un problème de code, de systèmes ou autre chose. DevOps est un terme très général qui couvre tout ce qui concerne la fourniture de logiciels.

La fiabilité du site est un terme popularisé par Google. Depuis cet article https://landing.google.com/sre/interview/ben-treynor.html, nous pouvons en distiller les TL; DR:

Fondamentalement, c'est ce qui se passe lorsque vous demandez à un ingénieur en logiciel de concevoir une fonction opérationnelle.

Les opérations, l'ingénierie et le développement de logiciels sont flous. Le degré d'automatisation requis pour créer et maintenir une infrastructure mature requiert des compétences des trois. SRE sont les administrateurs, et les ingénieurs, et les développeurs.

Voir aussi: http://shop.oreilly.com/product/0636920041528.do


6
DevOps n'est pas limité aux logiciels, c'est une idée fausse. Il doit être lié à la conception du produit, aux exigences du produit, à la documentation, etc. Il est supposé suivre la chaîne de valeur complète d'un client à l'autre. Restreindre le champ de vision conduit à une réduction de l'impact et finalement à une mauvaise compréhension du rôle d'ingénieur de publication plus sophistiqué.
Jiri Klouda

Je n'ai pas encore compris la distinction entre DevOps Engineeringet SRE workau-delà. Il s'agit d'un acronyme développé par Google et soutenu par un livre plutôt cool (gratuit!).
BlackVegetable

Ingénieur en fiabilité du site est un titre et une description de poste. Cela implique exactement ce que cela dit. Un titre qui peut impliquer DevOps du côté logiciel est Platform Engineer, dans lequel vous créez et automatisez une plate-forme sur laquelle les développeurs peuvent se déployer. Pendant ce temps, un SRE est la personne responsable de ce qui était autrefois des opérations typiques. Celles-ci sont un peu anecdotiques mais peuvent probablement vous aider à comprendre @BlackVegetable.
Matt O.

1
Il existe de nombreuses vidéos YouTube de Seth Vargo et Liz Fong (Google les.). Elles expliquent que "la classe SRE implémente DevOps". SRE est une pratique concrète et formalisée qui suit de nombreux principes DevOps.
Dave Swersky


21

Dave Swersky a déjà publié une excellente réponse ci-dessus avec la définition de SRE de Ben Treynor, qui est aussi poignante qu’elle l’était en 2003.

Fondamentalement, c'est ce qui se passe lorsque vous demandez à un ingénieur en logiciel de concevoir une fonction opérationnelle.

Donc, pour tenter de définir plus précisément "DevOps", voici un extrait du livre Effective DevOps de Jennifer Davis & Katherine Daniels:

Devops est une façon de penser et de travailler. C'est un cadre pour partager des histoires et développer de l'empathie ... [ce n'est pas] une autre méthodologie de développement de logiciel.

[Les] pratiques peuvent inclure des méthodes de développement de logiciels, ou des fonctionnalités telles que l'automatisation d'infrastructure et la distribution continue, [bien que] cela représente bien plus que la somme de ces éléments.

Alors que ces concepts sont liés et peuvent être fréquemment vus dans les environnements de développement, se focaliser uniquement sur ceux-ci passe à côté de l’ensemble, à savoir les aspects culturels et interpersonnels qui donnent à devops son pouvoir.

En résumé: un SRE efficace utilisera les pratiques de DevOps.

-

Aussi:

Comment savoir quel groupe est responsable de quoi?

La propriété ne devrait pas être implicite; communiquer!


17

L'ingénierie de la fiabilité des sites relève d'opérations plus ou moins traditionnelles, mais fortement automatisées et contrôlées par la version, appelée aussi Infrastructure en tant que code . C'est un rôle vertical bien défini . Dans les DevOps modernes, il s’agit de la tranche verticale liée aux opérations. Vous pouvez avoir une équipe de SRE.

DevOps en tant que tel est un changement culturel pour une organisation. En plus de la structure de gestion verticale, descendante et descendante, il crée une connexion horizontale entre les équipes le long des parcours de livraison tout au long des chaînes de valeur . Pour un ingénieur, il s’agit d’un rôle horizontal mal défini qui lie plusieurs équipes et garantit la fluidité et la rapidité du travail dans l’ensemble de l’organisation. Vous ne pouvez pas avoir une équipe d'ingénieurs DevOps, c'est-à-dire un oxymore , car étendre les limites de l'équipe est une partie cruciale du rôle.


Tout lien vers des sources pertinentes serait formidable.
Kenorb

1

Une autre façon de décrire les différences entre l' ingénierie de la fiabilité des sites et DevOps consiste à examiner l' explication de a par WikipediaSite Reliability Engineer , qui commence ainsi:

L'ingénieur de fiabilité de site (SRE) est une description de poste donnée aux ingénieurs en logiciel qui se concentrent sur la fiabilité, l'évolutivité et le développement d'une infrastructure d'informatique en nuage, connue sous le nom d'ingénierie de fiabilité de site (SRE).

Vous pouvez donc considérer les SRE comme des personnes impliquées dans Building walls...

Cependant, l' explication de WikipediaDevOps commence comme suit:

DevOps ... est un terme utilisé pour désigner un ensemble de pratiques qui mettent l'accent sur la collaboration et la communication des développeurs de logiciels et des professionnels des technologies de l'information tout en automatisant le processus de livraison des logiciels et les modifications d'infrastructure. Il vise à créer une culture et un environnement dans lesquels la création, le test et la publication de logiciels peuvent être réalisés rapidement, fréquemment et de manière plus fiable.

Ce que cela ne dit pas, c'est que toutes ces pratiques DevOps sont en réalité déclenchées par une demande du côté des entreprises. Donc , combiné avec la construction et l' essai (la développer partie) et la sortie du logiciel, DevOps est d'un DDR (= la demande develop-Release) la culture et l' environnement, que certaines personnes se souviennent de ces 9 secondes d'un speach historique à Tear down this wall.

Reportez-vous à la question sur la brève panne prévue le mercredi 3 mai 2017 à 20 h, heure des États-Unis et de l'Est (comme un exercice d'incendie pour ordinateurs) pour obtenir un exemple de tous les sites SE ... posté (signé) par un utilisateur dont le titre est SRE Manager , Débordement de pile, Inc.


Je ne suis pas l'argument selon lequel SRE implique la construction de murs. D'où obtenez-vous cela?
Xiong Chiamiov

En outre, Tom Limoncelli est connu pour beaucoup plus que simplement travailler chez Stack Exchange.
Xiong Chiamiov
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.