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

ITにおけるソフトウェアエンジニアリングプラクティスの活用

サイト信頼性エンジニアリングSRE )は、ソフトウェアエンジニアリングITインフラストラクチャサポートの分野における、展開されたソフトウェアシステムと大規模なソフトウェアサービスの可用性とパフォーマンスを監視および改善する分野です(新しいソフトウェアの展開、ハードウェア障害、サイバーセキュリティ攻撃などのイベントにわたって信頼性の高い応答時間を提供することが期待されます)。[1]通常、自動化とコード手法としてのインフラストラクチャに重点が置かれています。SREは、ソフトウェアエンジニアリングITインフラストラクチャWeb開発運用の要素を使用して[2]信頼性を支援します。展開されたソフトウェアシステムの信頼性と可用性を向上させることを目的としたDevOpsに似ています

歴史

サイト信頼性エンジニアリングは、2003 年に SRE チームを設立したベンジャミン トレイナー スロス氏によってGoogleで始まりました[3] [4]。[5]この概念はソフトウェア開発業界内で拡大し、様々な企業がサイト信頼性エンジニアを採用するようになりました[6] 2016 年 3 月までに、Google には 1,000 人を超えるサイト信頼性エンジニアがいました。[7]大規模なウェブ開発企業では、専用の SRE チームが一般的です。 [8]中規模および小規模の企業では、DevOps チームが SRE を実施することもあります。[6]この概念を採用している組織には、AirbnbDropboxIBM[9] LinkedIn[10] Netflix[7] 、 Wikimediaなどがあります[11]

意味

サイト信頼性エンジニア(SRE)は、システムの可用性レイテンシパフォーマンス、効率、変更管理監視緊急対応キャパシティプランニングなど、さまざまな責任を負います。[12] SREは、ソフトウェアエンジニアリングシステムエンジニアリングシステム管理などのバックグラウンドを持つことが多いです[13] SREの重点は、自動化システム設計システムレジリエンスの向上にあります。[13]

SREはDevOpsの特定の実装であると考えられています。[14] SREは信頼性の高いシステムの構築に特化していますが、DevOpsはより広範な運用をカバーしています。[15] [16] [17]異なる焦点があるにもかかわらず、一部の企業では運用チームをSREチームにリブランドしています。[6]

原則と実践

慣行の一般的な定義には以下が含まれる(ただし、これらに限定されない):[2] [18]

  • コスト効率を高めるために反復タスクを自動化します。
  • 無限の労力を防ぐために信頼性の目標を定義します。
  • 可用性、遅延、効率に対するリスクを軽減することを目的としたシステムの設計。
  • 観測可能性とは、事前に何を質問するかを知らなくても、システムについて任意の質問をすることができる能力である。[19]

原則の一般的な定義には以下のものが含まれます (ただし、これらに限定されません)。

展開

SREチームは、組織内の他の部門と連携して、前述の原則の実装を指導します。以下は一般的なプラクティスの概要です。[20]

キッチンシンク

キッチンシンクとは、SREチームが監視するサービスとワークフローの、広範かつしばしば境界のない範囲を指します。明確に境界が定義された従来の役割とは異なり、SREはシステムパフォーマンスの最適化、インシデント管理、自動化など、多様な責任を担います。このアプローチにより、SREは複数の課題に対処し、システムの効率的な運用と、変化する需要や複雑性への対応を可能にします。

インフラストラクチャー

インフラストラクチャSREチームは、他のチームのワークフローを支えるシステムの信頼性の維持と向上に重点を置いています。プラットフォームエンジニアリングチームと連携することもあります。しかし、主な責任は稼働時間、パフォーマンス、そして効率性の確保です。一方、プラットフォームチームは、主に組織全体で使用されるソフトウェアとシステムの開発を担当します。信頼性は両チームにとっての目標ですが、プラットフォームチームは社内のステークホルダーが使用するツールとサービスの作成と維持を優先するのに対し、インフラストラクチャSREチームは、これらのシステムがスムーズに動作し、信頼性基準を満たしていることを保証することを任務としています。

ツール

SREチームは、システムの信頼性を測定、維持、向上させることを目的として、様々なツールを活用しています。これらのツールは、パフォーマンスの監視、問題の特定、そしてプロアクティブなメンテナンスの促進に役立ちます。例えば、Nagios Coreはシステムの監視とアラート通知によく使用され、Prometheus(ソフトウェア)はクラウドネイティブ環境でのメトリクスの収集とクエリに頻繁に使用されます。

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

大規模組織では、特定の製品やアプリケーションに特化したSREチームが一般的です。[21]これらのチームは、主要サービスの信頼性、拡張性、パフォーマンスを確保する責任を負っています。大企業では、複数のSREチームが存在し、それぞれが異なる製品やアプリケーションに焦点を当て、各領域に専門的な注意を払い、パフォーマンスと可用性の目標を達成することが一般的です。

埋め込み

組み込みモデルでは、個々のSREまたは小規模なSREペアがソフトウェアエンジニアリングチームに統合されます。これらのSREは開発者と連携し、自動化、監視、インシデント対応といったSREの中核原則をソフトウェア開発ライフサイクルに直接適用します。このアプローチは、信頼性、パフォーマンス、そしてSREと開発者間の連携を強化することを目的としています。

コンサルティング

コンサルティングSREチームは、SREの原則と実践の導入に関するアドバイスを組織に専門的に提供します。通常、様々な導入経験を持つ経験豊富なSREで構成され、組織の具体的なニーズに合わせた洞察とガイダンスを提供します。クライアントと直接連携する場合、これらのSREは「顧客信頼性エンジニア(Customer Reliability Engineer)」と呼ばれることがよくあります。

SREを導入している大規模組織では、ハイブリッドモデルが一般的です[要出典]。このモデルには、様々な実装が含まれます。例えば、複数の製品/アプリケーションSREチームが、それぞれの製品の特定の信頼性ニーズに対応することに専念するなどです。インフラストラクチャSREチームは、プラットフォームエンジニアリンググループと連携し、すべての製品とアプリケーションをサポートする統合プラットフォームの共通の信頼性目標を達成する場合もあります。

業界

USENIXは2014年以来、毎年SREconカンファレンスを主催しており、様々な業界のサイト信頼性エンジニアが参加しています。このカンファレンスは、専門家が知識を共有し、効果的なプラクティスを探求し、サイト信頼性エンジニアリングのトレンドについて議論するプラットフォームとなっています。[22]

参照

参考文献

  1. ^ 「SREとは? - サイト信頼性エンジニアリングの説明 - AWS」Amazon Web Services, Inc. 2024年12月26日閲覧
  2. ^ ab 「SREスペクトラムにおけるチームの位置付けを評価する」。Google Cloud Blog 2021年6月26日閲覧。
  3. ^ Hill, Patrick. 「DevOpsがお好きですか?SREに出会うまでお待ちください」アトラシアン. 2021年6月17日閲覧
  4. ^ 「SREとは?」Red Hat . 2021年6月17日閲覧
  5. ^ Treynor, Ben (2014). 「SREへの鍵」USENIX SREcon14 . 2021年6月17日閲覧
  6. ^ abc Gossett, Stephen (2020年6月1日). 「サイト信頼性エンジニアとは何か?SREの役割は何か?」Built In . 2021年6月17日閲覧
  7. ^ ab Fischer, Donald (2016年3月2日). 「サイト信頼性エンジニアは次のデータサイエンティストか?」TechCrunch . 2019年8月12日時点のオリジナルよりアーカイブ。 2021年6月17日閲覧
  8. ^ Beres, Cristi (2024年10月9日). 「SREとDevOps:完璧なITの組み合わせを実現」. Synergo Group .
  9. ^ 「サイト信頼性エンジニアリング」。IBM Cloud Education。IBM。 2020年1112日。 2021年6月21日閲覧
  10. ^ 「サイト信頼性エンジニアリング(SRE)」. engineering.linkedin.com . 2024年3月12日閲覧
  11. ^ "SRE - ウィキテック".ウィキテック.ウィキメディア.org 2021年10月17日閲覧
  12. ^ Treynor, Ben. 「In Conversation」(インタビュー)。Niall Murphyによるインタビュー。Google Site Reliability Engineering。
  13. ^ ab Jones, Chris; Underwood, Todd; Nukala, Shylaja (2015年6月). 「サイト信頼性エンジニアの採用」(PDF) . ;login: . 第40巻第3号. pp.  35– 39. 2017年8月24日時点のオリジナルよりアーカイブ(PDF) . 2021年6月17日閲覧
  14. ^ Dave Harrison (2018年10月9日). 「Googleのベッツィ・ベイヤー氏とスティーブン・ソーン氏へのインタビュー」 . 2024年7月24日閲覧
  15. ^ ベッツィ・ベイヤー、クリス・ジョーンズ、ジェニファー・ペトフ、ニール・マーフィー編 (2016). 『サイト信頼性エンジニアリング:Googleの運用システムの運用方法』セバストポル、カリフォルニア州: O'Reilly Media . ISBN 978-1-4919-5118-7. OCLC  945577030.
  16. ^ Vargo, Seth; Fong-Jones, Liz (2018年3月1日). DevOpsとSREの違いとは?(SREクラスはDevOpsを実装)(動画). Google . 2019年12月3日時点のオリジナルよりアーカイブ。 2018年3月8日閲覧
  17. ^ 「SREとは? - SRE解説 - AWS」Amazon Web Services, Inc. 2022年11月5日閲覧
  18. ^ 「7つのSRE原則[そして実践方法]」www.blameless.com . 2020年7月30日. 2021年6月26日閲覧
  19. ^ 「可観測性について学ぶ | Honeycomb」. docs.honeycomb.io . 2021年6月26日閲覧
  20. ^ 「Google の SRE:SRE チームの構築方法」Google Cloud ブログ. 2021年6月26日閲覧
  21. ^ 「Google の SRE:SRE チームの構築方法」Google Cloud ブログ。2024年 11 月 11 日閲覧
  22. ^ “Usenix SREcon”. USENIX . 2021年. 2021年6月17日閲覧

さらに読む

  • リモンチェッリ, トム; チャルップ, ストラタ R.; ホーガン, クリスティーナ J. (2014年9月). 『クラウドシステム管理の実践:WebサービスにおけるDevOpsとSREの実践』第2巻. アッパーサドルリバー, ニュージャージー州:アディソン・ウェズリー. ISBN 978-0133478549. OCLC  891786231。
  • ベッツィ・ベイヤー、クリス・ジョーンズ、ジェニファー・ペトフ、ニール・リチャード・マーフィー編 (2016). 『サイト信頼性エンジニアリング:Googleの運用システムの仕組み』O'Reilly . ISBN 978-1491929124
  • Blank-Edelman, David N. 編 (2018). Seeking SRE: Conversations About Running Production Systems at Scale (第1版). Sebastopol, CA: O'Reilly. ISBN 978-1491978863. OCLC  1052565720.
  • ベッツィ・ベイヤー、ニール・マーフィー、ケント・カワハラ、デビッド・レンシン、スティーブン・ソーン (2018). 『サイト信頼性ワークブック:SREの実践的実装法』O'Reilly. ISBN 978-1492029502
  • ウェルチ、ナット(2018年)『リアルワールドSRE:システム停止への対応と稼働率最大化のためのサバイバルガイドPackt . ISBN 978-1788628884
  • ヘザー・アドキンス、ベッツィ・ベイヤー、ポール・ブランキンシップ、ピオトル・レワンドフスキ、アナ・オプレア、アダム・スタブルフィールド (2020). 『安全で信頼性の高いシステムの構築:システムの設計、実装、保守のためのベストプラクティス』O'Reilly. ISBN 978-1-4920-8312-2. OCLC  1129470292。
  • Rosenthal, Jones, Casey, Nora (2020).カオスエンジニアリング:実践におけるシステムレジリエンス.O'Reilly. ISBN 978-1492043867{{cite book}}: CS1 maint: multiple names: authors list (link)
  • 素晴らしいサイト信頼性エンジニアリングのリソースリスト
  • SREリソースリスト
  • SRE WeeklyはSREに特化した週刊ニュースレターです
  • Google の SRE について詳しく知るには、Google の SRE ランディング ページをご覧ください。
  • Kubernetes を扱う SRE 向けのリソースを備えた Komodor K8s 信頼性学習センター
Retrieved from "https://en.wikipedia.org/w/index.php?title=Site_reliability_engineering&oldid=1327348740"