Slide 1

Slide 1 text

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