SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Agile Performance Engineering with Cloud
By Ken Y. Chan

Timeleap Inc.

Dec 28, 2016
1
Outline

1. Importance of Performance Engineering

2. Background in Performance Engineering

3. Traditional Server Farms versus Clouds

4. Resources and Skill Sets

5. Approach and Process

6. Guidelines

7. Conclusion
2
Importance of Performance Engineering
1. Maintain Business SLO’s and SLA’s with your partners, clients, end users,
and consumers; keep them happy!
2. Happy partners, clients, consumers, or users lead to better retention (avoid
revenue loss), and indirectly more business and revenue
3. Poor performance is a sign of system degradation and future service
outages
4. Performance problems need more time to solve than functional problems
3
Background in Performance Engineering - 1
Background
Part of ITIL
Extensive Academic Research and History (e.g. CMU,
MIT, etc)
Encompasses the set of roles, skills, activities,
practices, tools, and deliverables applied at every
phase of the SDLC
A system is designed, implemented, and operationally
supported to meet the non-functional
requirements for performance
Model, Simulation, Performance Test, Design,
Implementation, and Tuning
Common Performance Metrics
Availability
Response time
Processing speed
Capacity and Utilization
Latency
Bandwidth
Throughput
Scalability
4
Background of
Performance
Engineering - 2
Why is it so hard?
Deep technical skills in Mathematics
and computing science or engineering
Based on Queuing Theory and
Statistics
A hard topic and often being neglected
Think of a computing system as a car or as a building
1. Poorly tuned components would shift bottlenecks to other
components (analogous to city traffic)
a. May temporarily hide the real problem(s)
b. May lead to eventual system breakdown
2. Alternatively, simply increase the entire system footprint
a. However, random tuning adds unnecessary footprints
(costs $$$$ and reduces maintainability)
b. May temporarily hide the real problem(s)
c. Harder to tune with larger footprint at a later time
d. Costs more $$$, time, and effort down the road
e. No different from a major car or building overhaul
3. The correct approach is to engineer for performance in piece-
meals (iterations) 5
Traditional Server Farms versus Clouds
On-Premise, Co-located, or Hosted
Some networking gears may be shared
A customer has a lot of controls on the physical
computing resources
Performance model is based on queuing in networking
nodes, computing nodes, and data nodes
Different types of queuing for different nodes
Performance is more deterministic with traditional data
centres than with clouds
Public, Private, or Hybrid Clouds
Networking gears are typically multi-tenant
Physical computing resources are shared, except in
some cases for private clouds
Performance model is based on queuing in network
nodes, computing nodes, and data nodes
Develop a logical performance model by aggregating
multi-tenant nodes into one node
Less deterministic because of other tenants
Need more model refactoring to mitigate risks with
multiple tenants (TBD in my next presentation) 6
Resources and Skill Sets
Required Resources
Performance Modelling Tools
Performance Simulation Tools
Performance Test Tools
Performance Profilers or Monitoring Tools
Required Skill Sets
Queuing Theory and System Performance
Engineering
Theory of Probability and Statistics
Theory of Computational Complexity
System Architecture and Design Patterns
Cloud and Network Architecture
Database
Bonus: AI, Big Data (TBD in my next presentation)
7
Agile Performance Engineering
Approach with Cloud
1.Set Initial Performance Objectives for Sprint 1.
2.Develop Performance Models and Test Cases. Abstract Multi-tenant nodes as
one node
3.Tune the system configuration based on simulations and metrics
4.Measure Performance Metrics via Performance Monitors
5.Compare actual metrics against performance objectives
6.Revise Performance Objectives for Sprint 2+. Actual metrics and objectives
should converge after every sprint 8
Agile
Performance
Engineering
Process
9
Develop Performance Model
1. There are a number of Performance Modelling or Simulation Tools: a) SciPy -
Python DES, b) R DES, c) Matlab SimEvents, d) JMT, e) Octave, f) and etc.
2. In general, a system consists of multiple stations or nodes (e.g. M/G/k)
3. Each node belongs to a class/type with attributes (e.g. FIFO, LIFO, etc)
4. A class may have attributes: a) arrival distribution, b) processing distribution, c) # of
channels, d) size of queue, e) max number of customers
5. May use regression analysis to select the best distributions for your classes
6. Abstract multi-tenant cloud nodes into a single node (TBD in my next presentation) 10
Simulation versus Solver
1. A Simulation (e.g. M/G/k) generates random discrete events based on
assigned distributions, and feeds them as inputs into simulated stations
2. Executing a simulation model typically yields these results at each node: a)
queue length, b) queue time, c) response time, d) utilization, e) throughput
3. A Solver (e.g. M/G/k) uses linear or nonlinear equation solving algorithms, or
MVA to solve the model as multivariate equations (e.g. response time,
utilization, and etc)
4. The simulation results and the performance parameters become inputs to the
performance test cases.
11
No such thing as 

“100% Perfect”

but

Only 100% Science and 0% Art
Performance Engineering should be agile and iterative. Unrealistic Performance
Objectives/Criteria will result in an infinite loop which leads to nowhere!
12
As performance parameters
converge and criteria are met,
your system should be “close to
optimally” tuned
Both Performance Simulation/
Solver and Performance Test
cases are essential tools for
Performance Engineering
13
“The key to performance is elegance, not battalions of special cases”
- Jon Bentley and Douglas McIlroy (famous American computing scientists)
14
Performance Engineering is repetitive
and takes time. So starts early!

Realistic objectives and reasonable
parameter selection often identify
hotspots and lead to fast convergent
15
Thanks!
Contact us:
Ken Chan
Timeleap Inc.
Toronto, Ontario, Canada
ken@timeleap.com
http://www.timeleap.com
16

Contenu connexe

Tendances

Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1Trevor Warren
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringBradley Irby
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end toolMark Arangcon
 
962 sech04
962 sech04962 sech04
962 sech04aldwal
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingGrid Dynamics
 
Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsCAST
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingSelin Gungor
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksScott Barber
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmssmarar
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best PracticesApica
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportCAST
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsCAST
 
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)...Paul Brebner
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 

Tendances (20)

Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Why vb is known as front end tool
Why vb is known as front end toolWhy vb is known as front end tool
Why vb is known as front end tool
 
962 sech04
962 sech04962 sech04
962 sech04
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systems
 
Simply zdlc
Simply zdlcSimply zdlc
Simply zdlc
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Pinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance BottlenecksPinpointing and Exploiting Specific Performance Bottlenecks
Pinpointing and Exploiting Specific Performance Bottlenecks
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
 
Sdpl1
Sdpl1Sdpl1
Sdpl1
 
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)...
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 

En vedette

Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringConvetit
 
Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...Nicholas Muldoon
 
High Performance HTML5 (SF HTML5 UG)
High Performance HTML5 (SF HTML5 UG)High Performance HTML5 (SF HTML5 UG)
High Performance HTML5 (SF HTML5 UG)Steve Souders
 
Georgia Tech: Performance Engineering - Queuing Theory and Predictive Modeling
Georgia Tech: Performance Engineering - Queuing Theory and Predictive ModelingGeorgia Tech: Performance Engineering - Queuing Theory and Predictive Modeling
Georgia Tech: Performance Engineering - Queuing Theory and Predictive ModelingBrian Wilson
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamSalesforce Developers
 
Business Aspects of High Performance Websites
Business Aspects of High Performance WebsitesBusiness Aspects of High Performance Websites
Business Aspects of High Performance Websitesmalteubl
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringCorrelsense
 
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)Tammy Everts
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

En vedette (11)

Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...Building High Performance Engineering Teams - Focus on People - Scrum Austral...
Building High Performance Engineering Teams - Focus on People - Scrum Austral...
 
High Performance HTML5 (SF HTML5 UG)
High Performance HTML5 (SF HTML5 UG)High Performance HTML5 (SF HTML5 UG)
High Performance HTML5 (SF HTML5 UG)
 
Georgia Tech: Performance Engineering - Queuing Theory and Predictive Modeling
Georgia Tech: Performance Engineering - Queuing Theory and Predictive ModelingGeorgia Tech: Performance Engineering - Queuing Theory and Predictive Modeling
Georgia Tech: Performance Engineering - Queuing Theory and Predictive Modeling
 
Software Performance Engineering Services
Software Performance Engineering ServicesSoftware Performance Engineering Services
Software Performance Engineering Services
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering Team
 
Business Aspects of High Performance Websites
Business Aspects of High Performance WebsitesBusiness Aspects of High Performance Websites
Business Aspects of High Performance Websites
 
Performance Engineering Basics
Performance Engineering BasicsPerformance Engineering Basics
Performance Engineering Basics
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
How Slow Load Times Hurt Your Bottom Line (And 17 Things You Can Do to Fix It)
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similaire à Agile performance engineering with cloud 2016

Victor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkVictor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkCBOD ANR project U-PSUD
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingSteve Feldman
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)Steve Feldman
 
Top Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comTop Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comPawan Sharma
 
Network Design and Management
Network Design and ManagementNetwork Design and Management
Network Design and Managementtlerell
 
Presentation
PresentationPresentation
Presentationbutest
 
IoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudIoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudValue Amplify Consulting
 
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5Robert Grossman
 
IRJET- Improving Data Availability by using VPC Strategy in Cloud Environ...
IRJET-  	  Improving Data Availability by using VPC Strategy in Cloud Environ...IRJET-  	  Improving Data Availability by using VPC Strategy in Cloud Environ...
IRJET- Improving Data Availability by using VPC Strategy in Cloud Environ...IRJET Journal
 
Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World IRJET Journal
 
Declare Victory with Big Data
Declare Victory with Big DataDeclare Victory with Big Data
Declare Victory with Big DataJ On The Beach
 
Cloud data management
Cloud data managementCloud data management
Cloud data managementambitlick
 
files_1575611773_2100523175.pdf
files_1575611773_2100523175.pdffiles_1575611773_2100523175.pdf
files_1575611773_2100523175.pdfbeherapravat936
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Multicloud Deployment of Computing Clusters for Loosely Coupled Multi Task C...
Multicloud Deployment of Computing Clusters for Loosely  Coupled Multi Task C...Multicloud Deployment of Computing Clusters for Loosely  Coupled Multi Task C...
Multicloud Deployment of Computing Clusters for Loosely Coupled Multi Task C...IOSR Journals
 
Pretzel: optimized Machine Learning framework for low-latency and high throu...
Pretzel: optimized Machine Learning framework for  low-latency and high throu...Pretzel: optimized Machine Learning framework for  low-latency and high throu...
Pretzel: optimized Machine Learning framework for low-latency and high throu...NECST Lab @ Politecnico di Milano
 

Similaire à Agile performance engineering with cloud 2016 (20)

Be cse
Be cseBe cse
Be cse
 
Victor Chang: Cloud computing business framework
Victor Chang: Cloud computing business frameworkVictor Chang: Cloud computing business framework
Victor Chang: Cloud computing business framework
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
Top Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.comTop Down Network Design - ebrahma.com
Top Down Network Design - ebrahma.com
 
Ch14
Ch14Ch14
Ch14
 
Network Design and Management
Network Design and ManagementNetwork Design and Management
Network Design and Management
 
Presentation
PresentationPresentation
Presentation
 
IoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the CloudIoT Evolution Expo- Machine Learning and the Cloud
IoT Evolution Expo- Machine Learning and the Cloud
 
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
The Impact of Cloud Computing on Predictive Analytics 7-29-09 v5
 
Shikha fdp 62_14july2017
Shikha fdp 62_14july2017Shikha fdp 62_14july2017
Shikha fdp 62_14july2017
 
IRJET- Improving Data Availability by using VPC Strategy in Cloud Environ...
IRJET-  	  Improving Data Availability by using VPC Strategy in Cloud Environ...IRJET-  	  Improving Data Availability by using VPC Strategy in Cloud Environ...
IRJET- Improving Data Availability by using VPC Strategy in Cloud Environ...
 
Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World Cloud Computing: A Perspective on Next Basic Utility in IT World
Cloud Computing: A Perspective on Next Basic Utility in IT World
 
Declare Victory with Big Data
Declare Victory with Big DataDeclare Victory with Big Data
Declare Victory with Big Data
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
 
files_1575611773_2100523175.pdf
files_1575611773_2100523175.pdffiles_1575611773_2100523175.pdf
files_1575611773_2100523175.pdf
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Multicloud Deployment of Computing Clusters for Loosely Coupled Multi Task C...
Multicloud Deployment of Computing Clusters for Loosely  Coupled Multi Task C...Multicloud Deployment of Computing Clusters for Loosely  Coupled Multi Task C...
Multicloud Deployment of Computing Clusters for Loosely Coupled Multi Task C...
 
cloud
cloudcloud
cloud
 
Pretzel: optimized Machine Learning framework for low-latency and high throu...
Pretzel: optimized Machine Learning framework for  low-latency and high throu...Pretzel: optimized Machine Learning framework for  low-latency and high throu...
Pretzel: optimized Machine Learning framework for low-latency and high throu...
 

Dernier

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Dernier (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Agile performance engineering with cloud 2016

  • 1. Agile Performance Engineering with Cloud By Ken Y. Chan Timeleap Inc. Dec 28, 2016 1
  • 2. Outline 1. Importance of Performance Engineering 2. Background in Performance Engineering 3. Traditional Server Farms versus Clouds 4. Resources and Skill Sets 5. Approach and Process 6. Guidelines 7. Conclusion 2
  • 3. Importance of Performance Engineering 1. Maintain Business SLO’s and SLA’s with your partners, clients, end users, and consumers; keep them happy! 2. Happy partners, clients, consumers, or users lead to better retention (avoid revenue loss), and indirectly more business and revenue 3. Poor performance is a sign of system degradation and future service outages 4. Performance problems need more time to solve than functional problems 3
  • 4. Background in Performance Engineering - 1 Background Part of ITIL Extensive Academic Research and History (e.g. CMU, MIT, etc) Encompasses the set of roles, skills, activities, practices, tools, and deliverables applied at every phase of the SDLC A system is designed, implemented, and operationally supported to meet the non-functional requirements for performance Model, Simulation, Performance Test, Design, Implementation, and Tuning Common Performance Metrics Availability Response time Processing speed Capacity and Utilization Latency Bandwidth Throughput Scalability 4
  • 5. Background of Performance Engineering - 2 Why is it so hard? Deep technical skills in Mathematics and computing science or engineering Based on Queuing Theory and Statistics A hard topic and often being neglected Think of a computing system as a car or as a building 1. Poorly tuned components would shift bottlenecks to other components (analogous to city traffic) a. May temporarily hide the real problem(s) b. May lead to eventual system breakdown 2. Alternatively, simply increase the entire system footprint a. However, random tuning adds unnecessary footprints (costs $$$$ and reduces maintainability) b. May temporarily hide the real problem(s) c. Harder to tune with larger footprint at a later time d. Costs more $$$, time, and effort down the road e. No different from a major car or building overhaul 3. The correct approach is to engineer for performance in piece- meals (iterations) 5
  • 6. Traditional Server Farms versus Clouds On-Premise, Co-located, or Hosted Some networking gears may be shared A customer has a lot of controls on the physical computing resources Performance model is based on queuing in networking nodes, computing nodes, and data nodes Different types of queuing for different nodes Performance is more deterministic with traditional data centres than with clouds Public, Private, or Hybrid Clouds Networking gears are typically multi-tenant Physical computing resources are shared, except in some cases for private clouds Performance model is based on queuing in network nodes, computing nodes, and data nodes Develop a logical performance model by aggregating multi-tenant nodes into one node Less deterministic because of other tenants Need more model refactoring to mitigate risks with multiple tenants (TBD in my next presentation) 6
  • 7. Resources and Skill Sets Required Resources Performance Modelling Tools Performance Simulation Tools Performance Test Tools Performance Profilers or Monitoring Tools Required Skill Sets Queuing Theory and System Performance Engineering Theory of Probability and Statistics Theory of Computational Complexity System Architecture and Design Patterns Cloud and Network Architecture Database Bonus: AI, Big Data (TBD in my next presentation) 7
  • 8. Agile Performance Engineering Approach with Cloud 1.Set Initial Performance Objectives for Sprint 1. 2.Develop Performance Models and Test Cases. Abstract Multi-tenant nodes as one node 3.Tune the system configuration based on simulations and metrics 4.Measure Performance Metrics via Performance Monitors 5.Compare actual metrics against performance objectives 6.Revise Performance Objectives for Sprint 2+. Actual metrics and objectives should converge after every sprint 8
  • 10. Develop Performance Model 1. There are a number of Performance Modelling or Simulation Tools: a) SciPy - Python DES, b) R DES, c) Matlab SimEvents, d) JMT, e) Octave, f) and etc. 2. In general, a system consists of multiple stations or nodes (e.g. M/G/k) 3. Each node belongs to a class/type with attributes (e.g. FIFO, LIFO, etc) 4. A class may have attributes: a) arrival distribution, b) processing distribution, c) # of channels, d) size of queue, e) max number of customers 5. May use regression analysis to select the best distributions for your classes 6. Abstract multi-tenant cloud nodes into a single node (TBD in my next presentation) 10
  • 11. Simulation versus Solver 1. A Simulation (e.g. M/G/k) generates random discrete events based on assigned distributions, and feeds them as inputs into simulated stations 2. Executing a simulation model typically yields these results at each node: a) queue length, b) queue time, c) response time, d) utilization, e) throughput 3. A Solver (e.g. M/G/k) uses linear or nonlinear equation solving algorithms, or MVA to solve the model as multivariate equations (e.g. response time, utilization, and etc) 4. The simulation results and the performance parameters become inputs to the performance test cases. 11
  • 12. No such thing as “100% Perfect” but Only 100% Science and 0% Art Performance Engineering should be agile and iterative. Unrealistic Performance Objectives/Criteria will result in an infinite loop which leads to nowhere! 12
  • 13. As performance parameters converge and criteria are met, your system should be “close to optimally” tuned Both Performance Simulation/ Solver and Performance Test cases are essential tools for Performance Engineering 13
  • 14. “The key to performance is elegance, not battalions of special cases” - Jon Bentley and Douglas McIlroy (famous American computing scientists) 14
  • 15. Performance Engineering is repetitive and takes time. So starts early! Realistic objectives and reasonable parameter selection often identify hotspots and lead to fast convergent 15
  • 16. Thanks! Contact us: Ken Chan Timeleap Inc. Toronto, Ontario, Canada ken@timeleap.com http://www.timeleap.com 16