Engineering(以下、SRE)の現場はどうなっているのか。SREの日常的な仕事とはどのようなものなのか。開発エンジニアと運用担当エンジニアは、実際どのように役割分担し、協力し合っているのか。「SRE本」の監訳者などが語った。});この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。Engineering(以下、SRE)の現場はどうなっているのか。SREの日常的な仕事とはどのようなものなのか。開発エンジニアと運用担当エンジニアは、実際どのように役割分担し、協力し合っているのか。Tokyoで、監訳者を含む現場の人々が、SREのエッセンスについて語った。Engineer」は、どちらも短縮すると「SRE」であり、混同しやすい。Engineerを「SREエンジニア」と表現する。「信頼性はプロダクトの機能の1つ」という考え方SREの原点は、「信頼性はあらゆるプロダクトの基本的な機能である」という考え方だ。「DevOpsの一形態」という説明もできなくはないが、開発と表裏一体であり、「信頼性のための機能を開発する」という側面を持っている。このため、自動化を積極的に進め、これによってスケールする運用を目指すことになる。Googleでは、Gmail、広告システムのバックエンドなど、大きな社内、社外向けプロダクトにSREエンジニアを配置している。単一のSREチームが、複数プロダクトを担当する場合もある。いずれにしても、開発エンジニアとSREエンジニアは、ヘッドカウントについて単一のプールを構成していて、プロダクトによって両者のバランスを考えて割り振る形になっている。通常、プロダクトの開発エンジニアが運用も行うが、プロダクトが大きくなってくると、それでは間に合わないため、SRE専任のエンジニアチームが構成される。SREエンジニアは、自分たちの負荷が高過ぎると判断した場合、開発者に運用作業を負担させていいことになっているという。サービス開発者は、自分たちが運用に関わりたくない。これが信頼性の高いソフトウェアを書くモチベーションになる。サービスレベル目標が活動のよりどころになる2013年からGoogleのSREとしての経験を積んできた澤田武男氏。Objectives、以下SLO)だ。澤田武男氏(2013年からGoogleのSREエンジニアとしてディスプレイ広告システム、ソースコードコントロールシステムPiper、Gitなどを担当してきた)は、自らSLOを策定した経験もある。した経験から、SLOを策定、運用するやり方について語った。同氏は、SRE本の監訳者の1人だが、2017年にDropboxのSREとなった。SLOは社外向けのサービスに加え、認証などの社内向けシステムについても適用できる目標。Indicator、以下SLI)」と呼ばれる。SLOの策定は非常に重要だと、澤田氏は強調した。「信頼性とコスト、開発速度のトレードオフを、サービス開発エンジニアと議論し、合意する機会になるから」だという。あるシステムに求める信頼性は、99%なのか、99.999%なのか。これによって冗長構成など、アーキテクチャが大きく変わる可能性がある。必要なSREエンジニアの人数はどれくらいか。インシデント対応はどれくらいの時間でできるようにするか。いうイベントをアラートの対象とすべきなのか。無限の信頼性は得られない。信頼性には具体的な目標を定めないと、誰もが不幸になる可能性がある。SLOをステークホルダー間で合意していれば、過剰なリクエストに対応しない理由を明確に説明でき、サービスチームを守ることができる。高いサービスレベルが求められる他のサービスに、不適切に組み込まれることを防げる。SLOはどのように運用されるかSLOは、SLIを決め、次にSLIを使った目標を定め、これを実行することで行う。SLIはどのように選ぶか。ユーザーの満足度と高い相関を持つメトリクスを選択する必要がある。モニタリングが容易でなければならず、事実上サーバサイドのメトリクスになることが多い。SLIを多数設定することは避け、シンプルにすべきだ。SLIには、「可用性」「レイテンシ(遅延)」「耐久性」「スループット」など、多様な種類があるが、簡単なメトリクスから始めるべきだと、澤田氏は話した。計測はできるだけユーザーに近い地点で行い、エラーについては、原因がユーザーかサービスかを、正しく分類できなければならない。SLOで対応すべきサービスリクエストの種類を吟味する必要がある。した考慮の上で、SLOを定義する。定義には多様な方法がある。「99.9%のアップタイム」といっても、「ある期間中の全てのリクエストに対するエラー率が0.1%以下」「ある期間を数分のウィンドウに分割し、99.9%のウィンドウでエラー率が○%以下」「ある期間を数分のウィンドウに分割し、各ウィンドウのエラー率を平均したものが○%以下」などが考えられる。サービスに応じて、適切な目標を選択する。ない、自動化ツールの真のメリット運用自動化というと「人員削減」「コストが掛かる」といったネガティブな見方をする向きも多い。仮想化、クラウド時代において運用自動化とはそれほど単純なものではない。国内ベンダ4社のツールに真の意義を探る。運用自動化ツールは経営の武器へ運用自動化というと「コスト削減」「効率化」といったイメージが強いが、攻めの経営を支える武器となるものでもある。後編では外資ベンダー3社の運用自動化ツールを紹介する。運用監視を自動化するオープンソースソフトウェア10製品の特徴、メリット・デメリットをひとまとめ運用自動化のポイントを深掘りする本特集。今回は「個々の作業項目の自動化」に焦点を当て、「Zabbix」「JobScheduler」「Sensu」など、運用・監視系の主要OSS、10種類の特徴、使い方などを徹底解説する。運用自動化、ツールの種類やOSS/商用の違いを問わない運用設計の作り方、進め方システム構成が動的に変化する仮想化・クラウドの浸透により、もはや人手だけによる運用管理は難しくなっている。ポイントをツール面、設計面などあらゆる角度から掘り下げていく。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。