primer on capacity_management_v0.2
TRANSCRIPT
Fundamentals of Capacity Management
Practical Performance Analyst – 5th August 2012
http://www.practicalperformanceanalyst.com
Agenda Performance Engineering Life Cycle
What is Proactive Performance Management
Holistic View of Performance
What is Capacity Management
Capacity Management Process Input & Output
On-going Capacity Management Process
Why is Capacity Management Important
Capacity Management Process
Challenges involved in setting up Capacity Management
Deliverables for the Capacity Management process
Resources & tools for Capacity Management
Performance Engineering Life Cycle
Software Development Life Cycle
Functional Requirements Gathering
Architecture & Design
Build Application
System Test,
System Integrated Test & UAT
Deploy Into Production
Performance Engineering Life Cycle
Non Functional Requirements Gathering
Design for Performance &
Performance Modelling
Unit Performance Test &
Code Optimization
Performance Test
Monitoring & Capacity Management
Proactive Performance Management
Performance Requirements
Analysis
Performance Modelling &
Capacity Planning
Build & Optimization
Performance Testing
Performance Monitoring
Capacity Management
Proactive Performance Management helps by –
Identifying performance issues early in the design
Validate suitability of your application architecture for your documented NFR’s
Validate your application capacity requirements for the documented NFR’s
Advocates early SVT to identify potential bottlenecks early in the build and development cycle
Reduces potential for major rework later in the program
Advocates using modelling techniques to predict performance impact for growing workload
Txn Performance
- Response Times, etc.
Application Performance – Operations/Sec, Messages/Sec,
Transactions/Sec, etc.
Infrastructure Performance – CPU Utilization, Memory Utilization, Disk IOPS, etc.
Network Performance – Packet Loss, Jitter, Packet Re-ordering, Delay, etc.
Holistic View of Performance
What Is Capacity Management
Capacity Management is a process whose objective is to:
Ensure optimal utilization of underlying application infrastructure
Plan and procure appropriately sized infrastructure at the right time and the right price
Recommend additional Infrastructure requirement to meet growth in Business Workload
Capacity Management is a functional generally provided by the IT team within the enterprise with input from business on upcoming business initiatives and growth in user volumes (Business Workload)
Capacity Management uses a combination of different modelling techniques (Statistical, Analytical, Simulation) to model performance of the application and predict infrastructure impacts
Capacity Management recommends proactive review of Business & Infrastructure Workload proactively so as to recommend the right amount of infrastructure required to meet the NFR’s & SLA’s
Capacity Management has traditionally been performed using Excel sheets. For complex multi-tier applications with large volumes of Workload Data (collected over weeks and months) Excel breaks down. COTS and home grown tools are generally recommend in this case.
Management is generally performed using sophisticated tools which allow for modelling of Workload data (Business & Infrastructure) using a combination of different modelling techniques to forecast performance and capacity impacts
Process Input Process Output Sub
Process
• Business Workload (Txns/Hour, Msgs/Hour, Workflow/Hour, etc.)
• Infrastructure Workload (CPU Utilization, Memory Utilization, etc.)
• Application Architecture
• Performance & Scalability Challenges
• Business Growth Forecast
• Resource Capacity Management
• Service Capacity Management
• Business Capacity Management
• Application Performance Models
• Capacity Management Reports
• Application tuning and optimization recommendations
• Infrastructure recommendations
Capacity Management Process Input & Output
Plan
Model
Analyse Optimize
Monitor
On Going Capacity Management Process
Ongoing Capacity Management requires:
Planning the whole process, identifying and collecting relevant workload data
Creating relevant Performance Models for your different applications and application tiers
Analysis of the modelling results and prediction based on growth in business workload
Tweaking & optimizing your models based on learning from Performance Test and data obtained from production
Monitoring application performance, capacity utilization based on growth in workload
Why Is Capacity Management Important
Capacity Management is important for the following reasons –
Ensures IT sizes & procures the right amount of infrastructure at the right time at the right price
Ensures that applications have the infrastructure & computational resources required to meet their NFR’s
Ensures that Infrastructure Capacity is optimally utilized across the different business critical applications
Ensures that IT is proactively monitoring Growth in Business Workload with the objective of identifying potential Infrastructure Capacity impacts
Ensures that Business has a scalable platform in place to meet growth in customer volumes and allows for short time to market for new business initiatives
Prevents fire fighting caused due to lack of required infrastructure capacity in production possibly caused due to a surge in Business Workload and customer volumes
Ensures that IT and Business are able to deliver the expected end user experience
Capacity Management Process
Understand Non Functional
Requirements
Understand Service Level Agreements
Identify Business Workload for your
Applications
Identify relevant Infrastructure
Workload for your applications
Extract Business Workload Data for
your Application from Production
Extract Infrastructure Workload Data for
your Application from Production
Determine Modelling Approach
(Statistical, Analytical, Simulation)
Create Performance Models for your
Application
Obtain Business Workload Forecasts
Forecast Infrastructure &
Performance Impacts for increase in
Business Workload
Provide Recommendations.
Measure, Monitoring, Predict & Manage.
Challenges involved in Capacity Management
Challenges understanding Business Workload
Challenges extracting Business Workload data from Applications in production
Challenges extracting Infrastructure Workload data from Monitoring tools
Challenges obtaining clean Workload data in a format that can be used for purposes of modelling
Challenges obtaining Capacity Management solutions that can be used for on-going Capacity Management
Challenges convincing clients on the usefulness and reliability of the modelling techniques
Challenges obtaining data on a regular basis for purposes of Modelling & Capacity Management
Deliverables – Capacity Management
Following would be the deliverables for Capacity Management -
Non-Functional Requirements Document
Workload Models – Business Workload & Infrastructure Workload
Performance Models for your production applications
Capacity Management Report
Resources & Tools
BMC Capacity Management - http://www.bmc.com/products/product-listing/capacity-optimization.html
CA Capacity Manager - http://www.ca.com/us/capacity-manager.aspx
TeamQuest Capacity Management - http://www.teamquest.com/products-services/teamquest-performance-software/index.htm
Thank You
Please support us by taking a moment and sharing this content using the Social Media Links at Practical Performance Analyst