SlideShare a Scribd company logo
1 of 27
Download to read offline
Past Experiences and Future
Challenges using Automatic
Performance Modelling to
Complement Testing
Paul Brebner, CTO
A NICTA/Data61/CSIRO Spin-out Company
16/03/2016 © Performance Assurance Pty Ltd 1
Performance modelling background
• My background is analysis of distributed systems, middleware, GRID,
architecture, performance, benchmarking (e.g. SPECjAppServer),
sensor web performance, etc
• Since 2007 project in NICTA to develop tools to assist mostly
government systems of systems to perform better in advance
• Service Oriented Performance Modelling tool
• Model driven (SOA performance meta model)
• GUI
• Simulation for metric prediction
• Enables modelling at level of workloads, composite and simple services,
servers.
• Used during early, middle, later lifecycle for lots of real systems
16/03/2016 Performance Assurance Pty Ltd 2
Performance modelling background
• BUT Manual model building (structure, parameterisation, calibration) is
• Time consuming
• Expensive
• Error prone
• Limited to model complexity that can be built manually
• Not easily repeatable or maintainable
• Not accurate enough for some problems (need high quality and quantity of
performance data)
• Not fast enough for agile development
• Last 3 years we have been a start up company, have to make $$$$$$
• Most customers have APM products
• All customers want to increase speed and number of releases, reduce time and
costs of testing
• Solution is to use automatic model building from APM data
• Cheaper and faster and more accurate
• Solves new problems, e.g. DevOps
16/03/2016 Performance Assurance Pty Ltd 3
Automatic performance modelling from APM
data
• Only use available APM data
• Use automatable (or potentially automatable) ways of getting the
data from the APM into our Service Oriented Performance Modelling
(SOPM) modelling/simulation tool (SaaS)
• Automatically build and parameterise the performance data from the
APM data
• Multiple model types with various trade-offs, accuracy for
capacity/response times, and model complexity/ability to change
model aspects
• Currently different model types are produced as part of the APM ->
modelling tool transformation phase
16/03/2016 Performance Assurance Pty Ltd 4
Application
DynatraceSF
Dynatrace
SF
PurePath
Dash
Browser
PP
XML Converter
Model
XML
Modelling
SaaS
1
2
3
4
5
SF Dynatrace Session File
PP
XML
Dynatrace Server REST API PurePath XML File
Model
XML XML Model File
KEY
Dynatrace Transaction flow dashboard
16/03/2016 Performance Assurance Pty Ltd 6
Produces: Simple capacity model
16/03/2016 Performance Assurance Pty Ltd 7
Dynatrace PurePath Dashboard (detailed per
transaction call tree)
16/03/2016 Performance Assurance Pty Ltd 8
Produces: Transactional model (portion)
16/03/2016 Performance Assurance Pty Ltd 9
Experiences with three projects
• Project 1
• P2V migration
• Project 2
• C2V test -> prod
• Project 3
• DevOps
• Focus of this talk, come to main ICPE talk for others 
16/03/2016 Performance Assurance Pty Ltd 10
Project 3
• Devops
• Focus on response time SLAs
• Deployment/resources
• Faster cycle time
• More releases
• Less and cheaper testing
• Challenge
• Proprietary in-house APM tool
• “Profile point” times only
• Required pre-processing (using Hive)
16/03/2016 Performance Assurance Pty Ltd 11
Focus
• Risk service
• Heavily used
• Multiple services
• New services added all the time
• Services had different time and memory profiles
• Would a new service break the SLA?
• Baseline model accurate to 10% response time
16/03/2016 Performance Assurance Pty Ltd 12
Alternatives modelled
• Changing transaction mix
• Changing arrival rates
• Making some services asynchronous, concurrent
• Adding new risk assessment services
• More complex
• Optimising deployment of services to multiple servers taking into account
memory and CPU usage, and response time
• A type of box/bin packing problem
• 4 services out of 30 used 50% of CPU
16/03/2016 Performance Assurance Pty Ltd 13
Challenges
• Pre-processing APM data “profile points”
• Low load for APM data sample c.f. target load
• Used calibration from load tests on pre-production to improve accuracy
• No CPU time breakdown from APM data
• But GC had a profile point (and was significant)
• Transaction types not in APM data
• Had to infer them, either too few or too many
16/03/2016 Performance Assurance Pty Ltd 14
16/03/2016 Performance Assurance Pty Ltd 15
16/03/2016 Performance Assurance Pty Ltd 16
16/03/2016 Performance Assurance Pty Ltd 17
DevOps
• Goal is to shift left and shift right
• Shift right
• Build and continuously maintain performance model of production to accurately model
response times, scalability, capacity and resource requirements under target production
loads
• Shift left
• Calibrate production performance model for development
• Enable developers to make code changes, explore impact with unit tests and
development APM to incrementally rebuild performance models
• To understand likely performance and scalability impact
• Speed up development cycle as no longer have to wait (weeks) for performance testing
16/03/2016 Performance Assurance Pty Ltd 18
Existing Dev, Test, Prod lifecycle: Delays in
feedback: Takes weeks per iteration, test env is a
bottleneck, environments are different
Dev Test Prod
Late Feedback Late Feedback
Deploy to test Deploy to prod
DevOps + APM: earlier but not completely
accurate performance feedback
i.e. environments are different so APM data is
different across lifecycle
Dev Test Prod
Late Feedback
Deploy to test Deploy to prod
APM APM APM
Earlier Feedback
DevOps + APM + Modelling: Earlier more accurate
performance predictions -> decreased cycle time
16/03/2016 Performance Assurance Pty Ltd 21
Dev Test Prod
Deploy to test Deploy to prod
APM APM APM
Early Feedback
Base
Model
Dev
Model
Incremental updates to
Base model with dev changes
Baseline model buildDev Model Update
Calibrate prod model for dev
Benefits
• Changes in code in Dev
• Unit test
• APM performance data
• Incrementally update calibrated performance model
• Predict performance and scalability impact for Prod env
• Cheaper and faster than waiting for testing and deployment to Prod
• Sensitivity analysis could determine areas of greater sensitivity to
changes and thresholds
• These would be subject to more rigorous modelling and testing
16/03/2016 Performance Assurance Pty Ltd 22
DevOps + APM + Modelling: In reality lots of
dev, different environments
16/03/2016 Performance Assurance Pty Ltd 23
Dev Test
Prod
Deploy to prod
APM APM APM
Base
Model
Dev
Model
Baseline model build
Dev
APM
Dev
Model
Dev
APM
Dev
Model
Dev
APM
Dev
Model
Challenges
• Calibration of performance models for use in Dev from Test and Prod
• Once predictions are made how do we test if they are supported by the APM
data or not? i.e. if null hypothesis is “changes in dev will have no impact on
prod”, how do we determine if this is supported by evidence or not?
• Is it scalable?
• Lots of developers and changes to subsets of code
• Concurrent and compounding changes would need centralised model with all changes incorporated
• What about changes to infrastructure code that could impact everything?
• How to support this in Dev APM and modelling tools
• ROI
• Depending on cost of testing, cost of initial setting up APM and modelling tools and
incremental costs, number of tests and modelling predictions per cycle, and value of reduced
cycle times and earlier performance predictions, ROI may occur earlier or later or never…
• Example
• Assumes model calibrated once per release from performance APM data
• Assumes one actual load test per release
• What’s tradeoff between multiple tests per release vs 1 test and multiple modelling predictions?
16/03/2016 Performance Assurance Pty Ltd 24
Costs: Modelling cheaper after 3 changes
16/03/2016 Performance Assurance Pty Ltd 25
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
0 2 4 6 8 10 12
Cost($)
Number of changes tested/modelled
Costs of LoadTest only and HybridApproach
LoadTestOnly Modelling
Speed: Average hours to test/model a number of
code changes (per model calibration)
16/03/2016 Performance Assurance Pty Ltd 26
0
10
20
30
40
50
60
70
80
90
0 2 4 6 8 10 12
Averagetime(hours)
Number of changes per calibrated model
Average hours to test/model changes
LoadTestAvgHourPerChange ModellingAvgHoursPerChange
Send us your data
• Free trial of simple Dynatrace capacity models
• http://www.performance-assurance.com.au/send-us-your-data/
• http://www.performance-assurance.com.au/introduction-to-
automatic-model-building/
• Send us a sample Dyntrace session file and we’ll send you a link to a
demo capacity model
• Particularly interested in trending technologies and use cases, e.g.
Micro-services, Containers, Big Data, IoT, etc
• Free Personal Dynatrace license from: http://bit.ly/dtpersonal
16/03/2016 Performance Assurance Pty Ltd 29

More Related Content

What's hot

Anupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1SepAnupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1Sep
anupam chaubey
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
Michael Cowan
 
Rit 8.5.0 training release notes
Rit 8.5.0 training release notesRit 8.5.0 training release notes
Rit 8.5.0 training release notes
Darrel Rader
 
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_ExpGanesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
Ganesamoorthi Pandi
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
vladimir zaremba
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
Atul Pant
 

What's hot (20)

Anupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1SepAnupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1Sep
 
Express bpel platform-v1.0
Express bpel platform-v1.0Express bpel platform-v1.0
Express bpel platform-v1.0
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Rit 8.5.0 training release notes
Rit 8.5.0 training release notesRit 8.5.0 training release notes
Rit 8.5.0 training release notes
 
LoadRunner walkthrough
LoadRunner walkthroughLoadRunner walkthrough
LoadRunner walkthrough
 
Web Performance Testing
Web Performance TestingWeb Performance Testing
Web Performance Testing
 
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_ExpGanesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
Ganesamoorthi P_Performance_Testing_Loadrunner_2.9_yrs_of_Exp
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
 
Conway Case Study - Optimizing Application Integration SDLC
Conway Case Study -  Optimizing Application Integration SDLCConway Case Study -  Optimizing Application Integration SDLC
Conway Case Study - Optimizing Application Integration SDLC
 
Testing SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HPTesting SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HP
 
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
 
Cloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunnerCloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunner
 
IBM Maximo Performance Tuning
IBM Maximo Performance TuningIBM Maximo Performance Tuning
IBM Maximo Performance Tuning
 
Performance Testing With Loadrunner
Performance Testing With LoadrunnerPerformance Testing With Loadrunner
Performance Testing With Loadrunner
 
Diab Compiler Quality Overview
Diab Compiler Quality OverviewDiab Compiler Quality Overview
Diab Compiler Quality Overview
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 
Sap tao 2.0 Material
Sap tao 2.0 MaterialSap tao 2.0 Material
Sap tao 2.0 Material
 

Viewers also liked

LF_XtremeLA_Blacksburg_Report
LF_XtremeLA_Blacksburg_ReportLF_XtremeLA_Blacksburg_Report
LF_XtremeLA_Blacksburg_Report
Jeffrey Mis
 
Compuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
Compuware ASEAN APM User Conference 2013 - APM Performance Journey PresentationCompuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
Compuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
Compuware ASEAN
 

Viewers also liked (20)

Comparing linking versus integration in hybrid modelling – combining TIMES wi...
Comparing linking versus integration in hybrid modelling – combining TIMES wi...Comparing linking versus integration in hybrid modelling – combining TIMES wi...
Comparing linking versus integration in hybrid modelling – combining TIMES wi...
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 
Introduction to programming - class 11
Introduction to programming - class 11Introduction to programming - class 11
Introduction to programming - class 11
 
LF_XtremeLA_Blacksburg_Report
LF_XtremeLA_Blacksburg_ReportLF_XtremeLA_Blacksburg_Report
LF_XtremeLA_Blacksburg_Report
 
Linked Ph
Linked PhLinked Ph
Linked Ph
 
Pildimäng
PildimängPildimäng
Pildimäng
 
Tabella
TabellaTabella
Tabella
 
test ddds
test dddstest ddds
test ddds
 
Map of the New Museum
Map of the New MuseumMap of the New Museum
Map of the New Museum
 
Introduction to programming - exercises 2
Introduction to programming - exercises 2Introduction to programming - exercises 2
Introduction to programming - exercises 2
 
paradeigma
paradeigmaparadeigma
paradeigma
 
Etihad Buy On Board Menu
Etihad Buy On Board MenuEtihad Buy On Board Menu
Etihad Buy On Board Menu
 
Introduction to programming - class 1
Introduction to programming - class 1Introduction to programming - class 1
Introduction to programming - class 1
 
Compuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
Compuware ASEAN APM User Conference 2013 - APM Performance Journey PresentationCompuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
Compuware ASEAN APM User Conference 2013 - APM Performance Journey Presentation
 
Modern Monitoring - devopsdays Cuba
Modern Monitoring - devopsdays CubaModern Monitoring - devopsdays Cuba
Modern Monitoring - devopsdays Cuba
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
 
Multiplication of Integers
Multiplication of IntegersMultiplication of Integers
Multiplication of Integers
 
modeling and analysis of subsea pipeline by fem
modeling and analysis of subsea pipeline by femmodeling and analysis of subsea pipeline by fem
modeling and analysis of subsea pipeline by fem
 
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracingTracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
 

Similar to Past Experiences and Future Challenges using Automatic Performance Modelling to Complement Testing

CTE_corporate_overview
CTE_corporate_overviewCTE_corporate_overview
CTE_corporate_overview
Aniket Biswas
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
Rosalind Radcliffe
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software Ireland
 
Prem_Papabathini_Resume_2016
Prem_Papabathini_Resume_2016Prem_Papabathini_Resume_2016
Prem_Papabathini_Resume_2016
Prem Papabathini
 

Similar to Past Experiences and Future Challenges using Automatic Performance Modelling to Complement Testing (20)

Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
CTE Overview Presentation
CTE Overview PresentationCTE Overview Presentation
CTE Overview Presentation
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
Presentation on 3 Pillars of DevOps - Kovair DevOps
Presentation on 3 Pillars of DevOps - Kovair DevOpsPresentation on 3 Pillars of DevOps - Kovair DevOps
Presentation on 3 Pillars of DevOps - Kovair DevOps
 
Reinventing Performance Testing, CMG imPACt 2016 slides
  Reinventing Performance Testing, CMG imPACt 2016 slides  Reinventing Performance Testing, CMG imPACt 2016 slides
Reinventing Performance Testing, CMG imPACt 2016 slides
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Everything You Need to Build a Risk-Based Testing Strategy for SAP
Everything You Need to Build a Risk-Based Testing Strategy for SAPEverything You Need to Build a Risk-Based Testing Strategy for SAP
Everything You Need to Build a Risk-Based Testing Strategy for SAP
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 
CTE_corporate_overview
CTE_corporate_overviewCTE_corporate_overview
CTE_corporate_overview
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Expert sizing & methods of sizing validation
Expert sizing & methods of sizing validationExpert sizing & methods of sizing validation
Expert sizing & methods of sizing validation
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 
Migration to the cloud
Migration to the cloudMigration to the cloud
Migration to the cloud
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
 
Capstone Technology Canada - Advanced Process Control Project Lifecycle
Capstone Technology Canada - Advanced Process Control Project LifecycleCapstone Technology Canada - Advanced Process Control Project Lifecycle
Capstone Technology Canada - Advanced Process Control Project Lifecycle
 
Prem_Papabathini_Resume_2016
Prem_Papabathini_Resume_2016Prem_Papabathini_Resume_2016
Prem_Papabathini_Resume_2016
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 

More from Paul Brebner

Scaling Open Source Big Data Cloud Applications is Easy/Hard
Scaling Open Source Big Data Cloud Applications is Easy/HardScaling Open Source Big Data Cloud Applications is Easy/Hard
Scaling Open Source Big Data Cloud Applications is Easy/Hard
Paul Brebner
 
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/HardOPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
Paul Brebner
 
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
Paul Brebner
 
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Paul Brebner
 
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetes at Scale – Real-time Ano...
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetesat Scale – Real-time Ano...ApacheCon2019 Talk: Kafka, Cassandra and Kubernetesat Scale – Real-time Ano...
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetes at Scale – Real-time Ano...
Paul Brebner
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
Paul Brebner
 

More from Paul Brebner (20)

The Impact of Hardware and Software Version Changes on Apache Kafka Performan...
The Impact of Hardware and Software Version Changes on Apache Kafka Performan...The Impact of Hardware and Software Version Changes on Apache Kafka Performan...
The Impact of Hardware and Software Version Changes on Apache Kafka Performan...
 
Apache ZooKeeper and Apache Curator: Meet the Dining Philosophers
Apache ZooKeeper and Apache Curator: Meet the Dining PhilosophersApache ZooKeeper and Apache Curator: Meet the Dining Philosophers
Apache ZooKeeper and Apache Curator: Meet the Dining Philosophers
 
Spinning your Drones with Cadence Workflows and Apache Kafka
Spinning your Drones with Cadence Workflows and Apache KafkaSpinning your Drones with Cadence Workflows and Apache Kafka
Spinning your Drones with Cadence Workflows and Apache Kafka
 
Change Data Capture (CDC) With Kafka Connect® and the Debezium PostgreSQL Sou...
Change Data Capture (CDC) With Kafka Connect® and the Debezium PostgreSQL Sou...Change Data Capture (CDC) With Kafka Connect® and the Debezium PostgreSQL Sou...
Change Data Capture (CDC) With Kafka Connect® and the Debezium PostgreSQL Sou...
 
Scaling Open Source Big Data Cloud Applications is Easy/Hard
Scaling Open Source Big Data Cloud Applications is Easy/HardScaling Open Source Big Data Cloud Applications is Easy/Hard
Scaling Open Source Big Data Cloud Applications is Easy/Hard
 
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/HardOPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
OPEN Talk: Scaling Open Source Big Data Cloud Applications is Easy/Hard
 
A Visual Introduction to Apache Kafka
A Visual Introduction to Apache KafkaA Visual Introduction to Apache Kafka
A Visual Introduction to Apache Kafka
 
Massively Scalable Real-time Geospatial Anomaly Detection with Apache Kafka a...
Massively Scalable Real-time Geospatial Anomaly Detection with Apache Kafka a...Massively Scalable Real-time Geospatial Anomaly Detection with Apache Kafka a...
Massively Scalable Real-time Geospatial Anomaly Detection with Apache Kafka a...
 
Building a real-time data processing pipeline using Apache Kafka, Kafka Conne...
Building a real-time data processing pipeline using Apache Kafka, Kafka Conne...Building a real-time data processing pipeline using Apache Kafka, Kafka Conne...
Building a real-time data processing pipeline using Apache Kafka, Kafka Conne...
 
Grid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialGrid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and Potential
 
Grid middleware is easy to install, configure, secure, debug and manage acros...
Grid middleware is easy to install, configure, secure, debug and manage acros...Grid middleware is easy to install, configure, secure, debug and manage acros...
Grid middleware is easy to install, configure, secure, debug and manage acros...
 
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
 
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
 
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
Melbourne Big Data Meetup Talk: Scaling a Real-Time Anomaly Detection Applica...
 
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
Massively Scalable Real-time Geospatial Data Processing with Apache Kafka and...
 
0b101000 years of computing: a personal timeline - decade "0", the 1980's
0b101000 years of computing: a personal timeline - decade "0", the 1980's0b101000 years of computing: a personal timeline - decade "0", the 1980's
0b101000 years of computing: a personal timeline - decade "0", the 1980's
 
ApacheCon Berlin 2019: Kongo:Building a Scalable Streaming IoT Application us...
ApacheCon Berlin 2019: Kongo:Building a Scalable Streaming IoT Application us...ApacheCon Berlin 2019: Kongo:Building a Scalable Streaming IoT Application us...
ApacheCon Berlin 2019: Kongo:Building a Scalable Streaming IoT Application us...
 
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetes at Scale – Real-time Ano...
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetesat Scale – Real-time Ano...ApacheCon2019 Talk: Kafka, Cassandra and Kubernetesat Scale – Real-time Ano...
ApacheCon2019 Talk: Kafka, Cassandra and Kubernetes at Scale – Real-time Ano...
 
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
ApacheCon2019 Talk: Improving the Observability of Cassandra, Kafka and Kuber...
 
How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...How to Improve the Observability of Apache Cassandra and Kafka applications...
How to Improve the Observability of Apache Cassandra and Kafka applications...
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Past Experiences and Future Challenges using Automatic Performance Modelling to Complement Testing

  • 1. Past Experiences and Future Challenges using Automatic Performance Modelling to Complement Testing Paul Brebner, CTO A NICTA/Data61/CSIRO Spin-out Company 16/03/2016 © Performance Assurance Pty Ltd 1
  • 2. Performance modelling background • My background is analysis of distributed systems, middleware, GRID, architecture, performance, benchmarking (e.g. SPECjAppServer), sensor web performance, etc • Since 2007 project in NICTA to develop tools to assist mostly government systems of systems to perform better in advance • Service Oriented Performance Modelling tool • Model driven (SOA performance meta model) • GUI • Simulation for metric prediction • Enables modelling at level of workloads, composite and simple services, servers. • Used during early, middle, later lifecycle for lots of real systems 16/03/2016 Performance Assurance Pty Ltd 2
  • 3. Performance modelling background • BUT Manual model building (structure, parameterisation, calibration) is • Time consuming • Expensive • Error prone • Limited to model complexity that can be built manually • Not easily repeatable or maintainable • Not accurate enough for some problems (need high quality and quantity of performance data) • Not fast enough for agile development • Last 3 years we have been a start up company, have to make $$$$$$ • Most customers have APM products • All customers want to increase speed and number of releases, reduce time and costs of testing • Solution is to use automatic model building from APM data • Cheaper and faster and more accurate • Solves new problems, e.g. DevOps 16/03/2016 Performance Assurance Pty Ltd 3
  • 4. Automatic performance modelling from APM data • Only use available APM data • Use automatable (or potentially automatable) ways of getting the data from the APM into our Service Oriented Performance Modelling (SOPM) modelling/simulation tool (SaaS) • Automatically build and parameterise the performance data from the APM data • Multiple model types with various trade-offs, accuracy for capacity/response times, and model complexity/ability to change model aspects • Currently different model types are produced as part of the APM -> modelling tool transformation phase 16/03/2016 Performance Assurance Pty Ltd 4
  • 5. Application DynatraceSF Dynatrace SF PurePath Dash Browser PP XML Converter Model XML Modelling SaaS 1 2 3 4 5 SF Dynatrace Session File PP XML Dynatrace Server REST API PurePath XML File Model XML XML Model File KEY
  • 6. Dynatrace Transaction flow dashboard 16/03/2016 Performance Assurance Pty Ltd 6
  • 7. Produces: Simple capacity model 16/03/2016 Performance Assurance Pty Ltd 7
  • 8. Dynatrace PurePath Dashboard (detailed per transaction call tree) 16/03/2016 Performance Assurance Pty Ltd 8
  • 9. Produces: Transactional model (portion) 16/03/2016 Performance Assurance Pty Ltd 9
  • 10. Experiences with three projects • Project 1 • P2V migration • Project 2 • C2V test -> prod • Project 3 • DevOps • Focus of this talk, come to main ICPE talk for others  16/03/2016 Performance Assurance Pty Ltd 10
  • 11. Project 3 • Devops • Focus on response time SLAs • Deployment/resources • Faster cycle time • More releases • Less and cheaper testing • Challenge • Proprietary in-house APM tool • “Profile point” times only • Required pre-processing (using Hive) 16/03/2016 Performance Assurance Pty Ltd 11
  • 12. Focus • Risk service • Heavily used • Multiple services • New services added all the time • Services had different time and memory profiles • Would a new service break the SLA? • Baseline model accurate to 10% response time 16/03/2016 Performance Assurance Pty Ltd 12
  • 13. Alternatives modelled • Changing transaction mix • Changing arrival rates • Making some services asynchronous, concurrent • Adding new risk assessment services • More complex • Optimising deployment of services to multiple servers taking into account memory and CPU usage, and response time • A type of box/bin packing problem • 4 services out of 30 used 50% of CPU 16/03/2016 Performance Assurance Pty Ltd 13
  • 14. Challenges • Pre-processing APM data “profile points” • Low load for APM data sample c.f. target load • Used calibration from load tests on pre-production to improve accuracy • No CPU time breakdown from APM data • But GC had a profile point (and was significant) • Transaction types not in APM data • Had to infer them, either too few or too many 16/03/2016 Performance Assurance Pty Ltd 14
  • 18. DevOps • Goal is to shift left and shift right • Shift right • Build and continuously maintain performance model of production to accurately model response times, scalability, capacity and resource requirements under target production loads • Shift left • Calibrate production performance model for development • Enable developers to make code changes, explore impact with unit tests and development APM to incrementally rebuild performance models • To understand likely performance and scalability impact • Speed up development cycle as no longer have to wait (weeks) for performance testing 16/03/2016 Performance Assurance Pty Ltd 18
  • 19. Existing Dev, Test, Prod lifecycle: Delays in feedback: Takes weeks per iteration, test env is a bottleneck, environments are different Dev Test Prod Late Feedback Late Feedback Deploy to test Deploy to prod
  • 20. DevOps + APM: earlier but not completely accurate performance feedback i.e. environments are different so APM data is different across lifecycle Dev Test Prod Late Feedback Deploy to test Deploy to prod APM APM APM Earlier Feedback
  • 21. DevOps + APM + Modelling: Earlier more accurate performance predictions -> decreased cycle time 16/03/2016 Performance Assurance Pty Ltd 21 Dev Test Prod Deploy to test Deploy to prod APM APM APM Early Feedback Base Model Dev Model Incremental updates to Base model with dev changes Baseline model buildDev Model Update Calibrate prod model for dev
  • 22. Benefits • Changes in code in Dev • Unit test • APM performance data • Incrementally update calibrated performance model • Predict performance and scalability impact for Prod env • Cheaper and faster than waiting for testing and deployment to Prod • Sensitivity analysis could determine areas of greater sensitivity to changes and thresholds • These would be subject to more rigorous modelling and testing 16/03/2016 Performance Assurance Pty Ltd 22
  • 23. DevOps + APM + Modelling: In reality lots of dev, different environments 16/03/2016 Performance Assurance Pty Ltd 23 Dev Test Prod Deploy to prod APM APM APM Base Model Dev Model Baseline model build Dev APM Dev Model Dev APM Dev Model Dev APM Dev Model
  • 24. Challenges • Calibration of performance models for use in Dev from Test and Prod • Once predictions are made how do we test if they are supported by the APM data or not? i.e. if null hypothesis is “changes in dev will have no impact on prod”, how do we determine if this is supported by evidence or not? • Is it scalable? • Lots of developers and changes to subsets of code • Concurrent and compounding changes would need centralised model with all changes incorporated • What about changes to infrastructure code that could impact everything? • How to support this in Dev APM and modelling tools • ROI • Depending on cost of testing, cost of initial setting up APM and modelling tools and incremental costs, number of tests and modelling predictions per cycle, and value of reduced cycle times and earlier performance predictions, ROI may occur earlier or later or never… • Example • Assumes model calibrated once per release from performance APM data • Assumes one actual load test per release • What’s tradeoff between multiple tests per release vs 1 test and multiple modelling predictions? 16/03/2016 Performance Assurance Pty Ltd 24
  • 25. Costs: Modelling cheaper after 3 changes 16/03/2016 Performance Assurance Pty Ltd 25 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 0 2 4 6 8 10 12 Cost($) Number of changes tested/modelled Costs of LoadTest only and HybridApproach LoadTestOnly Modelling
  • 26. Speed: Average hours to test/model a number of code changes (per model calibration) 16/03/2016 Performance Assurance Pty Ltd 26 0 10 20 30 40 50 60 70 80 90 0 2 4 6 8 10 12 Averagetime(hours) Number of changes per calibrated model Average hours to test/model changes LoadTestAvgHourPerChange ModellingAvgHoursPerChange
  • 27. Send us your data • Free trial of simple Dynatrace capacity models • http://www.performance-assurance.com.au/send-us-your-data/ • http://www.performance-assurance.com.au/introduction-to- automatic-model-building/ • Send us a sample Dyntrace session file and we’ll send you a link to a demo capacity model • Particularly interested in trending technologies and use cases, e.g. Micro-services, Containers, Big Data, IoT, etc • Free Personal Dynatrace license from: http://bit.ly/dtpersonal 16/03/2016 Performance Assurance Pty Ltd 29