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
サーバレスアプリケーションの監視・運用
Search
Kazutomo Niwa
September 29, 2018
Technology
13
6.4k
サーバレスアプリケーションの監視・運用
ServerlessConf Tokyo 2018 の登壇資料です。
https://gs2.io/
Kazutomo Niwa
September 29, 2018
Tweet
Share
More Decks by Kazutomo Niwa
See All by Kazutomo Niwa
Amazon Event Bridge による次世代の Pub/Sub
kazutomo
0
1.9k
DynamoDB のインデックス再編事例
kazutomo
2
780
Production-ready Amazon Event Bridge
kazutomo
2
960
もうそこまで迫っている! Cloud2.0 時代の開発
kazutomo
3
1.7k
Game Server Services ではじめる サーバ開発運用しないゲーム開発
kazutomo
1
7.3k
Cloud2.0時代のゲーム開発を支えるGS2
kazutomo
1
2k
Unityネットワーク完全に理解した.pdf
kazutomo
3
3.1k
ゼロからサーバレスの先頭に追いつこう
kazutomo
25
12k
サーバレスアーキテクチャ入門
kazutomo
16
6.1k
Other Decks in Technology
See All in Technology
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
1
570
新R25、乃木坂46 Mobileなどのファンビジネスを支えるマルチテナンシーなプラットフォームの全体像 / cam-multi-cloud
cyberagentdevelopers
PRO
1
130
Shift-from-React-to-Vue
calm1205
3
1.3k
Fargateを使った研修の話
takesection
0
120
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
MAMを軸とした動画ハンドリングにおけるAI活用前提の整備と次世代ビジョン / abema-ai-mam
cyberagentdevelopers
PRO
1
110
Java x Spring Boot Warm up
kazu_kichi_67
2
490
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
470
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
4
700
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
27
12k
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Thoughts on Productivity
jonyablonski
67
4.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
Gamification - CAS2011
davidbonilla
80
5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
The Language of Interfaces
destraynor
154
24k
Making Projects Easy
brettharned
115
5.9k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Facilitating Awesome Meetings
lara
49
6k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
サーバレスアプリケーションの監視・運⽤ Game Server Services 株式会社 代表取締役社⻑CEO 丹⽻ ⼀智
⾃⼰紹介 Game Server Services, Inc. https://gs2.io 丹⽻ ⼀智(にわ かずとも) Game
Server Services 株式会社 代表取締役社⻑ CEO 2006年 株式会社セガ⼊社 携帯電話向けゲームおよびサーバ開発業務に従事 2009年 任天堂株式会社⼊社 ニンテンドー3DSのOS/SDK開発や、 ゲームサーバの開発・運⽤業務に従事 2016年 Game Server Services 株式会社 設⽴
Game Server Services とは? フルサーバレスアーキテクチャ(FaaS)でモバイルゲーム向けの汎⽤ ゲームサーバを開発・提供。 各社がゲームサーバを開発している現状に疑問を感じ、あらゆるゲー ムに使える汎⽤ゲームサーバを提供することをミッションとし、ゲー ムサーバ界の Unity
を⽬指して開発中。 Game Server Services, Inc. https://gs2.io next
Game Server Services とは? 設⽴2年というヒヨッコスタートアップですが、今年3⽉に DeNA / KLab らから資⾦調達を実施。 Game
Server Services, Inc. https://gs2.io 主な採⽤事例 私、茄⼦で⾶びます(usaya株式会社) Google Play にてシミュレーションカテゴリでどうぶつの森に続く2位 サーバレスアーキテクチャのおかげで無障害でサービス提供中
サーバレスアプリの監視とは? Game Server Services, Inc. https://gs2.io
従来のインフラ監視 Game Server Services, Inc. https://gs2.io Load Average CPU Usage
Memory Usage Disk IO :
サーバレスでは気にしなくていいこと サーバレスアーキテクチャにおいては CPU使⽤率やメモリ使⽤ 率は監視する必要がありません。 Game Server Services, Inc. https://gs2.io Load
Average CPU Usage Memory Usage Disk IO :
じゃ、何もしなくていい? 何もしなくていいか。というとそんなことはありません。 サーバーレスでもサービスがちゃんと提供出来ているのかは監視 する必要があります。 または、意図しない状態が発⽣したときに、フルマネージドサー ビスの問題なのか、⾃分のアプリケーションの問題なのか切り分 けられる指標が必要です。 Game Server Services,
Inc. https://gs2.io サービスは正しく動いてる? どのコンポーネントが異常?
必要となる監視 サービス監視 サービスが正しく提供出来ているか判断する指標 コンポーネント監視 サービスを構成するコンポーネントが 正しく動作しているか判断出来る指標 Game Server Services, Inc.
https://gs2.io
サービス監視 Game Server Services, Inc. https://gs2.io 例: Steam では 同時ログイン数を
記録している ログイン数が急激に減少 ↓ 何らかの異常が発⽣
コンポーネント監視 キャパシティ管理または上限緩和の必要な項⽬ ・Lambda の同時実⾏数 ・API Gateway への Request/sec ・DynamoDB のキャパシティ使⽤率
障害発⽣時に障害点を特定するための項⽬ ・API Gateway の応答時間 ・Lambda の応答時間 ・DynamoDB の応答時間 Game Server Services, Inc. https://gs2.io
GS2 ではどうしているか? Game Server Services, Inc. https://gs2.io
課題 Game Server Services, Inc. https://gs2.io GS2 は AWS/GCP のハイブリッド構成
それぞれ CloudWatch / Stackdriver とツールが異なる
課題 Game Server Services, Inc. https://gs2.io AWS /GCP で提供される 視覚化⽅法が
”折れ線グラフ” 中⼼で メトリックによっては不適切
どうしているか Game Server Services, Inc. https://gs2.io GS2 では を採⽤ ⼤型ディスプレイに表⽰して
いつでも⾒られる状態に
Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
ダッシュボードの構成 Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
基本メトリック • 秒間アクセス数 • サービス利⽤者起因のエラー数 • GS2起因のエラー数 • 想定外の例外発⽣数 •
Google App Engine のクォーターリミット到達数 Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
サービスパフォーマンス • API Gateway がレスポンスした時間 • Lambda がレスポンスした時間 • Lambdaで実⾏するコードがレスポンスした時間
• 認証/認可検証にかかった時間 • DynamoDB のIOにかかった時間 Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
キャパシティ監視 • DynamoDB で最もキャパシティを消費しているテーブルの使⽤ 率 • Lambda の同時実⾏数のアカウント上限値に対する使⽤率 • Lambda/DynamoDB
のスロットル発⽣回数 Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
アラームの状態 • アラームが全てOKな状態か? • アラームが出てるとすればどのカテゴリか? Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
直近4時間のAPIコール数 • 点線は1週間前の同時間帯のグラフ • 直線は直近4時間におけるトレンド • 今現在どの程度のアクセスがあるかを可視化 Game Server Services,
Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
直近4時間のAPIランキング • 利⽤されているマイクロサービスランキング • レスポンスタイムのワーストランキング Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io 直近1週間のAPIコール数 • 点線は1週間前の同時間帯のグラフ • 直線は直近1週間におけるトレンド
• 前⽇・先週と⽐べてどのくらい変化があるかを可視化
Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io • 点線は1ヶ⽉前の同時間帯のグラフ • 直線は直近1ヶ⽉間におけるトレンド •
跳ね上がっているのはクライアントの実装ミスによってビジー ループが発⽣していた箇所。Datadog があったおかげですぐに 検出して対応が出来た 直近1ヶ⽉間のAPIコール数
Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io • サービスの提供にかかっているインフラコストの可視化 • 異常な増え⽅をしていないかを視覚化 インフラコスト
Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io • サービス提供による売り上げの視覚化 売り上げ
ダッシュボードの作り⽅ Game Server Services, Inc. https://gs2.io
プラグインのインストール • AWS や GCP、Slack といったメジャーなプロダクトには⼤体プ ラグインが存在する Game Server Services,
Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io プラグインの設定 • AWS アカウントと AssumeRole
に使⽤するロールの設定 • どのサービスのメトリックを収集するかを設定 • 収集したメトリックに付与するタグを設定
Game Server Services, Inc. https://gs2.io ダッシュボードの作成 • ダッシュボードメニューから新規作成を選択
Game Server Services, Inc. https://gs2.io コンポーネントの追加 • ドラッグ&ドロップでコンポーネントを追加 • コンポーネントには種類がある
• 折れ線グラフ • 積み上げグラフ • 数値 • ランキング • ログ :
Game Server Services, Inc. https://gs2.io メトリックの設定 • レンダリングするデータソースを設定 • Select
や GroupBy といった設定も可能 • 移動平均やトレンドといったフィルタを適⽤することも可能
異常を検出するには Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io メトリックの設定 • 値の範囲でダッシュボードに表⽰する⾊を設定可能 • 異常値になったときには⾊が変わるようにすることで、すぐに
異常であることを認識出来るように
Game Server Services, Inc. https://gs2.io アラームの設定 • 値が異常値になった時にメールやSlackに通知可能 • CloudWatch
や Stackdriver にも同様の機能があるが、データを 加⼯したり、多くの指標を使ってアラームを設定可能
異常を調査するには Game Server Services, Inc. https://gs2.io
想定外の例外が検出!!! Game Server Services, Inc. https://gs2.io ログが⾒たい…
想定外の例外が検出!!! Game Server Services, Inc. https://gs2.io どのマイクロサービスで起こってるんだ? このマイクロサービスのアカウントどれだっけ?
ログが… Game Server Services, Inc. https://gs2.io Lambda が実⾏されたコンテナ毎に分かれてる
ログが… Game Server Services, Inc. https://gs2.io もぅマヂ無理。 リスカしょ・・・
Datadog Logs Game Server Services, Inc. https://gs2.io 全てのアカウント/プロジェクトのログを集約 フィルタリングも爆速
Game Server Services, Inc. https://gs2.io Datadog Logs マイクロサービスで絞り込んだり
Game Server Services, Inc. https://gs2.io Datadog Logs Lambda ファンクションで絞り込んだり
Game Server Services, Inc. https://gs2.io Datadog Logs レスポンス時のステータスコードで絞り込んだり
Game Server Services, Inc. https://gs2.io Datadog Logs ⽬的のログを⾒つけたら レコードを選ぶと詳細が⾒られる
Game Server Services, Inc. https://gs2.io Datadog Logs リクエストの内容や レスポンスの内容が⾒られる
ダッシュボードとの連携 Game Server Services, Inc. https://gs2.io ダッシュボードからログに⾶ぶことも可能
ログの取り込み⽅ Game Server Services, Inc. https://gs2.io TCPでDatadogのサーバに繋いで流し込む 以上!
ピタゴラ装置を もっと視覚化してほしい… Game Server Services, Inc. https://gs2.io
Game Server Services, Inc. https://gs2.io サービスマップ • ファンクションの関係を視覚化 • 類似サービスの
Stackdriver Trace や X-Ray よりいけてる ビュー
Game Server Services, Inc. https://gs2.io サービスマップ • ファンクションの関係を視覚化 • 類似サービスの
Stackdriver Trace や X-Ray よりいけてる ビュー
Game Server Services, Inc. https://gs2.io サービスマップ • ノードを選択すると、より細かい情報にアクセス可能
Game Server Services, Inc. https://gs2.io サービスマップ • ノードを選択すると、より細かい情報にアクセス可能
プラットフォーマーが提供するサービスとは異なり アカウントを超えた動向もみれる といいなあ Game Server Services, Inc. https://gs2.io
……… Game Server Services, Inc. https://gs2.io
残念ながら サービスマップはサーバレスから使えません (エージェントのインストールが必要) Game Server Services, Inc. https://gs2.io
みんなで Datadog に要望をだそう! Game Server Services, Inc. https://gs2.io
Game Server Services では仲間を募集中 裁量労働制 年収792万円 (⽉額66万円・みなし残業20時間込み・賞与無し)+ ストックオプション https://gs2.io/recruit.html Game
Server Services, Inc. https://gs2.io