7. ● 様々なパターンのエラー
○ 数パーセントのリクエストだけ500エラー or レスポンスが遅延
○ 関連するリソースの数が多いので、原因の特定が難しい
● システムの全体像が把握しづらい
○ そもそもどのサービスを経由しているのか
○ 思わぬリソースにアクセスしていることもある
7
分散システムにとってObservabilityは重要
What is Observability?
8. The Three Pillars of Observability
8
Traces / Metrics / Logs
What is Observability?
9. ● Monitoring / Logging / Tracingそれぞれに
多数のOpenSourceやマネージドサービス
が存在
https://landscape.cncf.io/
9
What is Observability?
10. ◎ Logs
● 主な形式は3つ
○ Plain Text
○ Structured (json ...)
○ Binary (Protocol Buffers ...)
10
特定の時間に発生した個別のイベントを記録するレコード
What is Observability?
11. ◎ Metrics
● AlertingやDashboardの構築に利用
● データ量はおおよそ一定に増加
○ ユーザーのアクセス増加等と関連が薄い
● 下記のようなタイミングで増える
○ 新しいサービスが追加された
○ コンテナが増加した
11
一定間隔で計測されたデータの数値
What is Observability?
12. End to Endのリクエストフローを表現する(Distributed Tracing)
◎ Traces
12
● 最初のリクエストでユニークなRequestIDを発行し、それを次のホップ
に渡していく
● ServiceMeshの場合、アプリケーションはヘッダーをメッシュ内の次の
ホップに転送する
○ backendへのデータ送信はsidecarで実施
What is Observability?
17. 17
Production Release後もテストが続く
What is Observability?
Development Deploy Release Post-Release
・Unit Test
・E2E Test
・Manual Test
・
・
・
Testing in Production
・Canary Release
・Traffic Shifting
・A/B Tests
・Monitoring
・Chaos Engineering
・
・
・
Testing in
Develop / Staging
38. 38
● Service Entryを登録しておくことで、外部
エンドポイントも表示される
● Service Entryを登録していない場合は、
PassthroughCluster(Unknown) になる
Use cases at SPEEDA
www.googleapis.com
PassthroughCluster
www.googleapis.com
www.googleapis.com