SREとDevOpsの違いは何ですか?
サイトの信頼性のエンジニアリングと開発オペレーションは、かなり詳細に重複しているようです。どのグループが何に対して責任があるのかをどのように知ることができますか?
SREはサーバーとネットワークの保守に関するものであり、DevOpsはコードの保守に関するもののようですが、それは正しいですか?これら2つの間にはまだかなりの量の重複がありませんか?
SREとDevOpsの違いは何ですか?
サイトの信頼性のエンジニアリングと開発オペレーションは、かなり詳細に重複しているようです。どのグループが何に対して責任があるのかをどのように知ることができますか?
SREはサーバーとネットワークの保守に関するものであり、DevOpsはコードの保守に関するもののようですが、それは正しいですか?これら2つの間にはまだかなりの量の重複がありませんか?
回答:
DevOpsはコードの保守に関するものですが、それは正しいですか?
DevOpsは、「単なる」コードやシステム、その他のことではありません。DevOpsは、ソフトウェア配信に関連するすべてのものをカバーする非常に一般的な用語です。
サイト信頼性エンジニアリングは、Googleによって一般化された用語です。この記事https://landing.google.com/sre/interview/ben-treynor.htmlから、TL; DRを抽出できます。
基本的に、ソフトウェアエンジニアに運用機能を設計するよう依頼すると発生します。
オペレーション、エンジニアリング、およびソフトウェア開発はいっしょにぼやけています。成熟したインフラストラクチャを作成および維持するために必要な自動化の程度には、3つすべてのスキルが必要です。SREは管理者、あるとエンジニア、および開発者。
DevOps Engineering
とSRE work
その1を超えたが、頭字語、Googleによって開発され、かなりクールな(無料!)この本でバックアップされています。
デイブ・スワースキーは既に、ベン・トレイナーのSREの定義について上記の優れた回答を投稿しています。
基本的に、ソフトウェアエンジニアに運用機能を設計するよう依頼すると発生します。
したがって、「DevOps」をさらに定義する試みとして、ジェニファー・デイビスとキャサリン・ダニエルズによる「Effective DevOps」という本からの抜粋があります。
Devopsは考え方であり、働き方です。ストーリーを共有し、共感を深めるためのフレームワークです... [それは]単なるソフトウェア開発方法論ではありません。
[P]プラクティスには、ソフトウェア開発方法、またはインフラストラクチャの自動化や継続的デリバリーなどの機能を含めることができますが、これらの部分の単なる合計以上のものです。
これらの概念は関連しており、devops環境で頻繁に見られますが、それらだけに焦点を合わせると、devopsに力を与える文化的および対人的側面という全体像を見逃します。
要約すると、効果的なSREはDevOpsプラクティスを活用します。
-
また:
どのグループが何に責任があるのかを知るにはどうすればよいですか?
所有権は暗黙的であってはなりません。コミュニケーション!
サイト信頼性エンジニアリングは、多かれ少なかれ従来の運用に該当しますが、高度に自動化され、バージョン管理されている、コードとしてのインフラストラクチャとも呼ばれます。明確に定義された垂直的役割です。最新のDevOpsでは、これはオペレーションに関連する垂直スライスです。SREのチームを持つことができます。
DevOps自体は、組織にとって文化的な変化です。垂直、トップダウンの管理構造に加えて、バリューチェーン全体の作業の配信パスに沿ってチーム間の水平接続を作成します。エンジニアにとっては、複数のチームを結び付ける緩やかに定義された水平の役割であり、作業が組織全体でスムーズかつ迅速に行われるようにします。チームの境界をまたぐことは役割の重要な部分であるため、DevOpsエンジニアのチーム、つまり矛盾を抱えたチームを作ることはできません。
サイト信頼性エンジニアリングと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.