Department of Informatics
The Developer’s DevOps Mountain
If the developer won’t go to the metrics,
the metrics must go to the developer
Jürgen Cito, Christian Bosshard, Philipp Leitner
WebPerfDays 2014, Barcelona
Slide 2
Slide 2 text
2
MSc, Technical University of Vienna
Research Intern @ Catchpoint, New York
Statistics in Web Performance Monitoring
PhD Candidate, University of Zurich
Software Evolution and Architecture Lab
Software Engineering Cloud Computing
Jürgen Cito
@citostyle
Slide 3
Slide 3 text
3
cloudwave-fp7.eu
@CloudWaveFP7
Slide 4
Slide 4 text
Software Development in the Cloud
[Interview and Survey Study]
Preprint available:
http://arxiv.org/abs/1409.6502
4
Slide 5
Slide 5 text
5
Exploratory Study
Interviews
Coding & Analysis
Quantitative Survey
Slide 6
Slide 6 text
Tools for Cloud Software Development
6
Slide 7
Slide 7 text
7
Quantitative Survey
Slide 8
Slide 8 text
Quantitative Survey
8
62% say more metrics are
available in the cloud
Slide 9
Slide 9 text
Reality:
Majority of study participants reported
that they rather go “by intuition” than
look at metrics
9
Slide 10
Slide 10 text
Ops be like…
10
https://www.youtube.com/watch?v=ZC56jND10V4
“I gave you everything you
needed, you piece of …”
Slide 11
Slide 11 text
DevOps Mountain
11
Source: https://flic.kr/p/phfUy4 (Stoos, Switzerland)
“I gave you everything you
needed, you piece of …”
If the developer won’t go to
the metrics…
…the metrics must go to the developer
Slide 12
Slide 12 text
How?
Serve application level metrics for
developers in their IDE
(+do some predictive analysis)
12
Slide 13
Slide 13 text
Use Case Application (VoIP Client)
13
• Use Case:
Lookup Online status
of users
• Users can be queried
from a “User Directory
Service”
Slide 14
Slide 14 text
Predictive Performance Analysis in the IDE
14
Slide 15
Slide 15 text
15
High-Level Architecture
Slide 16
Slide 16 text
Software Performance Anti-Patterns
Hot Spots / Hot Paths
Loops (Redundancy in inner/outer loops, inefficient inner/outer loops)
Too Many Remote Calls
n+1 selection problem
…
16
Slide 17
Slide 17 text
Conclusion
Study shows that more performance metrics are widely
available, but developers rather go “by intuition”
Tighter feedback loop between the runtime environment and
the development environment (IDE)
17
Slide 18
Slide 18 text
Conclusion (cont’d)
Predictive analysis helps to identify performance issues
before the developer even commits
Continuous evolution of software and informed
architecture decisions
18
Jürgen Cito
@citostyle
[email protected]
Slides at speakerdeck.com/citostyle