【第2回 SREのはじめかた】
12月に掲載された第1回連載ではGoogle発SREについて、「SRE」という概念の基本的な説明や「なぜSREが誕生したのか?」という背景をご紹介させていただきました。
連載第2回となる本記事では、具体的にSREを始めるにはどうすればいいのか?という点についてご説明していきます。SREを始めるうえで大切な4つのステップやSLI、SLO、SLAなどのキーワードについても触れていきます。
連載第2回のトピックは以下の2つです。
●SREのはじめかた
●SLI/SLO/SLAとは
●SREのはじめかた
【Step1:SREに関する認識の共有】
SREを始める上で重要なことは、SREという言葉の定義はもちろんのこと、「会社がSREチームに何を期待しているか?」を明確にして関係者で共有することです。
本記事ではGoogleの提唱するSREの説明をしましたが、各会社の抱えている課題によってSREに求められる役割は異なります。
Googleと全く同じ課題を抱えているわけではないでしょうし、与えられたチームの人数やスキル構成も異なると思います。
そのため、組成されたSREチームが何を期待されているのか?どのような業務に対して責任があるか?ということを最初に明確にし、社内で共有することが、SREチームを形成していく上での活動指針になります。
【Step2:現状把握および土台整備】
次は、SREチームの活動における前提条件となります。
チームで運用業務を共有していくためには、現状の業務把握や共有のための土台整備が必要です。
例えば、運用業務が属人化してしまっており、ドキュメントが整備されていない場合は見直しが必要です。
また、あるサービス稼働の不具合を検知できない場合も見直しが必要になります。
チームとして抱えている業務やサービス稼働に関する現状把握を行い、見直しを行うことで、SRE活動するための土台が整います。
【Step3:計測】
Step3は、システム運用にて、計測できるものは何でも計測することです。
モニタリングできる指標となりそうなものは何でも計測開始します。
SREではPDCAではなく、OODA(※)を回すことを心がけることが重要と言われています。
システム運用をする上で収集できるデータを集め、Step4への準備を行います。
※観察・監視(Observe)、適応(Orient)、意思決定(Decide)、行動(Act)
【Step4:エラーバジェット(サービスレベル)の定義】
そして最後に、Step3で計測したデータに対して指標(SLI)を定め、目標値(SLO)を決めることが重要となります。
ここで「指標(SLI)」「目標値(SLO)」といった言葉を使いました。次に、Step4を行う上で大切な「SLI」「SLO」「SLA」についてご説明します。
●SLI/SLO/SLAとは
安定したサービス運用を実現するためには、サービスにとって本当に重要な指標は何か?をユーザー目線でよく考え、その指標を測定・評価する方法を理解することが必要です。
そのため、下記に紹介するSLI/SLO/SLAを定義することで、サービスが「正常である」という状態を定量的に把握でき、「正常である」についての共通認識をもつことができます。
また、「正常でない」場合に何をすべきか、という次のアクションを設置することで、より早い問題解決に役立てることもできます。
SLAという言葉は割と多くの方がご存じかと思いますが、サービスを正しく管理するためにはSLIおよびSLOという用語についても理解し、利用する必要があります。
■SLI(Service Level Indicator)
:サービスの品質を計測するための指標
SLIは、サービスレベルの指標であり、ユーザーに提供するサービスから計測される値を定義した定量的な指標です。
具体的には、リクエストのレイテンシ、エラー率やシステムスループットおよび可用性や耐久性などがSLIにあたります。
■SLO(Service Level Objective)
:サービスの品質に関する目標値
SLOは、サービスレベル目標です。
SLIによって測定されるサービスレベルの目標値、または値の範囲です。
そのため、値としては「SLOの最小値」< SLI <「SLOの最大値」となります。
例えば、WEBサーバの場合、リクエストの平均レイテンシのSLOを100ミリ秒未満にする、などと設定して定義することができます。
■SLA(Service Level Agreement)
:サービスの品質に関するお客さまとの合意
最後に、SLAはお客さまとの合意です。
これは、SLOの値に対するお客さまとの契約であり、事前に定義したSLOを満たす内容となります。
■SLI/SLO/SLAで行うサービス管理
先ほど、「SREのはじめ方 Step3:計測」にて計測できるデータを収集することが必要であるとご説明しましたが、計測できるすべての指標をSLIとして使用する必要はありません。
大切なのは、そのサービスを利用するお客さまが何を求めているかを理解した上で、そのニーズを満たすために必要な指標を定義することです。
Google本の中でも説明がありますが、管理するSLIが多すぎると、重要なSLIを注意深く監視することが難しくなってしまいます。
システムの状態を評価していくには、お客さまのニーズを満たすことができているかを確認することができる指標を管理していくことが大切です。
実際に、SLIとSLOを定義した後は、SLIの監視・計測を行います。
次に、SLIをSLOと比較し、システムに対する対応が必要かどうかを判断します。
なにかしらの対応が必要な場合は、目標を達成するために何が必要かを把握し、改善策をとっていくという流れです。
●まとめ
当社は2020年4月にSREグループが発足してから、前述した4つのStepでチーム形成を行ってきました。
Step1の「SREに関する認識の共有」をもつために、まずはメンバー全員で集まり「SREとは何か」、という概念の理解を深めました。
次に、経営目線で「SREに期待していること」を把握し、チームの責務を明確にしました。更に、チーム内だけではなく、システム部門全体にもSREの責務を理解してもらえるよう、SREについて講義を行いました。
このように、SREについての共通認識をもてるよう時間をかけてauカブコムの目指すSRE像を定義し、共有してきました。現在はStep2~Step4を実践中です。
当社のシステム運用が抱える課題について、半期計画のロードマップの中でカテゴライズしながら、各目標達成にむけて推進しています。
今回は「SREのはじめかた」というタイトルで、4つのステップといくつかのキーワードについてご説明させていただきました。
ここまで読み進めてくださった方の中で、もっと詳しい内容・具体的な説明を知りたいと感じてくださった方は、ぜひGoogle本(*)を読んでみてください。
SLI/SLO/SLAについてもより具体的で参考になる情報がたくさん書かれています。
ここまでがSREの導入編です。
次回からは、auカブコム流のSREとしての実際の活動内容、10カ月の活動を通じて学んだこと、成長、苦労についてご紹介いたします。
チームとして始動してもうすぐ1年が経とうとしている今、改めて4月からの活動を振り返ったときに、これからSREチームをスタートさせる方々に少しでも参考になる情報は何か?を考え、わかりやすくお届けできればと思います。
(*)Google本
・引用:Google – Site Reliability Engineering
連載一覧
筆者紹介
2011年FX専業の会社に入社し、金融業界に進出。システム担当として各種サービスの設計、構築、保守、運用に広く携わる他、お客様対応、当局対応にも深く関わり、2015年にシステム責任者に就任。対顧サービス完全クラウド化など、多岐に渡る主要プロジェクトを歴任。
2019年スキル拡張を目的とし、auカブコム証券に転職。初年度実績を評価され、本年4月より技術部SREグループ長に就任。チームビルディングの傍ら、auカブコム流SREを体現。SREロードマップ実現に向けて邁進。
太田有美(おおたゆみ)
2016年auカブコム証券会社に新卒入社。2017年よりシステムインフラ部署でサーバ設計構築を担当。2020年4月に新体制であるSREグループ発足により、初期SREメンバーとして活動。旧運用チーム時代から新SREグループ誕生の過程で運用高度化を実感した経験を生かし、当社の体験をコラムでわかりやすくお伝えできるよう邁進中。
コメント
投稿にはログインしてください