Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
僕らの人生と学ぶ、Observabilityの重要性
Search
平目
February 16, 2024
Programming
0
200
僕らの人生と学ぶ、Observabilityの重要性
2024年2月16日に行われた、
AWS10分LT会 vol.3(
https://aws-likers.connpass.com/event/307986/
)に
登壇した時の資料になります。
平目
February 16, 2024
Tweet
Share
More Decks by 平目
See All by 平目
AmazonComprehendを用いて想いの伝わる文章を
hiramax
1
120
Other Decks in Programming
See All in Programming
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.3k
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
CSC305 Lecture 13
javiergs
PRO
0
130
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
110
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
160
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
400
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
420
EventSourcingの理想と現実
wenas
6
2.1k
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
360
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.5k
Macとオーディオ再生 2024/11/02
yusukeito
0
150
Featured
See All Featured
Making Projects Easy
brettharned
115
5.9k
Done Done
chrislema
181
16k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Teambox: Starting and Learning
jrom
132
8.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Language of Interfaces
destraynor
154
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Bash Introduction
62gerente
608
210k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Into the Great Unknown - MozCon
thekraken
31
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Transcript
僕らの人生と学ぶ、OBSERVABILITYの重要性 2024/02/16 平目
自己紹介 ➢ HN:平目 X(twitter):@hira0912 ➢ お仕事:AWS周りのインフラ構築 ➢ 趣味:ねこだいすき。 2
今日のテーマ モニタリング(Monitoring) オブザーバビリティ(Observability) 3
アジェンダ 監視の重要性 オブザーバビリティの目的 AWSにおけるオブザーバビリティ 4
監視の重要性 5
監視…やってますか? 何で導入するの…? いらなくない…? 6
何故監視を行うのか …という目的では ないですよね? 7
何故監視を行うのか 信頼性(サービスレベル) 8
重要な事 リリース後、システムは毎日古くなって行く 9
リリース時の思惑などアテにならない ぼくがかんがえた さいきょうのサービス システムの終焉 10
信頼性の重要性 信頼性はサービスの価値と同様に、 守り続けなければならないものである。 11
例:世界的に有名なサービス 結婚( Jinsei No Hakaba ) 世界中の開発者/利用者が、 独自にUI/UXをカスタマイズして サービスを開発/利用している。 12
例:世界的に有名なサービス=結婚 開発期間 リリース 運用期間 サービスの停止 13
例:世界的に有名なサービス=結婚 Q.何故サービスが停止する事になるのか? A.信頼性が守られなかったから 起きてしまった未知の問題に対し、 迅速に察知/対応が出来なかった。 監視/対応が重要 14
開発期間 リリース 運用期間 運用期間というのは開発期間に比べて圧倒的に長い 15
オブザーバビリティの目的 ※所感を含みます 16
重要な事 モニタリングには限界がある 17
モニタリングの限界:誰が監視/対応しているか 〇データ分析 ・メトリクス ・様々なログ 〇本人のスキル ・これまでの経験 ・第六感 ・セブンセンシズ システムに精通した シニアエンジニア
ではありませんか? 18
モニタリングの限界:超能力は継承出来ない 〇本人のスキル ・これまでの経験 ・第六感 ・セブンセンシズ 〇データ分析 ・メトリクス ・様々なログ シニアエンジニア 我々の進化先が
エスパータイプとは限らない 19
モニタリングの限界:シニアエンジニアの存在 特定の誰かに頼り切りの状態は 属人性が高く、システムの 信頼性を保つのにはリスクが伴う。 いつまでもその方が居て保守管理する前提 では無い方が、システムとして健全である。 20
モニタリングの限界:システムの変容 LAMPアーキテクチャ Linux Apache MySQL PHP Python or ⇒安定したサービスの組み合わせで、監視もし易かった 21
モニタリングの限界:サーバレスの登場 サーバレスや、コンテナサービスの登場 22
モニタリングの限界:モノリシックからマイクロサービス化へ 23 マイクロサービスを利用 する事で、メトリクス だけでは原因箇所の 特定が難しくなった。 特定不可
オブザーバビリティとは? システムから外部に出力されるデータから、 複雑化したシステムの内部の状態または状況を 理解および把握する能力のこと わからん 24
メトリクス/トレース/ログ 〇メトリクス ・CPU使用率やメモリ使用率な どの、粒度が荒いデータ。 ・大まかな現象把握に役立つ 〇ログ ・各種動作の詳細な結果を示す。 ・詳細な現象の原因特定に役立つ データ粒度 荒い
細かい 粒度の差が大きく、 経験やシステム内部の 知識が必要になり、 問題解決までの調査時間に 差が出てしまう 25
トレーシングの登場 26
メトリクス/トレース/ログ 〇メトリクス ・CPU使用率やメモリ使用率な どの、粒度が荒いデータ。 ・大まかな現象把握に役立つ 〇ログ ・各種動作の詳細な結果を示す。 ・詳細な現象の原因特定に役立つ データ粒度 荒い
細かい 〇トレース ・イベントの相関関係を知る事 が出来る。 ・現象部分の特定に役立つ 27
オブザーバビリティとは? システムから外部に出力されるデータから、 複雑化したシステムの内部の状態または状況を 理解および把握する能力のこと 特定の人物の知識や経験に依存せず、 興味・関心さえあれば観測出来る状態に システムが構成されていること 28
AWSにおけるオブザーバビリティ 29
オブザーバビリティに関するサービス ・メトリクス ・ログ ・アラーム ・トレース MC上は吸収 AWS Distro For OpenTelemetry
・OpenTelemetry用の AWS Distribution AWS Inspector ・EC2の ソフトウェア脆弱性管理 30
AWS X-RAY AWSにおける トレーシングを実現する為のシステム 31
AWS X-RAY 実行サンプル 補足:全てのリソースに X-Rayトレースを有効済 32
AWS X-RAY実例(正常系) ・トレースを有効にしておくことで、 ワークフロー図を定義する事なく 各サービスの相関関係を確認する事が出来る 33
AWS X-RAY実例(正常系) ・トレースを取る事で、 親スパンと子スパンの実行結果/所要時間といったインサイトを得る事も可能になる。 34
AWS X-RAY実例(異常系) ・子スパンの一部が実行不可だった 場合でも、それを容易に特定出来る 35
AWS X-RAY実例(異常系) ・全体の内のエラー率も明確になる事で、特定の事項がどれくらいの確率で 上手く行かないケースがあるのか、定量的に調査する事が可能になる。 36
AWS X-RAY実例(遅延) ・異常終了していないので、 エラー自体は取得出来ないが、 想定しているより処理が遅延しているケース 37
AWS X-RAY実例(遅延) ・各スパンの実行時間が計測できることにより、 対象のスパンのプログラム/構築をより良くなる様に見直す事が容易になる 38
重要な事 チームメンバが使える様に、 教育・周知・体験を 忘れない様にすること 普段から取り入れること 39
まとめ ・監視は信頼性を維持する為の機能 ・オブザーバビリティは、特定の誰かに依存せず 興味・関心さえあればシステムを調査出来る機能 ・機能の搭載のみに留まらず、教育等を行い、 システムの全容を把握出来る人材も増やしておきたい 40
参考文献 O’REILLY’ JAPAN オブザーバビリティ・エンジニアリング 41
さいごに ここまでご清聴ありがとうございました。 技術に関係無い事も多いですが、 X(Twitter)やqiitaの方でも活動しておりますので、 良かったらフォローお願いします。 42