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
2.1k
eBPF in Microservices Observability
rakyll
1
1.7k
OpenTelemetry at AWS
rakyll
1
1.8k
Debugging Code Generation in Go
rakyll
5
1.5k
Are you ready for production?
rakyll
8
2.7k
Servers are doomed to fail
rakyll
3
1.5k
Serverless Containers
rakyll
1
240
Critical Path Analysis
rakyll
0
550
Monitoring and Debugging Containers
rakyll
2
1.1k
Other Decks in Technology
See All in Technology
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.1k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.3k
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.5k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
740
分解して理解する Aspire
nenonaninu
1
110
Goで作って学ぶWebSocket
ryuichi1208
0
170
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
720
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
2.9k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
4 Signs Your Business is Dying
shpigford
182
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
KATA
mclloyd
29
14k
Docker and Python
trallard
44
3.3k
Code Reviewing Like a Champion
maltzj
521
39k
A Tale of Four Properties
chriscoyier
158
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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]