Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マイクロサービスのためのシステム運用を一瞬でラクにするオブザーバビリティ事例

o11yfes
October 05, 2023

 マイクロサービスのためのシステム運用を一瞬でラクにするオブザーバビリティ事例

o11yfes

October 05, 2023
Tweet

More Decks by o11yfes

Other Decks in Technology

Transcript

  1. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. マイクロサービスのための システム運用を一瞬でラクにする オブザーバビリティ事例 発表者 NTTドコモ 第一プロダクトデザイン部 マーケティングイノベーション・カスタマーサクセス担当 森 晴菜 川嵜 哲生 -0-
  2. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. アジェンダ -1-  サービス紹介  システム構成 (Observabilityが無いとやっていけない)  システム運用をラクにするための工夫  実例紹介① ~ AWSとSaaSの棲み分けポイント ~  実例紹介② ~ カスタムメトリクスでラクラクObservability ~  まとめ
  3. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. サービス紹介 2 PM 1 スーパー販促プログラム(スパ販) ①お店で「dポイント」や 「d払い」で支払う・貯める ②d払い・dポイントを使ったことのあるお店から お得な情報が届く リピーター d払い・dポイント どちらの利用もOK! d払い・dポイントクラブアプリ内にお店専用のメッセージBOXができる dポイントやd払いでお買い物をしてくれたお客様と、 友達追加無しで直接コミュニケーションが可能になるサービス また行こう!
  4. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -3- 他 システム 他 システム レコメンド システム クーポン メッセージ 配信システム 他 システム 他 システム 決済 システム アプリ 各種データ参照 Json ①加盟店情報 ②クーポン情報 加盟店からのクーポンや メッセージを配信 他 システム 認証 システム システム構成 このシステムを新規構築 AWS Cloud 他クラウド 他システム
  5. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -4- 他 システム 他 システム レコメンド システム クーポン メッセージ 配信システム 他 システム 他 システム 決済 システム アプリ 各種データ参照 Json ①加盟店情報 ②クーポン情報 加盟店からのクーポンや メッセージを配信 他 システム 認証 システム システム構成 このシステムを新規構築 AWS Cloud 他クラウド 他システム 障害が起こりそうなポイントを想像してみてください・・・
  6. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -5- 他 システム 他 システム 他 システム クーポン メッセージ 配信システム 他 システム 他 システム 他 システム ドコモアプリ 各種データ参照 Json ①加盟店情報 ②クーポン情報 加盟店からのクーポンや メッセージを配信 他 システム 他 システム システム構成 このシステムを新規構築 AWS Cloud 他クラウド 他システム 障害が起こりそうなポイントを想像してみてください・・・ d サービスやシステムのマイクロ化が進み、 構成がとにかく複雑 ↓ どこで何が起こっているのか? Observabilityが無いとやっていけない
  7. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -6- システム運用をラクにするための工夫 ~ SaaSダッシュボード連携でシステム状況可視化 ~
  8. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. システム運用をラクにするための工夫 7 リソースのグラフ化 ログ出力項目を分けて検索・ソート サービスマップ自動作成 AWS X-Ray Amazon CloudWatch Logs カスタムメトリクスを通して値を可視化 Amazon CloudWatch等AWSサービスの監視項目をSaaSにより集約 サービスを集約し、 共通のルールで可視化 ログ追跡のしやすさにより 問い合わせの稼働減を期待
  9. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. システム運用をラクにするための工夫 8 APM(パフォーマンス分析・監視) ログイン等、複雑な条件の外形・サービス監視 どこの処理で時間がかかっているか 一目でわかる 監視ツールを作成しなくてよい アラート形式を統一できる AWS X-Ray Amazon ECS Slackへの障害アラート Amazon CloudWatch等AWSサービスの監視項目をSaaSにより集約
  10. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. システム運用をラクにするための工夫 9 サービスの状況がひとめで分かるダッシュボード例 →3時間で作成! ラクラク!
  11. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. システム運用をラクにするための工夫 10 ユーザがリクエストするAPI・画面は 正常は応答できているか Queueの処理は 正常に進んでいるか コンテナ・ DB等 サーバ状況は正常か 閾値超過で状況をSlackに通知し ダッシュボードへ誘導(即時の状況把握を徹底) サービスの状況がひとめで分かるダッシュボード例 ラクラク!
  12. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. システム運用をラクにするための工夫 11 DynamoDBの状態は正常か 連携先外部システムは 正常にリクエストできているか ユーザ処理のECSタスク数は どこまで増減しているか Amazon CloudWatch システム状況がひとめで分かるダッシュボード例
  13. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 12 Logs AWS Cloud Amazon CloudWatch S3 Log Forwarder S3やCloudWatchLogsに出力した ログをDatadogに連携 ログ種別、ユーザID、URL、 出力文字等様々な検索が可能 ユーザIDやAPI名、ステータスコード を表示、フィルタ可能 システム運用をラクにするための工夫 エラーが発生した場合は ログ詳細をSlackに通知 ユーザ行動を追うためのログ可視化例 log ラクラク!
  14. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 13 AWS Cloud X-Ray・Agentから トレースをDatadogに連携 レイテンシやURL等 様々な検索が可能 URL毎のレイテンシやステータス が一目で追える システム運用をラクにするための工夫 リクエストの処理内訳 を可視化 AWS X-Ray APMでアプリケーションの「それぞれの処理のパフォーマンス」を可視化 ラクラク!
  15. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 14 API・画面の外形監視 システム運用をラクにするための工夫 APIの不正応答でSlack通知、 まず何をするべきかを誘導 ユーザへ提供しているAPIや画面を外形監視して不正な応答をしていれば通知へ ラクラク!
  16. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 15 Q.全部SaaSに集約しているけどSaaSだけ見ているの? システム運用をラクにするための工夫 A.平常時はその通りですが、 トラブル時にこんなことがありました・・・
  17. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -16- 実例紹介① ~ AWS CloudWatchとSaaSの棲み分けポイント ~
  18. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 実例紹介① ~ AWSとSaaSの棲み分けポイント ~ 17 休日に外形監視でアラートが発生 →APIが遅くなり数回に1回エラーを返す状態 Datadogのダッシュボードを色々見たけど 異常がすぐに見つからない… APIのレイテンシが悪化している SaaSにダッシュボードを集約すると便利だが、こんなこともあるので要注意!
  19. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 実例紹介① ~ AWSとSaaSの棲み分けポイント ~ 18 DynamoDBのモニタリングは 色々な事象でお世話になりました 困ってDynamoDBの管理コンソールから CloudWatch Contributor Insights・CloudWatchメトリクス を見ると、読み取り調整されたリクエストが表示されている →アカウントデフォルトのクォータ値で制限されていた! すぐにAWSソリューションズアーキテクトさんに連絡して サポートケースからQuotaの引き上げを依頼 →すばやく対応していただき、連絡から30分以内に引き上げ 異常は解消。 Point! AWSのメトリクスがDatadogにまだ反映されていなかった(30分後には反映) SaaSにダッシュボードを集約すると便利だが、こんなこともあるので要注意!
  20. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 実例紹介① ~ AWSとSaaSの棲み分けポイント ~ 19 SaaSは便利だが、すべてのメトリクスが リアルタイムに反映されない。 ダッシュボード化は担当者任せなのでメトリクスに漏れも発生 AWSでは各サービスのコンソールに 「異常が発生した際に見ておきたい」ダッシュボードが存在 Amazon Aurora Amazon DynamoDB このサービスたちも! ラクラク!
  21. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. -20- 実例紹介② ~ カスタムメトリクスでラクラク可視化 ~
  22. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 21 AWS Cloud 他クラウド 他システム Amazon CloudWatchのカスタムメトリクス を使えば簡単に可視化できる! 実例紹介② ~カスタムメトリクスでラクラク可視化 ~ Amazon CloudWatchカスタムメトリクスを使って、メトリクス以外の要素を可視化 例) ・AWS連携している他クラウドの状況 ・DBの値 import boto3 cloudwatch = boto3.client('cloudwatch') … PutMetricData = cloudwatch.put_metric_data( Namespace='string', MetricData=[ { 'MetricName': 'string', 'Dimensions': [ { 'Name': 'string', 'Value': 'string' }, ], 'Timestamp': datetime(2015, 1, 1), 'Value': 123.0, 'Unit': "Count", … }, … ラクラク!
  23. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. AWS Cloud CloudWatchカスタムメトリクスでラクラク可視化 22 キュー数のチェック Pub/Sub キュー数確認 タスク数の変更 CloudWatch アラーム Auto Scaling ・・・ Application AutoScaling CloudWatch カスタムメトリクス AWS連携している他クラウドの状況 ・他クラウドのキュー滞留数をCloudWatchのカスタムメトリクスに記録 → キュー処理をAutoScaling化してECSタスクを増減可能に ラクラク!
  24. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. AWS Cloud CloudWatchカスタムメトリクスでラクラク可視化 23 Pub/Sub キュー数確認 CloudWatch カスタムメトリクス Amazon DynamoDB Amazon ElastiCache データベースの値やロジック値を CloudWatchカスタムメトリクスを通して可視化できる DBの値 ・DynamoDBやElastiCacheのテーブルに格納されている値をカスタムメトリクスへPush → CloudWatchカスタムメトリクスを通してDB値(例では待機人数)の増減状況を可視化 ラクラク!
  25. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. まとめ -24-  複雑化するシステムのどこで何が起こっているのか知るためObservabilityは必須  AWSのサービスやSaaSを使うとシステム運用がラクになる。 AWSとSaaSの棲み分けを理解し、必要な場面で使い分けを  AWS各サービスコンソールのダッシュボードを活用しよう  AWS CloudWatchカスタムメトリクスは色々な値をラクラク可視化できる 運用をラクにする目的で Observabilityを使いこなそう
  26. © 2008 NTT DOCOMO, INC. All rights reserved. © 2023

    NTT DOCOMO,INC. All Rights Reserved. 25 ご清聴ありがとうございました。