米Google SREディレクターに聞く、運用管理の意義、価値、役割

www.atmarkit.co.jp

 

 

SRE

「サイトの信頼性向上のために、自動化、障害対応、パフォーマンス管理、可用性担保などを通じて収益・ブランドを支える役割」という概念だ。
「ソフトウェアエンジニアが、自分の作成したサービスの本番環境での動作に対して、責任を持つことが基本である」
「運用作業の多くを自動化する権限と能力を持つエンジニアが、運用の責任を負う」という運用組織の新しい在り方
SRE担当者には、ソフトウェアに関する知識やシステム関連の優れたスキルと、「建設的でありながら、起こり得る可能性に備えて、疑り深い視点」が必要です。最高のSRE担当者は、将来的にどのような失敗が発生するかを常に予測でき、そうした失敗の回避方法や緩和方法を提案できる人間です。

 全てに対して「No」としか言わないような、純粋に消極的なエンジニアは役に立ちません。反対に、常に全てのデータセンターが機能し、ネットワークに帯域があり、ディスクスペースに余裕があるという前提で行動するような、楽観的なエンジニアも好ましくありません。

 私たちが必要としているのは、障害は必ず起こるという前提の下に、正確に障害の種類を予測することができ、それぞれの障害がシステムにどのように影響するかを理解し、そうした状況に対して建設的に対処できる人間です。

ともあれ、「全てのタスクを完全に自動化することはできない」という前提を明確にしておかなければならないでしょう。システムは変化しますし、ユーザーやサービスも変わります。たとえ私たちが自動化フレームワークを生み出すのに成功したとしても、すぐに次世代のサービスが誕生し、別のエンジニアリング作業を必要とするでしょう。