SREとDevOpsの違いは何ですか?


57

SREとDevOpsの違いは何ですか?

サイトの信頼性のエンジニアリングと開発オペレーションは、かなり詳細に重複しているようです。どのグループが何に対して責任があるのか​​をどのように知ることができますか?

SREはサーバーとネットワークの保守に関するものであり、DevOpsはコードの保守に関するもののようですが、それは正しいですか?これら2つの間にはまだかなりの量の重複がありませんか?


3
DevOpsは用語として非常に乱用されているため、現時点では何も意味がないと思います。

1
私が話をした会社には、SREとDevOpsチームの両方がありました。彼らは、DevOpsは新しいアプリケーションの作成に使用され(0〜6か月)、SREは古いアプリケーションを維持していると言っていました。どちらも自動化を使用し、アプリをコーディングしてリリースした開発者でした。
ポールトッツケ

1
私はSRE上のグーグルの本はそれが何であるかを理解するために読んでいいことだと思う:landing.google.com/sre
カイルSteenkamp

回答:


49

DevOpsはコードの保守に関するものですが、それは正しいですか?

DevOpsは、「単なる」コードやシステム、その他のことではありません。DevOpsは、ソフトウェア配信に関連するすべてのものをカバーする非常に一般的な用語です

サイト信頼性エンジニアリングは、Googleによって一般化された用語です。この記事https://landing.google.com/sre/interview/ben-treynor.htmlから、TL; DRを抽出できます。

基本的に、ソフトウェアエンジニアに運用機能を設計するよう依頼すると発生します。

オペレーション、エンジニアリング、およびソフトウェア開発はいっしょにぼやけています。成熟したインフラストラクチャを作成および維持するために必要な自動化の程度には、3つすべてのスキルが必要です。SREは管理者、あるエンジニア、および開発者。

参照:http : //shop.oreilly.com/product/0636920041528.do


6
DevOpsは単にソフトウェアに制限されているわけではありません。これは誤解です。製品設計、製品要件、ドキュメントなどにすべて結び付ける必要があります。顧客から顧客に戻るバリューチェーン全体に従う必要があります。ビューを制限すると、影響が軽減され、最終的にはより洗練されたリリースエンジニアとしての役割を誤解することになります。
ジリクルダ

私はとの違いを理解することはまだましDevOps EngineeringSRE workその1を超えたが、頭字語、Googleによって開発され、かなりクールな(無料!)この本でバックアップされています。
BlackVegetable

サイト信頼性エンジニアは、実際の役職と職務内容です。それはまさにそれが言うことを意味します。ソフトウェア側のDevOpsを暗示するタイトルは、プラットフォームエンジニアです。ここでは、開発者が展開するプラットフォームを構築および自動化しています。一方、SREは、典型的な操作であったものに対して責任を負う人です。これらは少し逸話ですが、おそらく@BlackVegetableの理解に役立つ可能性があります。
マットO.

1
Seth VargoとLiz Fong(Googleの2人)からのすばらしいYouTubeビデオがたくさんあります。「クラスSREはDevOpsを実装しています」と明確にしています。SREは、DevOpsの多くの原則に従う具体的かつ正式なプラクティスです。
デイブSwersky

1
v

21

デイブ・スワースキーは既に、ベン・トレイナーのSREの定義について上記の優れた回答を投稿しています。

基本的に、ソフトウェアエンジニアに運用機能を設計するよう依頼すると発生します。

したがって、「DevOps」をさらに定義する試みとして、ジェニファー・デイビスとキャサリン・ダニエルズによる「Effective DevOps」という本からの抜粋があります。

Devopsは考え方であり、働き方です。ストーリーを共有し、共感を深めるためのフレームワークです... [それは]単なるソフトウェア開発方法論ではありません。

[P]プラクティスには、ソフトウェア開発方法、またはインフラストラクチャの自動化や継続的デリバリーなどの機能を含めることができますが、これらの部分の単なる合計以上のものです。

これらの概念は関連しており、devops環境で頻繁に見られますが、それらだけに焦点を合わせると、devopsに力を与える文化的および対人的側面という全体像を見逃します。

要約すると、効果的なSREはDevOpsプラクティスを活用します。

-

また:

どのグループが何に責任があるのか​​を知るにはどうすればよいですか?

所有権は暗黙的であってはなりません。コミュニケーション!


17

サイト信頼性エンジニアリングは、多かれ少なかれ従来の運用に該当しますが、高度に自動化され、バージョン管理されている、コードとしてのインフラストラクチャとも呼ばれます。明確に定義された垂直的役割です。最新のDevOpsでは、これはオペレーションに関連する垂直スライスです。SREのチームを持つことができます。

DevOps自体は、組織にとって文化的な変化です。垂直、トップダウンの管理構造に加えて、バリューチェーン全体の作業の配信パスに沿ってチーム間の水平接続を作成します。エンジニアにとっては、複数のチームを結び付ける緩やかに定義された水平の役割であり、作業が組織全体でスムーズかつ迅速に行われるようにします。チームの境界をまたぐことは役割の重要な部分であるため、DevOpsエンジニアのチーム、つまり矛盾を抱えたチームを作ることはできません。


関連するソースへのリンクはすばらしいでしょう。
ケノーブ

1

サイト信頼性エンジニアリングDevOpsの違いを説明する別の方法は、Wikipediaのaの説明を見るSite Reliability Engineerことです。

サイト信頼性エンジニア(SRE)は、信頼性、拡張性、およびサイト信頼性エンジニアリング(SRE)として知られるクラウドコンピューティングインフラストラクチャの開発に焦点を当てたソフトウェアエンジニア向けの職務記述書です。

そのため、SREに関与する人々と見なすことができますBuilding walls...

しかし、ウィキペディアの説明は次のDevOpsように始まります。

DevOps ...は、ソフトウェア配信とインフラストラクチャ変更のプロセスを自動化しながら、ソフトウェア開発者と情報技術(IT)プロフェッショナルの両方のコラボレーションとコミュニケーションを重視する一連のプラクティスを指すために使用される用語です。ソフトウェアの構築、テスト、およびリリースを迅速、頻繁、そしてより確実に行うことができる文化と環境を確立することを目的としています。

それが言っていないのは、これらすべてのDevOpsプラクティスが実際にビジネス側からの需要によってトリガーされるということです。そのため、DevOpsは、ビルドとテスト(開発の一部)およびソフトウェアのリリースと組み合わせて、DDR(= Demand-Develop-Release)の文化と環境に関するものです。Tear down this wall

2017年5月3日水曜日(米国東部時間)に計画された短時間の停止(コンピューターのファイアドリルなど)に関する質問を参照してください。役職SREマネージャーのユーザーが投稿(署名)したすべてのSEサイトについての例です。、Stack Overflow、Inc.


私は、SREが壁の構築を伴うという議論には従いません。どこから入手していますか?
熊Chiamiov

また、Tom Limoncelliは、Stack Exchangeで働いているだけではないことで知られています
Xiong Chiamiov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.