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
CPDD
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
JBD
October 02, 2018
Technology
0
4.3k
CPDD
JBD
October 02, 2018
Tweet
Share
More Decks by JBD
See All by JBD
eBPF in Microservices Observability at eBPF Day
rakyll
1
2.2k
eBPF in Microservices Observability
rakyll
1
1.7k
OpenTelemetry at AWS
rakyll
1
1.9k
Debugging Code Generation in Go
rakyll
5
1.6k
Are you ready for production?
rakyll
8
2.9k
Servers are doomed to fail
rakyll
3
1.6k
Serverless Containers
rakyll
1
280
Critical Path Analysis
rakyll
0
690
Monitoring and Debugging Containers
rakyll
2
1.1k
Other Decks in Technology
See All in Technology
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
190
生成AIで速度と品質を両立する、QAエンジニア・開発者連携のAI協調型テストプロセス
shota_kusaba
0
200
社内レビューは機能しているのか
matsuba
0
150
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
180
ABEMAのバグバウンティの取り組み
kurochan
1
110
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
160
エンジニアリングマネージャーの仕事
yuheinakasaka
0
110
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
170
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
1
830
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
570
フロントエンド刷新 4年間の軌跡
yotahada3
0
500
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
52k
GraphQLとの向き合い方2022年版
quramy
50
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
320
Skip the Path - Find Your Career Trail
mkilby
1
86
GitHub's CSS Performance
jonrohan
1032
470k
So, you think you're a good person
axbom
PRO
2
2k
How to Ace a Technical Interview
jacobian
281
24k
Designing Experiences People Love
moore
143
24k
Evolving SEO for Evolving Search Engines
ryanjones
0
160
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Transcript
None
None
None
systems? who does that?
jaana b. dogan 6+ years at Google, touched many projects
early days (of a company)
None
growing...
what growth looks like service A service B service C
service D service E service auth email
one becomes many failure in isolation who to ping in
failure?
and it goes larger...
good guy jeff
None
None
code search
go_library( name = "logs", srcs = ["logs.go"], visibility = ["//visibility:public"],
deps = [ …. ], ) References (641 occurrences) - //source/ads/monitoring/BUILD - //source/ads/analysis/BUILD - //source/ads/mobile/BUILD ...
frontend server authentication users images memcache blobservice memcache memcache (metadata)
(disks) load balancer
frontend server authentication users images memcache blobservice memcache memcache (metadata)
(disks) load balancer critical path
cpdd (critical path driven development)
discover the critical paths make them reliable and fast make
them debuggable
how do we get there? events or tracing
why? why? why? why? why?
GET /timeline edge-lb sched api-server auth.Auth cache.Get mysql.Query user.Profile cache.Get
mysql.Query images.Filter blobstore.Get
bare metal kernel process scheduler network stack cloud stack user
process frameworks your code
GET /timeline edge-lb sched api-server auth.Auth cache.Get mysql.Query user.Profile cache.Get
mysql.Query images.Filter blobstore.Get not my fault
GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter blobstore.Get
cache.Get mysql.Query blob.Get where is the source code?
GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter blobstore.Get
cache.Get mysql.Query blob.Get who to call?
GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter blobstore.Get
cache.Get mysql.Query blob.Get give me the logs, runtime events, profiles...
challenges...
this is an organizational problem CPDD CHALLENGE #1:
github.com/w3c/distributed-tracing
engineers don’t know where to start CPDD CHALLENGE #2:
infra is still a blackbox CPDD CHALLENGE #3:
instrumentation is expensive CPDD CHALLENGE #4:
dynamic capabilities are underestimated CPDD CHALLENGE #5:
None
cpdd: a tool to close knowledge gaps (which we don’t
talk about)
fin
[email protected]