SlideShare a Scribd company logo
1 of 37
LIFECYCLE BY
DESIGN
Enabling Collaboration across
Development, Test and
Production Teams
Wolfgang Gottesheim

COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE

1
Application Lifecycle Management…?

2
Application Lifecycle Management

Application lifecycle management (ALM) is the product
lifecycle management (governance, development, and
maintenance) of application software. It encompasses
requirements management, software
architecture, computer programming, software
testing, software maintenance, change
management, project management, and release
management.

Source: http://en.wikipedia.org/wiki/Application_lifecycle_management
accessed Dec 16, 2013
3
The Application Lifecycle

Source: http://www.teamquest.com/solutions/itil/application-management/
4
Project deliverables
What you set out to build…

…and what you get
5
What we tried to do…
• Update our Customer Self-Service Portal

6
Our (Business) Requirements
• “Provide a modern user experience”
– aka ―Get the Community from Web 1.0 to Web 2.0‖
– New features: AJAXified editors, Popups when someone
else is editing the same page, notifications about new
comments, auto refresh in the background,…

7
What went wrong?
Our mistakes:
– We left PERFORMANCE out
– We thought about new features instead of thinking about the user
experience

8
9
Design
• We wanted to continue using Confluence
– 3rd party software  major design decisions made
elsewhere
– Extended by custom plugins  ensure compatibility

• Our mistake: assuming that resource usage will remain
stable in the new version

10
Build/Integrate/Test
• Testing was focused on FUNCTIONALITY
– ―Does the site work as expected?‖
– Tests in small-scale staging environment  some findings
disregarded because of environmental differences

• Our mistake: we didn’t test from the end-user
perspective in a realistic environment

11
Deploy
• Actual rollout was documented and well-tested in staging
environment
• Also part of deployment phase: User Training
– We thought the new features are so obvious that people will
find them

• Our mistake: we didn’t make sure that features are
accessible

12
Operate
• Mistakes we made earlier added up…
– Slow response times
– High resource usage (CPU, memory)
– Timeouts

– Crashes
– User complaints

• Blame it on IT?

13
What problems did we see?

14
Resource Pool Exhaustion

15
Compatibility Issues with custom plugins

16
Requesting too much data from DB

17
Oversized Pages
17! JS Files – 1.7MB in Size

Useless Information!
Even might be a security risk!

18
Caches

62! Resources not cached

49! Resources with short expiration

19
3rd Party Content

20
21
Optimize
• Monitor the impact of new features on server-side
performance and end-user experience
• Monitor actual usage and consider tradeoff between
performance and features
• Our success: after rollout, we were able to identify the
bottlenecks and make necessary changes

22
23
Very ―expensive‖ to work on these issues

YES we know this

BUT

~

80%

caused by

24

of problems

~20%

patterns
Lots of Problems that could have been avoided
• BUT WHY are we still dragging them along across the
lifecycle – up into production?

25
Requirements EXCLUDED in Stories / Tasks

Performance

Scalability

Deployability
26

Testability

Deployability
Test and Ops EXCLUDED from Agile Process

Stand-Ups

27

Sharing Tools

Feedback
Automation EXCLUDES

Performance

28

Scalability

Shared Tools

Automatic Feedback
Measurement: Define KPIs accepted by all teams
Perf Test Code Coverage

# of SQL Executions

Time for Rollback

Response Times

MBs / Uses

# of Log Lines

Time for Deployment
29
DevOps Automation in Action
Lets look behind the
scenes

• Most problems can be identified in CI

Architectural Data

Test Framework Results
Build #

Test Case

Status

Build 17

testPurchase

OK

12

0

120ms

testSearch

OK

3

1

68ms

testPurchase

FAILED

12

5

60ms

testSearch

OK

3

1

68ms

testPurchase

OK

75

0

230ms

testSearch

OK

3

1

68ms

Build 18

Build 19

Build 20

30

# SQL

# Excep

CPU

12
0
120ms
Exceptions probably reason
3
1
68ms
testSearch identified a regresesion
OK
We
for failed tests
Problem fixed but now we have an
Problem solved
architectural regression
Now we have the functional and
architectural confidence
testPurchase

OK
Performance Focus in Test Automation

Analyzing All Unit / Performance Tests

Jump in DB Calls
from one Build to the
next

Analyzing Metrics
such as DB Exec
Count
31
Performance Focus in Test Automation

Cross Impact of KPIs
32
Performance Focus in Test Automation

Embed your Architectural Results
in Jenkins

33
Performance Focus in Test Automation
Compare Build that shows BAD Behavior!

With Build that shows GOOD Behavior!

Here is the difference!

34
Performance Focus in Test Automation

CalculateUserStats is the
new Plugin that causes
problems

35
Thank You
Participate in Compuware
APM Discussion Forums
apmcommunity.compuware.com

Follow us on Twitter
twitter.com/CompuwareAPM

Like us on Facebook

Read our Blog

facebook.com/CompuwareAPM

http://apmblog.compuware.com

Join our LinkedIn group

Watch our Videos &
product Demos

Compuware APM User Group

youtube.com/Compuware

www.compuware.com/APM

36

© 2011 Compuware Corporation — All Rights Reserved
37

COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
© 2011 Compuware Corporation — All Rights Reserved

More Related Content

What's hot

Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt ManagementFabricio Epaminondas
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsPrabhu Ramasamy
 
Quickstart for continuous integration
Quickstart for continuous integrationQuickstart for continuous integration
Quickstart for continuous integrationFabricio Epaminondas
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?Red Gate Software
 
Performance Testing In Software Testing | quality professionals
Performance Testing In Software Testing | quality professionalsPerformance Testing In Software Testing | quality professionals
Performance Testing In Software Testing | quality professionalsQualityProfessionals2
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testingMoataz Nabil
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationRogue Wave Software
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with RubyPierluigi Riti
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMMarco Silva
 
Automated Database Deployment at SQL Rally
Automated Database Deployment at SQL RallyAutomated Database Deployment at SQL Rally
Automated Database Deployment at SQL RallyGrant Fritchey
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsMoataz Nabil
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologiesStefano Paluello
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationDBmaestro - Database DevOps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...Serena Software
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software developmentA B M Moniruzzaman
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingGrid Dynamics
 

What's hot (20)

Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt Management
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
Quickstart for continuous integration
Quickstart for continuous integrationQuickstart for continuous integration
Quickstart for continuous integration
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
 
Performance Testing In Software Testing | quality professionals
Performance Testing In Software Testing | quality professionalsPerformance Testing In Software Testing | quality professionals
Performance Testing In Software Testing | quality professionals
 
A guide for automated testing
A guide for automated testingA guide for automated testing
A guide for automated testing
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
 
Scrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALMScrum Portugal Meeting 1 Lisbon - ALM
Scrum Portugal Meeting 1 Lisbon - ALM
 
Automated Database Deployment at SQL Rally
Automated Database Deployment at SQL RallyAutomated Database Deployment at SQL Rally
Automated Database Deployment at SQL Rally
 
Scrum Training
Scrum TrainingScrum Training
Scrum Training
 
ISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test ToolsISTQB Agile Tester - Agile Test Tools
ISTQB Agile Tester - Agile Test Tools
 
Teamwork and agile methodologies
Teamwork and agile methodologiesTeamwork and agile methodologies
Teamwork and agile methodologies
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software development
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 

Viewers also liked

Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for ReliabilityIvica Crnkovic
 
Tom Hume - Design in the product lifecycle
Tom Hume - Design in the product lifecycleTom Hume - Design in the product lifecycle
Tom Hume - Design in the product lifecycleMobile Monday Amsterdam
 
Design for Reliability - Quality Reliabilty Conference 2013
Design for Reliability - Quality Reliabilty Conference 2013Design for Reliability - Quality Reliabilty Conference 2013
Design for Reliability - Quality Reliabilty Conference 2013Joel Mandel
 
Design for reliability in automotive electronics
Design for reliability in automotive electronicsDesign for reliability in automotive electronics
Design for reliability in automotive electronicsGil Sharon
 
Design collaboration
Design collaborationDesign collaboration
Design collaborationARUN K S
 
End of life complete product lifecycle design 2 powerpoint ppt slides.
End of life complete product lifecycle design 2 powerpoint ppt slides.End of life complete product lifecycle design 2 powerpoint ppt slides.
End of life complete product lifecycle design 2 powerpoint ppt slides.SlideTeam.net
 
Supply Chain Design Fundamentals
Supply Chain Design FundamentalsSupply Chain Design Fundamentals
Supply Chain Design FundamentalsGary Steinberg
 
Supply chain design and operation
Supply chain design and operationSupply chain design and operation
Supply chain design and operationAngelainBay
 
Sustainability in Design
Sustainability in DesignSustainability in Design
Sustainability in DesignMark Rotondella
 
Design for Environment by Waqas Ali Tunio
Design for Environment by Waqas Ali TunioDesign for Environment by Waqas Ali Tunio
Design for Environment by Waqas Ali TunioWaqas Ali Tunio
 
Design for disassembly iraldo
Design for disassembly iraldoDesign for disassembly iraldo
Design for disassembly iraldoFabio Iraldo
 
DFMA -Design For Manufacturing and Assembly
DFMA -Design For Manufacturing and AssemblyDFMA -Design For Manufacturing and Assembly
DFMA -Design For Manufacturing and AssemblySunith Guraddi
 
Integrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product LifecycleIntegrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product LifecycleICS
 
Design Quality: Learning from the Mistakes of the US Auto Industry
Design Quality: Learning from the Mistakes of the US Auto IndustryDesign Quality: Learning from the Mistakes of the US Auto Industry
Design Quality: Learning from the Mistakes of the US Auto IndustryJake Truemper
 
A Reference Model Based Design of Supply Chain Management Capabilities
A Reference Model Based Design of Supply Chain Management CapabilitiesA Reference Model Based Design of Supply Chain Management Capabilities
A Reference Model Based Design of Supply Chain Management CapabilitiesCaaS EU FP7 Project
 
ASQ RD Webinar: Design for reliability a roadmap for design robustness
ASQ RD Webinar: Design for reliability   a roadmap for design robustnessASQ RD Webinar: Design for reliability   a roadmap for design robustness
ASQ RD Webinar: Design for reliability a roadmap for design robustnessASQ Reliability Division
 

Viewers also liked (20)

Design Lifecycle
Design LifecycleDesign Lifecycle
Design Lifecycle
 
Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for Reliability
 
Df recycling
Df recyclingDf recycling
Df recycling
 
Tom Hume - Design in the product lifecycle
Tom Hume - Design in the product lifecycleTom Hume - Design in the product lifecycle
Tom Hume - Design in the product lifecycle
 
Design for Reliability - Quality Reliabilty Conference 2013
Design for Reliability - Quality Reliabilty Conference 2013Design for Reliability - Quality Reliabilty Conference 2013
Design for Reliability - Quality Reliabilty Conference 2013
 
Design for reliability in automotive electronics
Design for reliability in automotive electronicsDesign for reliability in automotive electronics
Design for reliability in automotive electronics
 
Design collaboration
Design collaborationDesign collaboration
Design collaboration
 
End of life complete product lifecycle design 2 powerpoint ppt slides.
End of life complete product lifecycle design 2 powerpoint ppt slides.End of life complete product lifecycle design 2 powerpoint ppt slides.
End of life complete product lifecycle design 2 powerpoint ppt slides.
 
Supply Chain Design Fundamentals
Supply Chain Design FundamentalsSupply Chain Design Fundamentals
Supply Chain Design Fundamentals
 
Supply chain design and operation
Supply chain design and operationSupply chain design and operation
Supply chain design and operation
 
Sustainability in Design
Sustainability in DesignSustainability in Design
Sustainability in Design
 
Design for-disassembly
Design for-disassemblyDesign for-disassembly
Design for-disassembly
 
Design for Environment by Waqas Ali Tunio
Design for Environment by Waqas Ali TunioDesign for Environment by Waqas Ali Tunio
Design for Environment by Waqas Ali Tunio
 
Design for disassembly iraldo
Design for disassembly iraldoDesign for disassembly iraldo
Design for disassembly iraldo
 
Design of supply chain networks
Design of supply chain networksDesign of supply chain networks
Design of supply chain networks
 
DFMA -Design For Manufacturing and Assembly
DFMA -Design For Manufacturing and AssemblyDFMA -Design For Manufacturing and Assembly
DFMA -Design For Manufacturing and Assembly
 
Integrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product LifecycleIntegrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product Lifecycle
 
Design Quality: Learning from the Mistakes of the US Auto Industry
Design Quality: Learning from the Mistakes of the US Auto IndustryDesign Quality: Learning from the Mistakes of the US Auto Industry
Design Quality: Learning from the Mistakes of the US Auto Industry
 
A Reference Model Based Design of Supply Chain Management Capabilities
A Reference Model Based Design of Supply Chain Management CapabilitiesA Reference Model Based Design of Supply Chain Management Capabilities
A Reference Model Based Design of Supply Chain Management Capabilities
 
ASQ RD Webinar: Design for reliability a roadmap for design robustness
ASQ RD Webinar: Design for reliability   a roadmap for design robustnessASQ RD Webinar: Design for reliability   a roadmap for design robustness
ASQ RD Webinar: Design for reliability a roadmap for design robustness
 

Similar to Lifecycle by Design

How to overcome challenges in it system evolution
How to overcome challenges in it system evolutionHow to overcome challenges in it system evolution
How to overcome challenges in it system evolutionGrupa Unity
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtimeDBmaestro - Database DevOps
 
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...Simon Storm
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineDynatrace
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Applitools
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
2.1 Automation Nation: Keeping your Process Builders in Check
2.1 Automation Nation: Keeping your Process Builders in Check2.1 Automation Nation: Keeping your Process Builders in Check
2.1 Automation Nation: Keeping your Process Builders in CheckTargetX
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Emerasoft, solutions to collaborate
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev opsLen Bass
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Dynatrace
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation WorkshopJules Pierre-Louis
 

Similar to Lifecycle by Design (20)

How to overcome challenges in it system evolution
How to overcome challenges in it system evolutionHow to overcome challenges in it system evolution
How to overcome challenges in it system evolution
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
 
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Developer want change Ops want control - devops
Developer want change Ops want control - devopsDeveloper want change Ops want control - devops
Developer want change Ops want control - devops
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
2.1 Automation Nation: Keeping your Process Builders in Check
2.1 Automation Nation: Keeping your Process Builders in Check2.1 Automation Nation: Keeping your Process Builders in Check
2.1 Automation Nation: Keeping your Process Builders in Check
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynote
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 

More from Wolfgang Gottesheim

#devone 2017 - From scheduled builds to commit triggered pipelines
#devone 2017 - From scheduled builds to commit triggered pipelines#devone 2017 - From scheduled builds to commit triggered pipelines
#devone 2017 - From scheduled builds to commit triggered pipelinesWolfgang Gottesheim
 
Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015Wolfgang Gottesheim
 
Performance Metrics for your Delivery Pipeline - WJAX 2014, München
Performance Metrics for your Delivery Pipeline - WJAX 2014, MünchenPerformance Metrics for your Delivery Pipeline - WJAX 2014, München
Performance Metrics for your Delivery Pipeline - WJAX 2014, MünchenWolfgang Gottesheim
 
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014Wolfgang Gottesheim
 
Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014Wolfgang Gottesheim
 
CCD 2013 - Aus der Praxis: Performance-Management für Confluence
CCD 2013 - Aus der Praxis: Performance-Management für ConfluenceCCD 2013 - Aus der Praxis: Performance-Management für Confluence
CCD 2013 - Aus der Praxis: Performance-Management für ConfluenceWolfgang Gottesheim
 

More from Wolfgang Gottesheim (6)

#devone 2017 - From scheduled builds to commit triggered pipelines
#devone 2017 - From scheduled builds to commit triggered pipelines#devone 2017 - From scheduled builds to commit triggered pipelines
#devone 2017 - From scheduled builds to commit triggered pipelines
 
Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015
 
Performance Metrics for your Delivery Pipeline - WJAX 2014, München
Performance Metrics for your Delivery Pipeline - WJAX 2014, MünchenPerformance Metrics for your Delivery Pipeline - WJAX 2014, München
Performance Metrics for your Delivery Pipeline - WJAX 2014, München
 
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014
Performance Metrics for your Delivery Pipeline - JAX London - October 14, 2014
 
Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014Works on my machine, your problem now? - QCon 2014
Works on my machine, your problem now? - QCon 2014
 
CCD 2013 - Aus der Praxis: Performance-Management für Confluence
CCD 2013 - Aus der Praxis: Performance-Management für ConfluenceCCD 2013 - Aus der Praxis: Performance-Management für Confluence
CCD 2013 - Aus der Praxis: Performance-Management für Confluence
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Lifecycle by Design

  • 1. LIFECYCLE BY DESIGN Enabling Collaboration across Development, Test and Production Teams Wolfgang Gottesheim COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE 1
  • 3. Application Lifecycle Management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of application software. It encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, project management, and release management. Source: http://en.wikipedia.org/wiki/Application_lifecycle_management accessed Dec 16, 2013 3
  • 4. The Application Lifecycle Source: http://www.teamquest.com/solutions/itil/application-management/ 4
  • 5. Project deliverables What you set out to build… …and what you get 5
  • 6. What we tried to do… • Update our Customer Self-Service Portal 6
  • 7. Our (Business) Requirements • “Provide a modern user experience” – aka ―Get the Community from Web 1.0 to Web 2.0‖ – New features: AJAXified editors, Popups when someone else is editing the same page, notifications about new comments, auto refresh in the background,… 7
  • 8. What went wrong? Our mistakes: – We left PERFORMANCE out – We thought about new features instead of thinking about the user experience 8
  • 9. 9
  • 10. Design • We wanted to continue using Confluence – 3rd party software  major design decisions made elsewhere – Extended by custom plugins  ensure compatibility • Our mistake: assuming that resource usage will remain stable in the new version 10
  • 11. Build/Integrate/Test • Testing was focused on FUNCTIONALITY – ―Does the site work as expected?‖ – Tests in small-scale staging environment  some findings disregarded because of environmental differences • Our mistake: we didn’t test from the end-user perspective in a realistic environment 11
  • 12. Deploy • Actual rollout was documented and well-tested in staging environment • Also part of deployment phase: User Training – We thought the new features are so obvious that people will find them • Our mistake: we didn’t make sure that features are accessible 12
  • 13. Operate • Mistakes we made earlier added up… – Slow response times – High resource usage (CPU, memory) – Timeouts – Crashes – User complaints • Blame it on IT? 13
  • 14. What problems did we see? 14
  • 16. Compatibility Issues with custom plugins 16
  • 17. Requesting too much data from DB 17
  • 18. Oversized Pages 17! JS Files – 1.7MB in Size Useless Information! Even might be a security risk! 18
  • 19. Caches 62! Resources not cached 49! Resources with short expiration 19
  • 21. 21
  • 22. Optimize • Monitor the impact of new features on server-side performance and end-user experience • Monitor actual usage and consider tradeoff between performance and features • Our success: after rollout, we were able to identify the bottlenecks and make necessary changes 22
  • 23. 23
  • 24. Very ―expensive‖ to work on these issues YES we know this BUT ~ 80% caused by 24 of problems ~20% patterns
  • 25. Lots of Problems that could have been avoided • BUT WHY are we still dragging them along across the lifecycle – up into production? 25
  • 26. Requirements EXCLUDED in Stories / Tasks Performance Scalability Deployability 26 Testability Deployability
  • 27. Test and Ops EXCLUDED from Agile Process Stand-Ups 27 Sharing Tools Feedback
  • 29. Measurement: Define KPIs accepted by all teams Perf Test Code Coverage # of SQL Executions Time for Rollback Response Times MBs / Uses # of Log Lines Time for Deployment 29
  • 30. DevOps Automation in Action Lets look behind the scenes • Most problems can be identified in CI Architectural Data Test Framework Results Build # Test Case Status Build 17 testPurchase OK 12 0 120ms testSearch OK 3 1 68ms testPurchase FAILED 12 5 60ms testSearch OK 3 1 68ms testPurchase OK 75 0 230ms testSearch OK 3 1 68ms Build 18 Build 19 Build 20 30 # SQL # Excep CPU 12 0 120ms Exceptions probably reason 3 1 68ms testSearch identified a regresesion OK We for failed tests Problem fixed but now we have an Problem solved architectural regression Now we have the functional and architectural confidence testPurchase OK
  • 31. Performance Focus in Test Automation Analyzing All Unit / Performance Tests Jump in DB Calls from one Build to the next Analyzing Metrics such as DB Exec Count 31
  • 32. Performance Focus in Test Automation Cross Impact of KPIs 32
  • 33. Performance Focus in Test Automation Embed your Architectural Results in Jenkins 33
  • 34. Performance Focus in Test Automation Compare Build that shows BAD Behavior! With Build that shows GOOD Behavior! Here is the difference! 34
  • 35. Performance Focus in Test Automation CalculateUserStats is the new Plugin that causes problems 35
  • 36. Thank You Participate in Compuware APM Discussion Forums apmcommunity.compuware.com Follow us on Twitter twitter.com/CompuwareAPM Like us on Facebook Read our Blog facebook.com/CompuwareAPM http://apmblog.compuware.com Join our LinkedIn group Watch our Videos & product Demos Compuware APM User Group youtube.com/Compuware www.compuware.com/APM 36 © 2011 Compuware Corporation — All Rights Reserved
  • 37. 37 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE © 2011 Compuware Corporation — All Rights Reserved

Editor's Notes

  1. AbstractHow do companies developing business-critical Java enterprise Web applications increase releases from 40 to 300 per year and still remain confident about a spike of 1,800 percent in traffic during key events such as Super Bowl Sunday or Cyber Monday? It takes a fundamental change in culture. Although DevOps is often seen as a mechanism for taming the chaos, adopting an agile methodology across all teams is only the first step. This session explores best practices for continuous delivery with higher quality for improving collaboration between teams by consolidating tools and for reducing overhead to fix issues. It shows how to build a performance-focused culture with tools such as Hudson, Jenkins, Chef, Puppet, Selenium, and Compuware APM/dynaTrace
  2. We’re all familiar with this or a similar process model – but there are two things wrong with it:While the steps should be integrated and have feedback loops, most of the time we see walls being built between them
  3. We’re all familiar with this or a similar process model – but there are two things wrong with it:While the steps should be integrated and have feedback loops, most of the time we see walls being built between them – different teams work on different aspects, but often the big picture is lostDifferent silos -> different tools - reduces automation and increases management efforts, learning curvesService management aspects are not taken into account by developers (and vice versa)
  4. New features: new rich text editor, notifications for forum replies, new layout
  5. No considerations about response time, web page size, etc.
  6. e.g. Notification mechanism for new forum posts – users want to know when someone replied to their post, but does really have to be within a 10sec timeframe?
  7. Didn’t use a “full” browser  Web2.0 features were left outDidn’T measure the KPIs that were actually interesting – like the number of db calls, number of web requests, the page size, the effect of heavy client-side scripting on our end-user browsers
  8. Performance results from staging are not comparable to our production environment – different hardware, different test data, different indexes in db,…
  9. IT were the ones with the least involvement across the process
  10. Resource Pool ExhaustionMisconfiguration or failed deployment, e.g: default config from devActual resource leak -> can be identified with Unit/Integration Tests
  11. Deployment Issues leading to heavy logging resulting in high I/O and CPUUsing the same deployment tools in Test and Ops can prevent thisAnalyzing Log Output per Component in Dev prevents this problem
  12. Too much data requested from DatabaseDev and Test need to have “production-like” database – Otherwise these problem patterns can only be found in prodEducate Developers on “the power of SQL” – instead of loading everything in memory and performing filters/aggregations/… in the App
  13. Not following WPO (Web Performance Optimization Rules)Non optimized content, e.g: compression, merging, …Educate developers and automate WPO checks
  14. Not leveraging Browser-side CachingMisconfigured CDNs or missing cache settings -> automate cache configuration deploymentEducate developers; Educate testers to do “real life” testing (CDN, …)
  15. Slow or failing 3rd party contentImpacts page load time; Ops is required to monitor 3rd party servicesEducatedevs to optimize loading; Educate test to include 3rd party testing
  16. We all know this statistic in one form or another – so – it is clear that these problems that are handled in War Rooms are VERY EXPENSIVEBUTWhat is interesting is that these problems are typically not detected earlier because the focus of engineering is on building new features instead of focusing on performance and scalable architecture.What’s interesting though is that many of these problems could easily be found earlier on – LETS have a look at these common problems that we constantly run into …
  17. Agile Development (Stories & Tasks) excludesPerformance and Scalability Requirements from TestTestability Requirements from TestDeployment and Stability Requirements from OpsRequirements: are currently mainly brought in by the business side who demand more features. What is missing are the requirements from Test and Ops.
  18. Agile Process excludes Test and OpsNot part of Standups, Reviews, Planning'sNo active sharing of data, requirements, feedbackNo common toolset/platform/metrics that makes sharing easyCollaboration: Test & Ops are not part of the agile process. There is no active involvement in the standups, reviews or planning meetings. The lack of common tools and a different understanding of quality, metrics and requirements also make it hard to share dataSharing ToolsThe different teams currently use their own set of tools that help them in their day-to-day work in their “local” environment.Developers focus on development tools to help them with developing code, debugging and analyzing the basic problems.Testers use their load testing tools and combine them with some system monitoring tools to e.g: capture CPU, Memory, Network UtilizationOps uses their tools to analyze network traffic, host health, log analyzers, …When these teams need to collaborate in order to identify the root cause of a problem they typically speak a different language. Developers are used to debuggers, thread and memory dumps. But what they get is things like “the system is slow with that many Virtual Users on the system where Host CPU starts showing a problem”.When there is a production problem both developers and testers are typically not satisfied with network statistics or operating system event logs that don’t tell them what really went on in the application. Test wont be able to reproduce the problem with that information nor will devs be able to debug through their code based on that informationIn order to make life easier for developers to troubleshoot the issue they would like to install their tools in test and ops – but these tools are typically not fit for high load and production enviornments. Debuggers have too much overhead, they require restarts and changes to the system -> Ops doesn’t like change!!
  19. Automation: C/I currently only executes tests that cover functionality, e.g: unit and maybe integration or some functional tests (Selenium, …). What is missing is the concept of already executing small scale performance and scalability tests that would allow us to automatically detect those problem patterns discussed earlier. With that we could already eliminate the need for MOST War Room situations.
  20. Some examples on KPIsNumber of SQL Statements executed -> tells Ops on what to expect in production-> tells architects on whether to optimize this with a cache or a different DB Access StrategyNumber of Log Lines-> tells Ops how to optimize storage for Logging-> tells architects whether there is LOG SPAM happeningMemory Consumption per User Session-> tells Ops how to scale their production environment-> tells architects whether you are “wasteful” with heap spaceTime for a single DeploymentTime for rollbacks
  21. When we look at the results of your Testing Framework from Build over Build we can easily spot functional regressions. In our example we see that testPurchase fails in Build 18. We notify the developer, problem gets fixed and with Build 19 we are back to functional correctness. Looking behind the scenesThe problem is that Functional Testing only verifies the functionality to the caller of the tested function. Using dynaTrace we are able to analyze the internals of the tested code. We analyze metrics such as Number of Executed SQL Statements, Number of Exceptions thrown, Time spent on CPU, Memory Consumption, Number of Remoting Calls, Transfered Bytes, …In Build 18 we can see a nice correlation of Exceptions to the failed functional test. We can assume that one of these exceptions caused the problem. For a developer it would be very helpful to get exception information which helps to quickly identify the root cause of the problem and solve it faster.In Build 19 the Testing Framework indicates ALL GREEN. When we look behind the scenes we see that we have a big jump in SQL Statements as well as CPU Usage. What just happened? The Developer fixed the functional problem but introduced an architectural regression. This needs to be looked into – otherwise this change will have negative impact on the application once tested under loadIn Build 20 all these problems are fixed. We are still meeting our functional goals and are back to acceptable number of SQL Statements, Exceptions, CPU Usage, …
  22. Web Architectural Metrics# of JS Files, # of CSS, # of redirectsSize of Images