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
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
運用イベント対応への生成AIの活用 with Failure Analysis Assistant
suzukyz
0
200
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
0
1.1k
Fargateを使った研修の話
takesection
0
170
「視座」の上げ方が成人発達理論にわかりやすくまとまってた / think_ perspective_hidden_dimensions
shuzon
2
15k
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
380
Amazon CloudWatch Network Monitor 導入ガイド_デモ説明付き
yukimmmm
0
150
RAGのためのビジネス文書解析技術
eida
3
630
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
フロントエンド メタフレームワーク 選定の際に考えたこと
yuppeeng
0
590
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
0
610
マルチモーダルデータ基盤の課題と観点
neonankiti
1
110
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Music & Morning Musume
bryan
46
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Designing for humans not robots
tammielis
249
25k
What's in a price? How to price your products and services
michaelherold
243
12k
Practical Orchestrator
shlominoach
186
10k
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