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
Cloud Run Reliability/Observability at ソウゾウ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryuzo Yamamoto
April 19, 2023
Technology
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Run Reliability/Observability at ソウゾウ
Ryuzo Yamamoto
April 19, 2023
More Decks by Ryuzo Yamamoto
See All by Ryuzo Yamamoto
Cloud Run CI/CD + QA at ソウゾウ - Cloud Run Casual Talk !
dragon3
2
510
福岡からニューヨークに転勤になったエンジニアの話
dragon3
1
80
Other Decks in Technology
See All in Technology
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
290
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
4k
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
420
GoでCコンパイラを作った話
repunit
0
130
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
120
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
130
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
2
660
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
1
280
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
BBQ
matthewcrist
89
10k
Building Applications with DynamoDB
mza
96
7.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
Building the Perfect Custom Keyboard
takai
2
810
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
1 Cloud Run Reliability/Observability at ソウゾウ Ryuzo Yamamoto Cloud Run
Casual Talk!#2
2 山本 竜三 自己紹介 @dragon3 Software Engineer Lead Architect /
SRE at Souzoh in Fukuoka
3 ソウゾウ / メルカリShops
4 • Architecture, Tech Stack • Observability ◦ Logs, Metrics,
Traces • Reliability ◦ SLOs & Monitors as Code Agenda
5 Architecture Next.js Cloud Run GraphQL Cloud Run imgproxy Cloud
Run microservice Cloud Run microservice Cloud Run Cloud Storage Cloud Load Balancing Cloud SQL Memorystore Cloud Run (70~ services) microservice(s) Cloud Run
6 Tech Stack • Monorepo ◦ Go, TypeScript, Python, Java
◦ 70~ microservices • Bazel, Turborepo • GraphQL / gRPC • Serverless (Cloud Run) • PostgreSQL, Redis • Cloud PubSub, Tasks, Workflows, Scheduler, VertexAI
7 • Architecture, Tech Stack • Observability ◦ Logs, Metrics,
Traces • Reliability ◦ SLOs & Monitors as Code Agenda
8 • Logs ◦ JSON structured logging ◦ Cloud Logging
-> BigQuery • Metrics ◦ Log-based Metrics ◦ Cloud Monitoring -> Datadog • Traces ◦ OpenTelemetry -> Datadog Observability
9 Observability - Logs microservice Cloud Run container log STDOUT
/ STDERR Logging BigQuery { "message": "failed to say hello", "something_id": "xxxxxxxx" "serviceContext": { "version": "1.0.1", "service": "echo" }, "metadata": { "user-agent": "graphql/1.0.0 grpc-node-js/1.7.3", } } Sink
10 Observability - Metrics microservice Cloud Run container log STDOUT
/ STDERR Logging { "message": "grpc: finished server unary /echo.EchoService/Hello", "grpc": { "type": "unary", "kind": "server", "latency": 0.002360152, "code": "OK", "method": "Hello", "service": "echo.EchoService" }, "serviceContext": { "version": "1.0.1", "service": "echo" }, "metadata": { "user-agent": "graphql/1.0.0 grpc-node-js/1.7.3", } } Log-based Metrics Monitoring Log-based Metrics + Other GCP Metrics gRPC interceptor
11 Observability - Traces Next.js Cloud Run GraphQL Cloud Run
microservice Cloud Run microservice Cloud Run microservice(s) Cloud Run datadog-agent Cloud Run OTLP (gRPC)
12 • Architecture, Tech Stack • Observability ◦ Logs, Metrics,
Traces • Reliability ◦ SLOs & Monitors as Code Agenda
13 Reliability - SLOs & Monitors as Code • SLO
をすべての gRPC method 毎に設定 ◦ Availability (e.g. 99.9% / 30 days) ◦ Latency (e.g. p95 100ms) • 設定の自動化 ◦ protobuf plugin + Terraform module • Multiwindow, Multi-Burn-Rate Alerts ◦ https://docs.datadoghq.com/monitors/service_level_objectives/burn_rate/ ◦ https://sre.google/workbook/alerting-on-slos/#6-multiwindow-multi-burn-rate-alerts
14 Reliability - SLOs & Monitors as Code ... rpc
Hello(HelloRequest) returns (HelloResponse) { option (extension.v2.method_monitoring) = { availability: { goal: 99.5 } latency: { threshold_ms: 100 percentile: 95 } }; } ... Terraform configuration protoc apply by CI (GitHub Actions) SLO monitors
15 • Architecture, Tech Stack • Observability ◦ Logs, Metrics,
Traces • Reliability ◦ SLOs & Monitors as Code Wrap Up