iCARE Dev Meetup #17 2021-01-20 でLTしました
モニタリングのよさiCARE Dev Meetup #17 2021-01-20Toshiaki Baba
View Slide
今日、話したいこと● ばばさんが思う「モニタリングのよさ」を共有します○ × :(テクノロジスタックとしての)インフラ○ ○ :(サービス・システムのための)インフラ: ≒プラットフォーム● 今日でも後日でもリアクションいただけると嬉しいです○ 共感した○ 共感しかなかった○ ...2
自己紹介馬場俊彰(ばばとしあき): @netmarkjp https://netmark.jp/株式会社X-Tech 5 取締役 CTO https://x-tech5.co.jp/お仕事:ユーザ体験を軸にした、システム運用プラットフォームや体制・制度・チームの、設計・構築・提供・伴走・コンサル個人の主な守備範囲:Webシステムのインフラ・ミドルウェア全般、モニタリング、チューニング、プログラミング(Python、Go)3Amazon著者ページ https://www.amazon.co.jp/%E9%A6%AC%E5%A0%B4-%E4%BF%8A%E5%BD%B0/e/B004Y4SUBY
近著:Software Design 2021年2月号第2特集「何からやるか,どこからやるか」がわかるシステム監視の始め方・続け方第1章:システム監視の魅力・価値・意義高まる監視の必要性,その背景とは?…… 馬場 俊彰第2章:監視システム導入の悩みどころと解決策認識をそろえ,優先事項を絞り込む…… 馬場 俊彰第3章:Datadogで実践するSaaS監視SaaSでどこまで監視できる?…… 近藤 健司4
大前提:システムにまつわる残念な事実● 『Webエンジニアのための監視システム実装ガイド』よりシステムは何もしないと壊れる● システムはよくわからない状態になる⇒状況を把握するためにモニタリングが必要● 平常時の各種計数を観測・記録● 現状の各種計数を観測・記録5
サービス・システムの存在意義(使命)6
サービス・システムの存在意義(使命)価値を創出しユーザに届ける継続的に価値を創出するために、変化し続ける7戦略レベル施策戦術レベル施策評価・検証PDCAOODA:
サービス・システムの存在意義(使命)価値を創出しユーザに届ける継続的に価値を創出するために、変化し続ける8戦略レベル施策戦術レベル施策評価・検証PDCAOODA:評価・検証定量 定性
定量評価1. 指標を決める :計測項目・計測方法を決定2. 計測する :対象を観測し特定の基準のもとで数値化3. 値を解釈する :データから相関や因果を推定・発見するユーザの期待値と達成状況を観測・記録9
定量評価1. 指標を決める :計測項目・計測方法を決定2. 計測する :対象を観測し特定の基準のもとで数値化3. 値を解釈する :データから相関や因果を推定・発見するユーザの期待値と達成状況を観測・記録10まずコレがムズい!
サービス・システムの創出価値を計測する指標SRE(Site Reliability Engineering)のプラクティスではSLIと呼称ServiceLevelIndicator未だ決定版はない● Time-based(uptime)● Count-based(request)● Windowed user-uptimehttps://www.usenix.org/conference/nsdi20/presentation/hauer● ...11
サービス・システムの創出価値を計測する指標SRE(Site Reliability Engineering)のプラクティスではSLIと呼称ServiceLevelIndicator未だ決定版はない● Time-based(uptime)● Count-based(request)● Windowed user-uptimehttps://www.usenix.org/conference/nsdi20/presentation/hauer● ...12サービス・システムがユーザと共有している価値観に基づくので、サービス・システムごとに異なるのが自然
サービス・システムがユーザと共有している価値観「価値」は個人的・相対的なもの→特性1 :ユーザの体験に基づいてのみ発生し得る→特性2 :とある基準で全ユーザを対象に計測するのは芯を外す可能性。:ボンヤリした、無難で汎用的で交換可能な指標に行き着きがち:(典型的には、お金か時間)13
サービス・システムがユーザと共有している価値観「価値」は個人的・相対的なもの→特性1 :ユーザの体験に基づいてのみ発生し得る→特性2 :とある基準で全ユーザを対象に計測するのは芯を外す可能性。:ボンヤリした、無難で汎用的で交換可能な指標に行き着きがち:(典型的には、お金か時間)14結論:ムズい!
ちなみにSRE(Site Reliability Engineering)代表的なプラクティス● ソフトウェアエンジニアリング● SLI策定(と更新)● Error Budget策定(と更新)● Toil削減(常時50%以下を死守)15SREは、複雑で大規模なコンピュータシステムを運用するときにシステムの成長・拡大に比例して運用系エンジニア数がどんどん増えてしまうのをなんとかしたいというモチベーションのもと、複雑で大規模なコンピュータシステムの運用をソフトウェアエンジニアリングとしてあるべき姿にすること、組織構造的な対立をなくすことを基本的なコンセプトとしています。オペレーションエンジニアを全廃しソフトウェアエンジニアが運用フェーズでやらねばならぬことをやるためにソフトウェアエンジニアによる伝統的オペレーションの破壊・再定義・置換を行うこと、伝統的オペレーションを排するために会社がSREを支持・支援することをコアプラクティスとしています。Webエンジニアのための監視システム実装ガイド p.12
Pick Up:Error Budgetざっくり言うと、SLIの目標範囲結果としてのSLIには、ちょうどいい塩梅がある● SLIが低すぎる=ユーザに価値を与えられていない● SLIが高すぎる=過剰品質やチャレンジ不足の可能性=ユーザに与えられるはずだった価値を目減りさせているのでは!?(競合にわざわざ付け入る隙を与えている可能性も...)16
話を戻します17
サービス・システムの存在意義(使命)価値を創出しユーザに届ける継続的に価値を創出するために、変化し続ける18戦略レベル施策戦術レベル施策評価・検証PDCAOODA:
サービス・システムの存在意義(使命)価値を創出しユーザに届ける継続的に価値を創出するために、変化し続ける19戦略レベル施策戦術レベル施策評価・検証PDCAOODA:モニタリングを押さえるすなわちサービス・システムの存在意義の根幹を押さえる
サービス・システムの存在意義(使命)価値を創出しユーザに届ける継続的に価値を創出するために、変化し続ける20戦略レベル施策戦術レベル施策評価・検証PDCAOODA:モニタリングを押さえるすなわちサービス・システムの存在意義の根幹を押さえる世界で一番、適切な判断ができる可能性
モニタリングを修めた者だけが司令塔になれる21
モニタリングを修めた司令塔ならSLIに基づいて適切(と考えられる)な判断軸を持てる● やることの優先順位を決められる● やらないことのラインを決められる→判断根拠、主体性、心の安定、自信が得られる例:● アラートAとアラートBが同時に発報したけど、AよりBのほうがSLIインパクト(≒ユーザ体験への影響)が大きいので、AはさておいてまずはBを全力でやる● このサーバがこうダウンしてもSLI(≒ユーザ体験)にはこの程度しか影響がないから通知しない 22
例:ISUCON23計測 ボトルネック箇所を特定対策実施解決緩和回避
例:ISUCON24計測 ボトルネック箇所を特定対策実施解決緩和回避ここができる=強い=カッコいい
例:ISUCON25計測 ボトルネック箇所を特定対策実施解決緩和回避ここができる=強い=カッコいいここができる=地味
例:ISUCON26計測 ボトルネック箇所を特定対策実施解決緩和回避ここができる=強い=カッコいいここができる=地味でも、ここができるからこそ、対策が当たる可能性がある
例:ISUCON27計測 ボトルネック箇所を特定対策実施解決緩和回避ここができる=強い=カッコいいここができる=地味でも、ここができるからこそ、対策が当たる可能性があるモニタリングができるようになると、総当たりやあてずっぽう以外の方法でチューニングできるようになる
例:ISUCON28計測 ボトルネック箇所を特定対策実施解決緩和回避ここができる=強い=カッコいいここができる=地味でも、ここができるからこそ、対策が当たる可能性があるモニタリングができるようになると、総当たりやあてずっぽう以外の方法でチューニングできるようになるモニタリングができるようになると、ISUCON決勝進出の可能性が出てくる
How to be ...29Webエンジニアのための監視システム実装ガイド(わたしが書きました)https://amzn.to/2yDn8zcモニタリングについての本。歴史、トレンド、仕組み、目的、意義、構成例などを詰め込みました。Webエンジニアが知っておきたいインフラの基本(わたしが書きました)https://amzn.to/2UFnm0a本講の内容をより深く知るならこの本が最適。Webシステム運用において知らないことが激減すると思います。
モニタリングを押さえればシステムの根幹を掌握したも同然30