Slide 1

Slide 1 text

~ SLO as Codeの現状 ~

Slide 2

Slide 2 text

佐藤 開 株式会社スリーシェイク Sreake事業部 SRE 自己紹介 @kaitexio @KAI21441756

Slide 3

Slide 3 text

本日話すこと 1. OpenSLOとは 2. 対応ツール 3. OpenSLOで実現するかもしれないこと 4. 感想

Slide 4

Slide 4 text

OpenSLOとは サービスレベル目標 (SLO)とそれに関連するリソースの記述形式を標準化するプロジェクト。 SLOのSaaSを展開しているNobl9が中心となって策定し、今年、 5月にv1.0を発表。 ● Kubernetes YAML フォーマット ● ベンダー中立

Slide 5

Slide 5 text

apiVersion: openslo/v1 kind: SLO metadata: name: foo-slo displayName: Foo SLO spec: service: foo indicator: # inlined SLI metadata: name: foo-error displayName: Foo Error spec: ratioMetric: counter: true good: metricSource: metricSourceRef: datadog-datasource type: Datadog spec: query: sum:trace.http.request.hits.by_http_status{http.status_code:200}.as_count() total: metricSource: metricSourceRef: datadog-datasource type: Datadog spec: query: sum:trace.http.request.hits.by_http_status{*}.as_count() objectives: - displayName: Foo Total Errors target: 0.98 SLOを定義する

Slide 6

Slide 6 text

対応ツール ● OpenSLO/oslo ○ OpenSLOのyamlのバリデーション、指定したフォーマットに変換してくれる。 ● OpenSLO/slogen ○ SumologicというSaaSに提供するための SLO ダッシュボード、モニター、SLI データをOpenSLOの設定ファイル から生成する CLI ツール。 ● slok/sloth ○ Prometheus向けのSLO ジェネレーター、 独自の記述形式とOpenSLOに対応。 OpenSLOはSLOを記述するためのスキーマのみを定義しているため、このフォーマットに対応した 外部ツールが必要。

Slide 7

Slide 7 text

OpenSLOで実現するかもしれないこと OpenSLOで記述されたファイルを元に DatadogやPrometheusなどのモニタリングシステムに共通の 表現形式でデプロイが行えるもの。 SLO ジェネレーター Cloud Monitoring、Datadog、Prometheusといったモニタリングサービスと BigQuery、PubSubなどに 計算結果を送信できる。 google/slo-generator

Slide 8

Slide 8 text

SLO as Codeで実現するかもしれないこと ● 大量のSLOを運用している場合、SLOの設定や見直しが起きた時に変更が楽になるかも。 ● ベンダー移行が楽になるかも。 ● SLOの棚卸が楽になるかも。

Slide 9

Slide 9 text

● 大量のSLOを運用している場合、SLOの設定や見直しが起きた時に変更が楽になるかも。 ● ベンダー移行が楽になるかも。 ● SLOの棚卸が楽になるかも。 → 対応ツールが出てきてくれたらの話 SLO as Codeで実現するかもしれないこと

Slide 10

Slide 10 text

感想 ● OpenSLO対応ツールはまだ少ない。 ● 未成熟でプラクティスも確立されていない。 ● terraformでも大部分のニーズは満たせそう。 ● OpenSLOが標準化フォーマットとして今後、確立していきそう。

Slide 11

Slide 11 text

おすすめ資料 ● SLO策定のIaC化によるSREの加速 ● OpenSLOについて