サイト信頼性エンジニアリング

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

サイト信頼性エンジニアリングSRE )は、ソフトウェアエンジニアリングの側面を組み込み、インフラストラクチャ運用の問題に適用する一連の原則と実践[1]です。[2]主な目標は、スケーラブル信頼性の高いソフトウェアシステムを作成することです。[2]サイト信頼性エンジニアリングは、ソフトウェア開発とIT運用を組み合わせた一連のプラクティスであるDevOpsと密接に関連しており、SREもDevOpsの特定の実装として説明されています。[2] [3]

歴史

サイト信頼性エンジニアリングの分野は、2003年に入社した後にサイト信頼性チームを設立したBen Treynor Sloss [4] [5]によってGoogleで始まりました。 [6] 2016年、Googleは1,000人以上のサイト信頼性エンジニアを雇用しました。[7] 2003年にGoogleで発足した後、この概念はより広範なソフトウェア開発業界に広がり、その後、他の企業がサイト信頼性エンジニアを採用し始めました。[8]小規模企業は、専用のSREを必要とする規模で運営されていないことが多いため、この立場は大規模なWeb企業でより一般的です。[8]このコンセプトを採用している組織には、 Airbnb DropboxIBM[9] LinkedInNetflix [7]ウィキメディア[10] DevOps Instituteによる2021年のレポートによると、2,000人の回答者を対象とした調査の22%の組織がSREモデルを採用していました。[11] [12]

定義

サイト信頼性エンジニアリングは、職務として、単独の開業医によって実行されるか、チームで編成され、通常、より広範なエンジニアリング組織内で次の組み合わせを担当します。システムの可用性遅延パフォーマンス、効率、変更管理監視緊急対応、および容量計画[13]サイト信頼性エンジニアは、多くの場合、ソフトウェアエンジニアリングシステムエンジニアリング、またはシステム管理のバックグラウンドを持っています。[14]サイト信頼性エンジニアリングの焦点には、自動化が含まれます。システム設計、およびシステムの復元力の向上。[14]

サイト信頼性エンジニアリングは、一連の原則と実践として、誰でも実行できます。SREは、誰もが優れたセキュリティプラクティスに貢献することが期待されるという点でセキュリティエンジニアリングに似ていますが、企業は最終的にその仕事のスペシャリストにスタッフを配置することを決定する場合があります。逆に、インターネットシステムを保護するために、企業はセキュリティエンジニアを雇う場合があり、信頼性の目標を定義して保証するために、企業は代わりにSREを雇う場合があります。

サイト信頼性エンジニアリングもDevOpsの特定の実装として説明されています[2] [3]が、信頼性の高いシステムの構築に特に焦点を当てていますが、DevOpsはより広くインフラストラクチャに焦点を当てています。[2]

Stephen Gossettは、Built Inで、一部の企業は、意味のある変更をほとんど行わずに、運用チームのブランドをSREチームに変更したと書いています。[8]これは、DevOpsチームと呼ばれるようにブランド変更された運用チームにも当てはまると認識されています。

原則と実践

サイト信頼性エンジニアリングの原則の標準的なリストを定義する試みは何度もありましたが[15] [16]、コンセンサスはありませんが、通常、次の特性がそのような定義のほとんどに含まれています。

  • 自動化または排除するために費用効果も高い反復的なものの自動化または排除。
  • 厳密に必要なものよりもはるかに高い信頼性を追求することの回避。必要なものを定義することは、それ自体が実践です(以下の実践のリストを参照してください)。
  • 可用性、遅延、および効率に対するリスクの軽減に偏ったシステム設計。
  • 可観測性、のように、あなたが何を聞きたいかを前もって知る必要なしにあなたのシステムについて恣意的な質問をすることができる能力。[17]

サイト信頼性エンジニアリングの実践も大きく異なりますが、以下のリストは、少なくとも部分的に実装されていることが比較的一般的に見られます。

実装

サイト信頼性エンジニアリングチームは、社内の他のチームとさまざまな形でSREの原則と実践に取り組んでいます。一般的なSREチームの実装の概要は次のとおりです。[18]

キッチンシンク、別名「EverythingSRE」

対象となるサービスまたはワークフローの範囲は通常、制限がありません。

インフラストラクチャ

他のチームの仕事をより効率的にするのに役立つ舞台裏のシステムの信頼性に焦点を当てています。これらは、「プラットフォーム」チームまたは「プラットフォーム運用」チームと混同されることがよくあります。インフラストラクチャSREチームは、1つ以上のプラットフォームエンジニアリングチームとペアになる場合がありますが、インフラストラクチャSREチームが、上記の原則と実践リストに記載されている作業のすべてではないにしても、ほとんどを実行することに重点を置いているという点で異なります。プラットフォームチームはプラットフォームの構築に集中する傾向があり、信頼性が望ましい一方で、それが唯一の優先事項ではありません。

ツール

システムの信頼性を測定、維持、および改善するためのツールに焦点を当てています。

製品またはアプリケーション

製品および/またはアプリケーションのSREチーム。一部の大企業は、これらのいくつかに人員を配置する傾向があります。

埋め込み

通常、SREのソロプラクティショナーまたはソフトウェアエンジニアリングチーム内に配置されたペアは、上記の原則と実践のほとんどを適用します。

コンサルティング

SREの原則と実践を実装する方法について相談してください。これらは通常、上記の1つまたは複数の実装でチームに取り組んだ経験豊富なSREです。外部向けのコンサルティングSREチームのSREは、「顧客信頼性エンジニア」と呼ばれることがよくあります。お客様の構成やコードを変更することはめったにありません。

SREを採用している大企業は、同じ実装の複数のチームを含む、上記の実装の組み合わせを持っている傾向があります。たとえば、複数の製品の特定の要求を満たすための複数の製品/アプリケーションSREチームと、プラットフォームとペアリングするためのインフラストラクチャSREチーム製品/アプリケーションの両方に共通のプラットフォームの信頼性目標を達成するためのエンジニアリンググループ。

業界

USENIX組織は、業界のサイト信頼性エンジニアを対象に2014年から毎年SREcon会議を開催しており、同様のテーマの地域会議も開催しています。[19]

も参照してください

参考文献

  1. ^ 「チームがSREスペクトルのどこにあるかを評価する」GoogleCloudブログ2021-06-26を取得
  2. ^ a b c d e Beyer、Betsy; ジョーンズ、クリス; ペトフ、ジェニファー; マーフィー、ニール、編 (2016)。サイト信頼性エンジニアリング:Googleが本番システムを実行する方法セバストポル、カリフォルニア州:オライリーメディアISBN 978-1-4919-5118-7OCLC945577030 _
  3. ^ a b バルゴ、セス; Fong-Jones、Liz(2018年3月1日)。DevOpsとSREの違いは何ですか?(クラスSREはDevOpsを実装します)(ビデオ)。Google
  4. ^ ヒル、パトリック。「DevOpsが大好きですか?SREに会うまで待ってください」アトラシアン2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  5. ^ 「SREとは何ですか?」RedHat2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  6. ^ トレイナー、ベン(2014)。「SREの鍵」USENIXSREcon14_ 2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  7. ^ a b フィッシャー、ドナルド(2016年3月2日)。「サイト信頼性エンジニアは次のデータサイエンティストですか?」TechCrunch2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  8. ^ a b c ゴセット、スティーブン(2020年6月1日)。「サイト信頼性エンジニアとは何ですか?SREは何をしますか?」ビルトイン2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  9. ^ 「サイト信頼性工学」IBM CloudEducationIBM2020年11月12日2021年6月21日取得{{cite web}}:CS1 maint:url-status(link
  10. ^ 「SRE-Wikitech」wikitech.wikimedia.org 2021-10-17を取得
  11. ^ Oehrlich、Eveline; グロール、ジェーン; ガルバニ、ジャンピエール(2021年)。2021 Enterprise DevOps SkillsReport (PDF)(レポート)のスキルアップ。DevOpsInstitute 2021年6月17日取得
  12. ^ Oehrlich、Eveline(2021年5月4日)。「サイト信頼性エンジニアになるために必要なこと」TechBeaconマイクロフォーカス2021年6月17日取得{{cite web}}:CS1 maint:url-status(link
  13. ^ トレイナー、ベン。「会話中」(インタビュー)。NiallMurphyによるインタビュー。Googleサイト信頼性エンジニアリング。
  14. ^ a b ジョーンズ、クリス; アンダーウッド、トッド; Nukala、Shylaja(2015年6月)。「サイト信頼性エンジニアの採用」(PDF);ログイン:40、いいえ。3. pp。35–39 2021年6月17日取得
  15. ^ 「7つのSRE原則[そしてそれらを実践する方法]」www.blameless.com 2021-06-26を取得
  16. ^ 「チームがSREスペクトルのどこにあるかを評価する」GoogleCloudブログ2021-06-26を取得
  17. ^ 「可観測性について学ぶ|ハニカム」docs.honeycomb.io 2021-06-26を取得
  18. ^ 「GoogleのSRE:SREチームを構成する方法」GoogleCloudブログ2021-06-26を取得
  19. ^ 「UsenixSREcon」USENIX2021 2021年6月17日取得

さらに読む

外部リンク