Primer on enterprise_performance_maturity_v0.2
-
Upload
trevor-warren -
Category
Technology
-
view
122 -
download
0
description
Transcript of Primer on enterprise_performance_maturity_v0.2
Fundamentals of Enterprise Performance Maturity
Practical Performance Analyst – 12th August 2012
http://www.practicalperformanceanalyst.com
Agenda
Performance Engineering Life Cycle
What is Enterprise Performance Maturity
Costs of Addressing Performance across the SDLC
Why address Enterprise Performance Maturity
Going about addressing Enterprise Performance Maturity
Business models to consider
Challenges
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 Enterprise Performance Maturity
Enterprise Performance Maturity is a combination of People, Process & Tool maturity across the enterprise whose objective is to proactively manage Application Performance & Infrastructure Capacity
Enterprise Performance Maturity is the investment Enterprises make to build capability within their IT teams required to proactive manage Application Performance & Infrastructure capacity
Enterprise Performance Maturity is the investment a business makes as a risk mitigation approach to ensure it’s applications don’t go pear shaped in production
Levels of Enterprise Performance Maturity desired will vary from one enterprise to the other.
Large business like Financial Organizations, Large retailers, etc. have no option by to invest in building Enterprise Performance Maturity due to the large cost of poor application performance & application downtime.
Tools
Process
People
Costs of Addressing Performance across SDLC
Stage in the SDLC Costs of Addressing Performance
How that will reflect on your CV
Requirements Gathering Low cost of addressing Performance.
Your ability to influence Performance is the highest at this stage. Documenting the workload & NFR’s will help you
understand your options from a design, architecture and infrastructure standpoint.
Design Low cost of addressing Performance.
Your ability to influence Performance is high at this stage. Your recommendations will go towards architecting and designing high performance applications that meet the defined NFR’s &
business workload.
Build Cost of addressing Performance is marginally
higher.
Any major changes to the design has the potential to impact delivery schedule. Lack of NFR’s and coding standards has the
potential to cause re-work later on during the performance testing phase.
Test Cost or addressing Performance is very high.
Re-work required to fix defects has the potential to severely impact program costs and overall program schedule. Any
change required to application design can potentially delay your go-live schedule.
Go-Live Cost of addressing Performance is the highest.
Performance issues identified in production will severely impact your ability to deliver expected application performance. Potential show stoppers might end up causing application
downtime.
Why Address Enterprise Performance Maturity Following are some of the reasons why you would want to address Performance Engineering maturity across the
enterprise:
Procure & standardize Performance Testing Tools which then can be leveraged as shared infrastructure across the enterprise. Drives down operational costs for existing projects and reduces Capital investment for new programs.
Procure & standardize Performance Monitoring & Capacity Management tools which can then be leveraged as shared infrastructure across the enterprise. Drives down operational costs for existing projects and reduces Capital investment for new programs.
Standardize Performance Engineering processes across the enterprise and ensure consistent delivery of application performance across all your programs
Create capability within the organization that could be leveraged across programs to address Performance Engineering specific requirements
Create a mindset that consistently advocates Proactive Performance Management on all your programs.
Minimize impact to business by managing application performance proactively and reduce downtime of your business critical applications in production.
Eliminate the need for major re-work across your development programs (late in the SDLC) and reduce program cost overruns.
Going about addressing Performance Maturity
You are the best judge of your organizations appetite for Performance Engineering based on your assessment of the organizational culture, business needs and IT maturity
Assess the burning issues faced by IT & business from a Performance Engineering standpoint
Identify the low hanging fruit. Look for a sponsor (business preferably rather than IT) who currently faces the pain and would be willing to invest in creating capability to take away the pain
Don’t clamour for the best people or tools. Focus on using what you’ve got within the enterprise, start out with cloud based or Open Source solutions to demonstrate the benefit you are able to deliver.
Push for the works once you’ve built your credibility build a business case for an investment in the critical Performance Engineering functions required by your business.
Most business & IT folk tend to easily understand the benefits of Performance Testing. You might consider that as first steps. You can then aspire to build capability on: Performance Monitoring, Capacity Management, Capacity Planning and Performance Modelling.
Building Performance Engineering maturity requires that you focus on creating competency from a tool, process and people standpoint. Building such maturity generally takes a long time and you want to demonstrate key wins and build on those wins one program at a time.
Business Models to consider
Internal Performance Engineering Centre Of Excellence:
Internal PE organization staffed with capability to support PE activities across programs
Knowledge and awareness of PE relevant processes that can be leveraged across the enterprise
Build internal assets that can be leveraged to automate tasks and drive down costs of delivery
Challenges ramping up and ramping down resources to meet project requirements
Expensive use of contracting resources to meet peak demand which impacts program costs
High costs of training resources and keeping them updated on cutting edge concepts
Challenges retaining the right skills due to industry wide lack demand for PE skills
Outsourced Performance Engineering Centre of Excellence:
Internal PE organization staffed with capability to support PE activities across programs
Knowledge and awareness of PE relevant processes that can be leveraged across the enterprise
Use existing vendor assets that can be leveraged to automate tasks and drive down costs of delivery
Ramping up and down of resources to meet project requirements is a vendor challenge
Get rid of high contracting costs by agreeing with your vendor on a rate card for different services
Training and retaining costs are no longer your problem
Retaining skills is no longer your problem but is your vendors problem
You can demand the best skills across different Performance Engineering domains
Challenges
Challenges obtaining buy in from Business to invest in creating maturity from a Performance Engineering standpoint
Challenges obtaining funding to invest in centralized tools for different Performance Engineering activities (Performance Testing, Performance Monitoring, Capacity Management)
Challenges obtaining support from management to setup a shared Performance Engineering Centre Of Excellence (CoE)
Challenges finding vendors who have strong capability in Performance Engineering and are able to provide your organization support across different geographies
Challenges recruiting and retaining capable resources (if you are doing it in-house) to staff your Performance Engineering team
Thank You
Please support us by taking a moment and sharing this content using the Social Media Links at Practical Performance Analyst