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
970
もうそこまで迫っている! 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
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
300
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
Taming you application's environments
salaboy
0
180
Can We Measure Developer Productivity?
ewolff
1
150
Lexical Analysis
shigashiyama
1
150
Lambdaと地方とコミュニティ
miu_crescent
2
370
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
31
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for humans not robots
tammielis
250
25k
Making Projects Easy
brettharned
115
5.9k
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