サイト信頼性エンジニア(SRE)には、ジェネラリストとスペシャリストがある。Blamelessのチームが先頃、SRE専門チームのアドバンテージを詳説した記事を発表した。SREのスペシャリスト的な性格については、その採用プロセスからも明らかである。個人の持つスキルセットに応じて、企業は、SREを教育者やSLOガード、インフラストラクチャアーキテクト、インシデント対応リーダなど、さまざまな専門的役割に関与させることができるのだ。
SREの役割には、専門性と大局的な意識を併せ持つという、ユニークな前提がある。SREは"信頼性の守護者"として、サービスレベル目標(SLO)の順守を保証する役割を担うと同時に、チームに対しては、実験を通じて、計算されたリスクの下で学習することを奨励する立場にあるのだ。
信頼性を高めるという目的に対して、多くの企業が分散型や集中型のSREチームを編成している。SREはサービスのコードベースに貢献したり、あるいは開発方針や手順の記述を行ったりするだけでなく、場合によっては、プロジェクトの成功に不可欠でありながら、コードへの貢献を伴わない、グルーの役割を果たすこともある。
専門化したSREに対して企業ができるのは、彼らが自身の最も強い領域で、より多くの時間とエネルギを費やせるようにすることだ。例えば、強固な技術的バックグラウンドを持ったSREであれば、インフラストラクチャや社内ツールに貢献できるし、そういったバックグラウンドの強くないSREならば、フルタイムの教育作業や開発方針の記述に力を入れることができる。
このテーマは、チームの運用ニーズに応えると同時に、長期的な視野による運用面での洗練化においても戦略的役割を提供するSREの能力を取り上げた、QCon Plus July 2021の前方展開型(forward-deployed)SREモデルに通じるものがある。
企業がSREチームを立ち上げるには、専門家としてのマインドセットを活用したジョブポスティングを作るのが有効だ。SREの仕事内容を分析したDevOps.comの最新記事には、SREに対するさまざまな期待が述べられている。
企業はSREチームに対して、次のようなスペシャリストとしての役割を見出すことができる。
- 教育者
- 企業にとって有益な開発方針や手順、文化的価値、インフラストラクチャを構築する。
- 新たなプラクティスを伝えるための情報セッションの実施や、その運用状況の分析を行うことができる。
- 教育者は、新たなプラクティスの採用を人々に納得させる能力とともに、共感する能力を有する必要がある。
- SLOガード(SLO Guard)
- SLOにおいて必要なものを測定し、違反のないことを確認する。
- SLOレビューミーティングを設定し、関連するデータを取得するための追加ツールを導入する。
- "Noと言える能力"を育成する。SLOを遵守するために開発が遅れる必要のあることを伝えるのは、重要なスキルである。
- インフラストラクチャ・アーキテクト
- 社内ツール用のドキュメンテーション、手順書、プロジェクト完遂のプロセスなど、さまざまなプロジェクト用のSREインフラストラクチャを構築する。
- 開発チームと密接に作業して、SRE兼開発者と呼べる役割を果たす。
- 技術的役割を果たすためには、開発プロセスの把握を含むスキルセットが求められる。企業のコードベースに関する深い知識が必須である。
- インシデント対応リーダ
- インシデントに対して明確な方法で効果的に対応することにより、企業が"インシデント対応可能"であることを確実にする。
- この役割はインシデント発生前、発生中、解決後において不可欠である。その責任範囲は、インシデント発生前の準備段階としてのオンコールスケジュールの作成から始まり、発生中のチームとのコラボレーション、解決後のレトロスペクティブ作成にまで及ぶ。
- 優先順位付けのスキルやツール知識に加えて、対人能力(people skills)が求められる。
関連するニュースとして、DevOps Instituteが先頃、Site Reliability Engineering Surveyの2022年版を公開した。この調査は、サイト信頼性エンジニアリングが必須のプロセスおよびフレームワークになったことを受けて実施されているもので、SRE導入の実践的ガイダンスとサポートを世界のITコミュニティに提供することを目的とする。