最新の運用
このモジュールの前半では、最新の運用プラクティスが役立つことを説明しました。 ただし、そのプラクティスがどのようなものか、なぜそれを目指すことが理にかなっているかについては、詳しく説明しませんでした。 ここでは、信頼性の高い作業を進めるために使用するマップの準備として説明します。
このモジュール内と最新の運用ラーニング パスでは、次の 2 つの異なるプラクティスを包含する用語として "最新の運用プラクティス" を使用しています。
- DevOps
- サイト信頼性エンジニアリング (SRE)
この両方と、このコンテキストで提供される必要がある内容について簡単に見ていきましょう。
DevOps
DevOps は非常にすばらしいものですが、さまざまな人がさまざまな方法で理解し解釈しています。 これには適切な定義が多くあります。 全体像がわかるようにいくつかを見ていきましょう。
価値の継続的デリバリー
DevOps とは、エンド ユーザーに対する価値の継続的デリバリーを可能にするための、人、プロセス、および製品の結合です。 "Dev" と "Ops" は開発 (Development) と運用 (Operations) を組み合わせて短縮した用語です。サイロ化した開発と運用を多専門的チームに作り変え、効率的なプラクティスとツールを共有して連携して作業することを指します。 DevOps の重要なプラクティスとして、アジャイル計画、継続的インテグレーション、継続的デリバリー、アプリケーションの監視などがあります。
-- サム・グッケンハイマー「DevOps とは」
コラボレーション、所有権、および学習の文化
DevOps は、コラボレーション、所有権、学習のエンジニアリング文化です。アイデアから運用までのソフトウェア開発ライフ サイクルを加速させることを目的としています。
-- エミリー・フリーマン氏『DevOps for Dummies』 (超入門)
システムのアイデア創出、開発、デプロイ、運用で連携する
DevOps: 役職や経歴に関係なく、人々が連携してシステムをアイデア創出、開発、デプロイ、運用する文化。
-- ケン・ムグラージ氏
サイト信頼性エンジニアリング
DevOps 分野のキーワードが "デリバリー" だとしたら、サイト信頼性エンジニアリングのキーワードは "信頼性" です。 SRE にはいくつかの定義があり、現場で議論されてきましたが、このテーマにはいくらか意見の一致が見られるようです。 次に、その意見の一致の主な側面を捉えた定義を以下に示します。
サイト信頼性エンジニアリングとは、組織がシステム、サービス、製品で適切なレベルの信頼性を持続的に達成するために役立つ専用のエンジニアリング手法です。
これらのプラクティスがあるのはなぜか。 なぜ今あるのか。
運用プロフェッショナルたちは、運用空間に固有の一連の課題に対応するために、この 15 年間で DevOps と SRE を作り上げました。 次のようなさまざまな要因から、新しいアプローチが必要になることを認識していたからです。
- 運用環境の複雑さが増大。
- これらの環境の継続的な機能に対するビジネス依存度が増加。
- これらの環境の規模に比例して労働力を増やすことができない。
DevOps と SRE はそれぞれ異なるプラクティスであり、焦点が多少異なります (前述の "デリバリー" 対 "信頼性" など) が、どちらも、信頼性の作業の中核となる原則とプラクティスの両方を策定してきました。 監視/観測可能性、適切なインシデント対応、自動化、コラボレーションなどがあります。 これらはすべて、"信頼性の向上" ラーニング パスで説明する資料で重要な役割を果たします。
では、その作業について説明しましょう。 信頼性の構築と計画に役立つモデルから始めます。