Slide 1

Slide 1 text

© SMS Co., Ltd. 加我 貴志 (株式会社エス・エム・エス) JAWS FESTA 2024 (2024/10/12) Amazon CloudWatchで小さく始める Webサービスのオブザーバビリティ

Slide 2

Slide 2 text

© SMS Co., Ltd. 本日お話すること、しないこと お話すること - オブザーバビリティとはなにか、なぜ必要なのか - AWSではどのように実現できるのか お話しないこと - 具体的な実装方法やサービスの詳細説明

Slide 3

Slide 3 text

© SMS Co., Ltd. 本日のゴール   オブザーバビリティに関する理解を整理し、   自分たちで小さく実現する方法がわかる状態

Slide 4

Slide 4 text

© SMS Co., Ltd. 1. 2. 3. 4. 自己紹介 オブザーバビリティってなんだっけ AWSでオブザーバビリティを始める まとめ 目次

Slide 5

Slide 5 text

© SMS Co., Ltd. 01 自己紹介

Slide 6

Slide 6 text

© SMS Co., Ltd. 自己紹介 ● 加我 貴志 (@TAKA_0411) ● 株式会社エス・エム・エス プロダクト推進本部 カイポケ開発部 SRE ● AWS Community Builder (Cloud Operations, 2023 -) ● Media-JAWSの運営やっています

Slide 7

Slide 7 text

© SMS Co., Ltd. 自己紹介

Slide 8

Slide 8 text

© SMS Co., Ltd. 自己紹介 JAWS PANKRATION 2024にて オブザーバビリティに関するテーマで 登壇してきました! (詳細は動画とスライドを見てね)

Slide 9

Slide 9 text

© SMS Co., Ltd. 自己紹介 JAWS-UG函館でも オブザーバビリティに関する テーマで登壇しました!

Slide 10

Slide 10 text

© SMS Co., Ltd. 最近の目標 まーた加我さんオブザーバビリティの話してる もうみんな実践方法とか知ってるのにね

Slide 11

Slide 11 text

© SMS Co., Ltd. 02 オブザーバビリティってなんだっけ

Slide 12

Slide 12 text

© SMS Co., Ltd. オブザーバビリティって?  オブザーバビリティってアレですよね  DatadogとかNew Relicとか  SaaSを使えばいいやつでしょ?  当然知ってますよ😤

Slide 13

Slide 13 text

© SMS Co., Ltd. オブザーバビリティって?  オブザーバビリティってアレですよね  DatadogとかNew Relicとか  SaaSを使えばいいやつでしょ?  当然知ってますよ😤

Slide 14

Slide 14 text

© SMS Co., Ltd. オブザーバビリティに関するよくある勘違い ツール (SaaS) を導入すれば実現できる - ツールの導入はHowでありWhyではない オブザーバビリティは不要、モニタリングで十分 - マイクロサービスなどの複雑なシステムでは モニタリングだけでは原因特定に不十分なケースがある

Slide 15

Slide 15 text

© SMS Co., Ltd. オブザーバビリティが何かを理解してから 実現方法を検討しましょう💡

Slide 16

Slide 16 text

© SMS Co., Ltd. クラウドベンダーから学ぶオブザーバビリティ 1.    Google - SREやオブザーバビリティの先駆け 2.    AWS - 我々が主に利用しているクラウドプラットフォーム

Slide 17

Slide 17 text

© SMS Co., Ltd. クラウドベンダーから学ぶオブザーバビリティ 1.    Google - SREやオブザーバビリティの先駆け 2.    AWS - 我々が主に利用しているクラウドプラットフォーム

Slide 18

Slide 18 text

© SMS Co., Ltd.                               (中略) Observability by Google Google Cloud でのオブザーバビリティ https://cloud.google.com/stackdriver/docs

Slide 19

Slide 19 text

© SMS Co., Ltd. クラウドベンダーから学ぶオブザーバビリティ 1.    Google - SREやオブザーバビリティの先駆け 2.    AWS - 我々が主に利用しているクラウドプラットフォーム

Slide 20

Slide 20 text

© SMS Co., Ltd. Observability by AWS (1) モニタリングとオブザーバビリティ https://aws.amazon.com/jp/cloudops/monitoring-and-observability/

Slide 21

Slide 21 text

© SMS Co., Ltd. 🤔

Slide 22

Slide 22 text

© SMS Co., Ltd. オブザーバビリティってどういうこと? オブザーバビリティとは - システムの内部状態を理解するためのアプローチ - システムが生成するデータ (テレメトリーデータ) を 収集、分析することで様々な洞察が得られる - 分散システムにおけるモニタリング、デバッグ、トラブルシュー ティングの複雑さを解消する

Slide 23

Slide 23 text

© SMS Co., Ltd. システムが生成するデータってなに? Telemetry correlation for deeper insights https://ubuntu.com/observability/what-is-observability システムが生成する様々なデータのうち、 指標 (メトリクス) 、ログ、トレースなどのデータを テレメトリーデータと呼ぶ

Slide 24

Slide 24 text

© SMS Co., Ltd. オブザーバビリティとはつまり システムのテレメトリーデータを収集・分析することで システムの内部で何が起きているのかをどれだけ正確に 推定できるのかという機能、またはその尺度のこと

Slide 25

Slide 25 text

© SMS Co., Ltd. オブザーバビリティとはつまり システムのテレメトリーデータを収集・分析することで システムの内部で何が起きているのかをどれだけ正確に 推定できるのかという機能、またはその尺度のこと オブザーバビリティ・エンジニアリング (O'Reilly) https://www.oreilly.co.jp/books/9784814400126/

Slide 26

Slide 26 text

© SMS Co., Ltd. モニタリングとオブザーバビリティ  そういえばモニタリングと  オブザーバビリティって  何が違うんだろう?

Slide 27

Slide 27 text

© SMS Co., Ltd. モニタリングとオブザーバビリティ モニタリング - 特定の条件や閾値を設定し、システムの状態を定期的にチェックするのが目的 - システムエラーの 「いつ」 「何が」 発生したのかを明らかにする オブザーバビリティ - システムの内部状況を包括的に把握し、問題の予防や迅速な原因特定を目指す - システムエラーの 「なぜ」 「どのように」 発生したのかを明らかにする

Slide 28

Slide 28 text

© SMS Co., Ltd. なぜオブザーバビリティが必要なのか オブザーバビリティ(可観測性)とは? https://www.splunk.com/ja_jp/data-insider/what-is-observability.html

Slide 29

Slide 29 text

© SMS Co., Ltd. オブザーバビリティと 「未知の未知」 Observability in Microservices Architecture https://www.codvo.ai/post/observability-in-microservices-architecture 既知の既知 (Known Knowns) とは事実である 既知の未知 (Known Unknowns) とは仮説である 未知の既知 (Unknown Knowns) とは仮定である 未知の未知 (Unknown Unknowns) とは発見であり、予測不可能である

Slide 30

Slide 30 text

© SMS Co., Ltd. 03 AWSでオブザーバビリティを始める

Slide 31

Slide 31 text

© SMS Co., Ltd. AWSのオブザーバビリティサービス

Slide 32

Slide 32 text

© SMS Co., Ltd. AWSのオブザーバビリティサービス Amazon CloudWatch - AWSのサービスなどから主要なテレメトリーデータを収集 - CloudWatch Metrics - CloudWatch Logs - CloudWatch Application Signals (Trace) - データ収集以外にも多数の機能がある

Slide 33

Slide 33 text

© SMS Co., Ltd. Amazon CloudWatchの機能一覧 Amazon CloudWatchの概要と基本 : AWS Black Belt Online Seminar https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AmazonCloudWatch_0330_v1.pdf 2023年3月の資料なので Application Signals (Trace)はまだない

Slide 34

Slide 34 text

© SMS Co., Ltd. Amazon CloudWatchの嬉しいところ - ほぼ全てのAWSサービスからメトリクスを取得できる - 特に難しい設定なし☺ - お手軽にログを保存できる - 多少の設定を追加すればOK☺ - 最近になりトレースにも対応! - 主要なテレメトリーデータが揃いそう☺

Slide 35

Slide 35 text

© SMS Co., Ltd. Amazon CloudWatchの惜しいところ - ログの取り込みが高い😭 - DataProcessing-Bytes (PutLogEvents) - 保存は安い ($0.033/圧縮された GB) - トレースに対応している言語が少ない😭 - 2024年10月時点でJavaとPythonのみ - 今後のアップデートに期待! スタンダード $0.76/GB 低頻度アクセス $0.38/GB (東京リージョン)

Slide 36

Slide 36 text

© SMS Co., Ltd. Amazon CloudWatchで オブザーバビリティをはじめてみる

Slide 37

Slide 37 text

© SMS Co., Ltd. オブザーバビリティのはじめかた 1. 主要なテレメトリーデータを収集する - メトリクス - ログ - トレース 2. 収集したデータを分析できるようにする - 今回は対象外 (ごめんなさい)

Slide 38

Slide 38 text

© SMS Co., Ltd. テーマ : シンプルなWebサービス フロントエンド (ユーザー体験) バックエンド (インフラ) ビルド / デプロイ パイプライン セキュリティ 今回はフロントエンドと バックエンドにフォーカス

Slide 39

Slide 39 text

© SMS Co., Ltd. 1. フロントエンドモニタリング フロントエンド (ユーザー体験) ビルド / デプロイ パイプライン セキュリティ バックエンド (インフラ)

Slide 40

Slide 40 text

© SMS Co., Ltd. 1. フロントエンドモニタリング CloudWatch RUMを使うと ユーザーの行動情報のログや メトリクスを取得できる CloudFrontが出力するメトリクスや リアルタイムログをCloudWatchへ 送信 CloudWatch Syntheticsを使うと 対象のURLにアクセスしてみた結果の メトリクスやトレースを取得できる

Slide 41

Slide 41 text

© SMS Co., Ltd. 2. バックエンドモニタリング ビルド / デプロイ パイプライン セキュリティ バックエンド (インフラ) フロントエンド (ユーザー体験)

Slide 42

Slide 42 text

© SMS Co., Ltd. 2. バックエンドモニタリング ALBやFargateが出力する メトリクスをCloudWatchへ 送信 Application Signalsを使うと リクエスト単位のトレースを 取得できる データストアのサービスが 出力するメトリクスを CloudWatchへ送信 タスクやDBのログを CloudWatch Logsへ 送信

Slide 43

Slide 43 text

© SMS Co., Ltd. 04 まとめ

Slide 44

Slide 44 text

© SMS Co., Ltd. まとめ (1) オブザーバビリティとは システムのテレメトリーデータを収集・分析することで 内部で何が起きているのかをどれだけ正確に推定 できるのかという機能、またはその尺度のこと

Slide 45

Slide 45 text

© SMS Co., Ltd. まとめ (2) なぜオブザーバビリティが必要なのか 近年の複雑な分散システムで発生する 「未知の未知」 の問題の検出には従来のモニタリングでは対応が 難しくオブザーバビリティによる対応が適している

Slide 46

Slide 46 text

© SMS Co., Ltd. まとめ (3) AWSでオブザーバビリティを始めるには Amazon CloudWatchを利用して 小さくオブザーバビリティを始めてみましょう!

Slide 47

Slide 47 text

© SMS Co., Ltd. XX おまけ

Slide 48

Slide 48 text

© SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Q オブザーバビリティのSaaSって便利なんですか? A 餅は餅屋、うまく使いこなせれば大きなメリットがあります。 (ただし、使いこなすためにはツールへの理解が必要) Q オブザーバビリティのSaaSが有効なケースは? A 複数のクラウドやSaaSと連携する場合は一箇所にデータを 収集し横断的に分析することができます。

Slide 49

Slide 49 text

© SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Q オブザーバビリティのSaaSって高いんでしょう? A 際限無くデータを取得すればとてーーーーーーも高いです。 また、インフラと別で予算が必要なケースが多いため、 Amazon CloudWatchと比較して割高に見えます。 Q オブザーバビリティSaaSを導入する場合のオススメは? A DatadogかNew Relicが無難だと思います。 (ユースケースと利用する組織の規模によります)

Slide 50

Slide 50 text

© SMS Co., Ltd. Amazon CloudWatch or Observability SaaS Amazon CloudWatch Observability SaaS 導入 AWS上にワークロードがあればすぐに利用でき る。 アカウントのサインアップや初期設定など、 使えるまでに若干のタイムラグが発生。 機能 機能の追加はされているがSaaSほどの ペースではない。 機能の追加が多く、トレンドを先取りした便利な サービスが多い。フロントエンドやモバイルの可視化ま で幅広く対応。 他サービス との連携 SaaSなどとの連携が必要であれば、 自分で設定・構築する必要がある。 様々なサービスとの連携が可能なものが多く、 1つのObservability Platformで多くの データをモニタリングすることが可能。 コスト 主要なテレメトリーデータを低価格で収集 することができ、コスト分析にも優れている。 フロントエンドやモバイルのTraces、Logsはコスト急 増の可能性がある。CloudWatchからのデータ転送 を利用するとAWS側のコストも増加しがち。 サポート AWSサポートによる手厚いフォローが 期待できる。 英語のみの対応など、場合によりサポート品質に ばらつきがある可能性がある。