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

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Dernier (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

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