Slide 1

Slide 1 text

Copyright coconala Inc. All Rights Reserved. ジョインしたてのSREが 信頼性向上に取り組む (監視設計編) 2024/02/14 TechBrew in 東京 〜SRE大集合!信頼性を高める取り組み〜 株式会社ココナラ KK

Slide 2

Slide 2 text

Copyright coconala Inc. All Rights Reserved. Agenda 自己紹介 監視設計の取り組みに至るまで 新米SREなりの監視設計の戦い方 今回の監視設計での技術的なポイント 2 1 2 3 4 5

Slide 3

Slide 3 text

Copyright coconala Inc. All Rights Reserved. 自己紹介 本編にもちょっと関係する私のバックグラウンド chapter 01 3

Slide 4

Slide 4 text

Copyright coconala Inc. All Rights Reserved. - 2020-04、大学卒業後にSIerへ入社 - PMO : インフラエンジニア = 7 : 3 くらいの割合で3年間働く - 2023-05にココナラにジョイン インフラ・SRE チームに所属 - 漫才師 オードリーのファン 自己紹介 1 新卒 → PMO 兼 インフラエンジニア(3年) → SRE 4

Slide 5

Slide 5 text

Copyright coconala Inc. All Rights Reserved. 監視設計の取り組みに至るまで chapter 02 ※注釈テキストがここに入る 5

Slide 6

Slide 6 text

Copyright coconala Inc. All Rights Reserved. 監視設計の取り組みに至るまで 2 インフラ・SREチームの役割 6 プロジェクト - 会社全体で推進する プロジェクトへの参画 - メンバー2名1組で参画す る ミッション - 中規模・大規模の 技術的課題 - 1 ~ 2 人で対応する - 計画 → 実行 → 運用整備 を対応者の主導で行う リアクティブ - 小規模の技術的課題 - トイルの削減 - 他チームからの依頼 - インフラの メンテナンス対応

Slide 7

Slide 7 text

Copyright coconala Inc. All Rights Reserved. 監視設計の取り組みに至るまで 2 インフラ・SREチームの役割 7 プロジェクト - 会社全体で推進する プロジェクトへの参画 - メンバー2名1組で参画す る ミッション - 中規模・大規模の 技術的課題 - 1 ~ 2 人で対応する - 計画 → 実行 → 運用整備 を対応者の主導で行う リアクティブ - 小規模の技術的課題 - トイルの削減 - 他チームからの依頼 - インフラの メンテナンス対応

Slide 8

Slide 8 text

Copyright coconala Inc. All Rights Reserved. 監視設計の取り組みに至るまで 2 監視設定およびアラートの整備・統合 8 このミッションに対して、打ち手を考え、実 装し、運用ラインに乗せる アサイン当初の私の頭の中 - 監視システムのあるべき姿って? - どうなっていたらこのミッションを達成したことになる? - ココナラの監視システムで足りてない部分・課題は? - 最短で、最大の価値を出すにはどう優先順位をつける?

Slide 9

Slide 9 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 足りない知識・知恵をバックグラウンドで補う chapter 03 9

Slide 10

Slide 10 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 とにかくインプット 10

Slide 11

Slide 11 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ココナラに今、最適な監視って? 11 ベストプラクティスは理解したけど、 そのままココナラに適用できる訳ではない...

Slide 12

Slide 12 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ココナラに今、最適な監視って? 12 ベストプラクティスは理解したけど、 そのままココナラに適用できる訳ではない... - 誰がこのダッシュボードを見るのか? - このダッシュボードの目的は何か? (Jeffery D. Smith (2022) システム運用アンチパターン 株式会社オライリー・ジャパン) これって前職で叩き込まれた5W1Hでは!?

Slide 13

Slide 13 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ビジネスフレームワークをエンジニアリングに応用する 13 アプリケーション開発に RailsやGinなどのフレームワークがあるように システム・アプリケーション設計・要件定義では ビジネスフレームワークが使える \ おすすめ! / - 歴戦のエンジニアが体得している”勘”に、分析で辿り着く - リーダーや経営層が納得できる説明を用意する - 自分の頭の中を整理でき、ドキュメントとして残せる

Slide 14

Slide 14 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ビジネスフレームワークを使う(ゴール設定) 14 AsIs / Tobe 分析 - 現状と理想から課題を抽出 ロジカルツリー - 課題の深掘り ロードマップ - ゴールまでの道のりを示す

Slide 15

Slide 15 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ビジネスフレームワークを使う(監視設計) 15 5W1Hで、メトリクス監視の監視設計を行う - Why, Who, Whenから要件を導く Q. A. 要件 (Why) 監視システム改善の 目的は何か? - アラート抜け漏れの削減 - 抜け漏れのない状態の継続 - システム成長に伴う拡張が容易 - アラートの網羅性担保 (Who) 対象者は誰か? - インフラ・SREチーム - 習得が容易 (When) 監視のユースケース は? - 障害発生時の即時アラート発報 - インシデントの予兆検知・原因特定 - パフォーマンスチューニング - メトリクス転送・アラート発報の即時性 - カスタマイズが容易

Slide 16

Slide 16 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ビジネスフレームワークを使う(監視設計) 16 5W1Hで、メトリクス監視の監視設計を行う - 要件からWhere, What, How(監視システムの姿)を明らかにする (Where) 使用する監視システム (What) 何を監視するか? (How) 実装と運用の方法 - Terraformで管理する (datadog_monitor_json と templatefile関数の利用) - Amazon CloudWatch Metric Streamsの利用 - リソース追加・削除時の 対応ドキュメントの作成

Slide 17

Slide 17 text

Copyright coconala Inc. All Rights Reserved. 新米SREなりの監視設計の戦い方 3 ビジネスフレームワークを使う(監視設計)

Slide 18

Slide 18 text

Copyright coconala Inc. All Rights Reserved. 今回の監視設計での技術的なポイント 迅速な検知と継続的な改善の下準備 chapter 04 18

Slide 19

Slide 19 text

Copyright coconala Inc. All Rights Reserved. 最大15分あったメトリクス転送のラグを、 3分程度まで短縮 - 2021-03-31 GA - CloudWatchのメトリクスをFirehoseでストリーミング デフォルトはdatadogからCloudWatchをポーリング - CloudWatchとdatadogのメトリクス反映の差は、 Firehoseのバッファ間隔程度 (デフォルト60秒) 今回の監視設計での技術的なポイント 4 CloudWatch Metric Streamsで即時性を担保する 19

Slide 20

Slide 20 text

Copyright coconala Inc. All Rights Reserved. 閾値のカーディナリティが高く、管理が複雑 になりがちなアラートの管理を楽にする 今回の監視設計での技術的なポイント 4 datadog_monitor_json とtemplatefile関数の利用 20 - Datadog Monitorの設定をjsonで管理できるリソース “datadog_monitor_json” - jsonなどのfile内変数に値を代入できるtemplatefile関数 これを組み合わせて、monitorのTerraformコード管理を楽にする 本日登壇の森さんの記事を参考にさせていただいてます! ・TerraformでDatadogモニターを実装するならdatadog_monitor_jsonを使おう ( https://zenn.dev/yuta28/articles/datadog_monitor_json_terraform )

Slide 21

Slide 21 text

Copyright coconala Inc. All Rights Reserved. 21 以上です!