- ブラウザURL入力
- DNS名前→IP
- ルータ経路選択
- ロードバランサ振り分け
- Nginx受け口
- アプリ処理今ここ
- DB保存
第15期の初回です。扱うのは、動くかどうかではなく、動き続けさせるために誰が何を決めたかという話です。
まず結論
運用に出てくる数字は、測って出てきた値と、誰かが選んだ値が混ざっています。SLI・SLO・SLA という3つの語は、この2つと「代償を伴う約束」を分けるために置かれています。
そして一次ソースが決める人を名指ししているのは、3つのうちSLAだけです。ここでの契約は法的な意味で、原典は作り手として事業と法務のチームを挙げ、技術者の役割を助言だと書いています。
サービスの可用性目標を決める場面で、その目標値を決めるのは誰だとSRE Book 第4章は書いているでしょうか。
当てることが目的ではありません。外した予測ほど記憶に残るので、直感で選んでください。
測った値と、選んだ値は別物
語を2つ切っておきます。測った値の目盛りの上に誰かが選んで引いた区切りを、この期では「運用の線」と呼びます(第14期の設計の線とは別の話です)。またこの回の「契約」は法的な意味です。原典が法務を名指しするためです。
運用の数字には、性質の違う2つが混ざっています。測って出てきた値(応答時間、成功した要求の割合)と、誰かが選んだ値(ここを下回ったら困る、という区切り)です。SRE Book 第4章は、前者を SLI、後者を SLO と呼び分けます。
An SLI is a service level indicator—a carefully defined quantitative measure of some aspect of the level of service that is provided
An SLO is a service level objective: a target value or range of values for a service level that is measured by an SLI
SLIだけでは、良いとも悪いとも言えません。 十分かどうかは別の判断で、その判断が線を1本引くこと、つまりSLOです。
3つ目の SLA で、定義の性質が変わります。
Finally, SLAs are service level agreements: an explicit or implicit contract with your users that includes consequences of meeting (or missing) the SLOs they contain
SLOとSLAの差は、数字ではなく consequences(結果)です。 原典は判別法を1行で示しています。
An easy way to tell the difference between an SLO and an SLA is to ask "what happens if the SLOs aren’t met?": if there is no explicit consequence, then you are almost certainly looking at an SLO.
結果が金銭の形を取るときがいちばん分かりやすい、と原典は続けます(この点は既存の可観測性クイズが扱っています)。
原典が作り手を名指ししているのは、SLAだけ
第4章の章末、Agreements in Practice 節の冒頭です。
Crafting an SLA requires business and legal teams to pick appropriate consequences and penalties for a breach. SRE’s role is to help them understand the likelihood and difficulty of meeting the SLOs contained in the SLA.
作るのは事業と法務のチームで、技術者の役割は助言であると名指しされています。同章の Agreements 節にも対応する記述があります。
SRE doesn’t typically get involved in constructing SLAs, because SLAs are closely tied to business and product decisions
ではSLOはどうか。Choosing Targets 節はこう書きます。
Choosing targets (SLOs) is not a purely technical activity because of the product and business implications, which should be reflected in both the SLIs and SLOs (and maybe SLAs) that are selected.
続けて While SRE should be part of this conversation, and advise on the risks and viability of different options と書かれます。「純粋な技術的活動ではない」「会話に加わって助言すべき」までであって、誰が決めるとは書かれていません。 SLIも、Agreements 節は They can also help to define the SLIs(主語は SRE)と手伝う側として書くだけです。
SLIとSLOの関係を、原典の定義に即して述べたものはどれですか。
非対称そのものが読みどころ
ここで踏み外しやすい一歩があります。「SLIは測る人、SLOは作る側、SLAは事業側」と3層に決定者を割り当てたくなります。その整理を原典に帰属させることはできません。 読みどころは非対称そのものです。ひとつだけに作り手が明記され、それは破ったときの結果がいちばん重い層です。
- ・SLAにだけ作り手が名指しされている。これが原典の書き方
- ・SLIとSLOの決定主体を補うのは推測になるので、補わない
語を取り違えると、届く先が変わる
第4章の脚注16は、実務で起きていることを名指しします。
Most people really mean SLO when they say "SLA." One giveaway: if somebody talks about an "SLA violation," they are almost always talking about a missed SLO. A real SLA violation might trigger a court case for breach of contract.
「SLA違反です」と言われた場面のほとんどはSLO未達であるという指摘で、本当のSLA違反は契約違反の訴訟に発展しうる、と続きます。
言葉づかいの細かい話ではありません。語を1段上げると、その数字に署名した人が変わります。 SLOなら助言役の技術者が関わった線で、SLAなら事業と法務が結果と罰則まで選んだ約束です。前者を後者の名前で呼ぶと、対応すべき人も取れる手もずれます。
呼び方 破った場合の結果 原典が書く作り手SLI 結果は伴わない 記述なし(SREは手伝う、まで)SLO 明示された結果がない 記述なし(技術だけの話ではない、まで)SLA 結果と罰則を伴う business and legal teams
SLAがないサービスに数字がないわけでもありません。
Whether or not a particular service has an SLA, it’s valuable to define SLIs and SLOs and use them to manage the service.
SLAの有無は外向きの約束の有無であって、線が引かれているかどうかとは別です。契約書に出てこない数字にも、選んだ人がいます。
ある数字がSLOかSLAかを見分けるために、原典が挙げている問いはどれですか。
SLOとSLA(今回)
応答時間や成功率を測った値がSLIです。そこに目標の線を引いたものがSLO、外した場合の結果まで付けたものがSLAです。原典が作り手を名指しするのはSLAだけで、事業と法務のチームが結果と罰則を選ぶと書かれています。
対象 測って出るもの 付け足されたものSLI サービス水準の量 なしSLO 同じ量 目標の線SLA 同じ量 線 + 破った場合の結果
責任分界の線(仮想化・クラウド編『どこまでが自分の責任か — 線は契約で決まり技術で消えない』)
どの層まで自分が面倒を見るかは、機器や構成を調べても出てきません。事業者と利用者のどちらが持つかは取り決めで決まっており、技術的にどこまで触れるかとは別の話です。
問い 技術で分かるか 取り決めが要るかどの層が動いているか 分かる 不要誰が直す義務を負うか 分からない 必要
サービス水準の数字と、クラウドの責任分界。扱う対象はまるで違いますが、共通する構造は何でしょうか。
「調べれば出てくること」と「誰かが決めなければ出てこないこと」の境目が、それぞれどこにあるかを並べてみてください。
この章のまとめ
- 運用の数字には、**測って出てきた値(SLI)**と、**誰かが選んだ線(SLO)**が混ざっている。線は測定からは出てこない。
- SLOとSLAを分けているのは数字ではなく結果の有無。原典の判別法は「満たされなかったら何が起きるか」。
- 原典が作り手を名指ししているのは SLA だけ。 business and legal teams が結果と罰則を選び、技術者は達成の見込みを助言する役。
- SLOは not a purely technical activity、SLIは「SREが定義を手伝える」どまりで、決める人は名指しされない。3層それぞれに決定者を割り当てる整理を、原典に帰属させないこと。
- 脚注16のとおり「SLA違反」の多くはSLO未達。語を1段上げると、署名した人が変わる。
自分の現場で確かめる
読んだだけでは身につきません。手元の環境で実際に見てみてください。
理解度チェック
読んだ直後は「分かった」と感じやすいものです。実際に解いて確かめてください。
「SLAを作るのは誰か」について、SRE Book 第4章が書いていることはどれですか。
用語集(4語)
- SLI (service level indicator)
- 提供されているサービス水準の、ある側面を注意深く定義した量的な尺度。原典の定義は a carefully defined quantitative measure of some aspect of the level of service that is provided。
- SLO (service level objective)
- SLIで測られるサービス水準に対する目標値、または値の範囲。原典は選択を not a purely technical activity と書き、技術者は助言すべきだとする。
- SLA (service level agreement)
- 含まれるSLOを満たした場合・外した場合の結果を伴う、利用者との明示的または黙示的な契約。原典は作り手として事業と法務のチームを挙げる。
- 運用の線(この教材での言い方)
- 測った値の目盛りの上に、誰かが選んで引いた区切り。測定から自動的には出てこない。第14期の設計の線とは別の話。