Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloud Run Reliability/Observability at ソウゾウ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryuzo Yamamoto
April 19, 2023
Technology
810
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
520
福岡からニューヨークに転勤になったエンジニアの話
dragon3
1
87
Other Decks in Technology
See All in Technology
ScotSecure West 2026 - Glasgow
raybugg
0
160
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
0
130
Von-Neumann Machines, Dreams & The Futures of IT
ufried
0
130
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
290
AI時代、データエンジニアが一番おもろい
genshun9
0
690
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
620
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
500
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
110
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
580
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
sira's awesome portfolio website redesign presentation
elsirapls
0
420
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Raft: Consensus for Rubyists
vanstee
142
7.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
670
Utilizing Notion as your number one productivity tool
mfonobong
4
600
Automating Front-end Workflow
addyosmani
1369
210k
The Limits of Empathy - UXLibs8
cassininazir
1
690
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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