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
JBD
October 02, 2018
Technology
0
4.1k
CPDD
JBD
October 02, 2018
Tweet
Share
More Decks by JBD
See All by JBD
eBPF in Microservices Observability at eBPF Day
rakyll
1
2k
eBPF in Microservices Observability
rakyll
1
1.6k
OpenTelemetry at AWS
rakyll
1
1.8k
Debugging Code Generation in Go
rakyll
5
1.5k
Are you ready for production?
rakyll
8
2.6k
Servers are doomed to fail
rakyll
3
1.5k
Serverless Containers
rakyll
1
240
Critical Path Analysis
rakyll
0
500
Monitoring and Debugging Containers
rakyll
2
1.1k
Other Decks in Technology
See All in Technology
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
330
自作Cコンパイラ 8時間の奮闘
soukouki
0
850
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
100
『GRANBLUE FANTASY Relink』キャラクターの魅力を支えるリグ・シミュレーション制作事例
cygames
0
120
不動産売買取引におけるAIの可能性とプロダクトでのAI活用
zabio3
0
270
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
Cloud Run と GitHub Template Repository による軽量なアプリケーションプラットフォーム/ #nikkei_tech_talk
nikkei_engineer_recruiting
0
110
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1.2k
Jetpack Compose Modifier 徹底解説 / Jetpack Compose Modifier
wiroha
0
200
実務における脅威モデリングを考えよう
nikinusu
0
630
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
610
watsonx.ai Dojo 環境準備について
oniak3ibm
PRO
0
300
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
65
4.3k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
5
480
Building a Scalable Design System with Sketch
lauravandoore
459
32k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Typedesign – Prime Four
hannesfritz
39
2.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Testing 201, or: Great Expectations
jmmastey
36
7k
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]