ohvcmg bmdb
TRANSCRIPT
Building a Business Metrics Building a Business Metrics DatabaseDatabase
Adding value to performance Adding value to performance management and capacity management and capacity
planningplanning
Scott Chapman
American Electric Power
The problemThe problem
What are we measuring?What are we measuring? Lots and lots of technical detailsLots and lots of technical details
What are we reporting?What are we reporting? Some subset of thatSome subset of that
Who understands it?Who understands it? Maybe nobody outside of ourselvesMaybe nobody outside of ourselves
Do our readers understand our technical terms?Do our readers understand our technical terms? Do they understand how we’re doing the calculations?Do they understand how we’re doing the calculations? More importantly do they know what business functions those More importantly do they know what business functions those
technical things support?technical things support? The technical details are probably not overly important The technical details are probably not overly important
to anybody other than a few techniciansto anybody other than a few technicians
What really matters?What really matters? How much business-useful work are we doing?How much business-useful work are we doing? What are we doing that isn’t useful?What are we doing that isn’t useful? Are we meeting our SLAs and do the SLAs match the Are we meeting our SLAs and do the SLAs match the
business requirements?business requirements? What is stopping us from doing more?What is stopping us from doing more? When will we need to invest in more technology?When will we need to invest in more technology? Does everybody understand the business value and Does everybody understand the business value and
importance of our IT systems?importance of our IT systems?
Ensure that our IT systems provide business value!Ensure that our IT systems provide business value!
We need a business-centric view!We need a business-centric view! We need business measurements to tie to the We need business measurements to tie to the
technical measurestechnical measures Hard to answer questions from the business Hard to answer questions from the business
perspective if we don’t have business measurements!perspective if we don’t have business measurements! Business metrics not a new ideaBusiness metrics not a new idea
The business managers have metricsThe business managers have metrics E.G. Balanced scorecards for business reportingE.G. Balanced scorecards for business reporting
Used for capacity planning Used for capacity planning Natural Forecasting UnitsNatural Forecasting Units
CPDB… PDB… BMDB?CPDB… PDB… BMDB?
Not only do we need business metrics, we need Not only do we need business metrics, we need a historical view of thema historical view of them
We create Capacity Planning Databases and We create Capacity Planning Databases and Performance Databases, why not a Business Performance Databases, why not a Business Metrics Database?Metrics Database?
Could be part of CPDB or could include capacity Could be part of CPDB or could include capacity planning metrics in the BMDBplanning metrics in the BMDB
Either way, a historical database of business Either way, a historical database of business metrics should be part of our core performance metrics should be part of our core performance and capacity management processesand capacity management processes
Bring it all togetherBring it all together
Three dimensions of applications:Three dimensions of applications: PerformancePerformance Capacity UtilizationCapacity Utilization Business work performedBusiness work performed
All together on one screen please!All together on one screen please!
Why build a BMDB?Why build a BMDB?
Capacity planningCapacity planning Technical projections based on business measuresTechnical projections based on business measures
Performance reportingPerformance reporting Business workloads impact on performance?Business workloads impact on performance? Systems performance impacting business?Systems performance impacting business?
Learn about your applicationsLearn about your applications What runs where?What runs where? What is the value to the business? What is the value to the business?
Publish the data—spread the knowledge!Publish the data—spread the knowledge!
BMDB DesignBMDB Design
Use vendor-provided solutionUse vendor-provided solution MICS? Other options?MICS? Other options?
Build your ownBuild your own SAS or other DBMSSAS or other DBMS
This really isn’t too hard!This really isn’t too hard! But you would like to not change the But you would like to not change the
database every time we add a metricdatabase every time we add a metric
One possible designOne possible design
Key features of this designKey features of this design
Business metrics metadata contained Business metrics metadata contained within the databasewithin the database
Relatively compactRelatively compact Provisions for formatting the metricsProvisions for formatting the metrics
SAS formats applied to metricsSAS formats applied to metrics Stoplight reporting via the severity tableStoplight reporting via the severity table
How to start populating the BMDBHow to start populating the BMDB
Capture technical measures for all applicationsCapture technical measures for all applications CPU time, RT, SLA attainment, etc.CPU time, RT, SLA attainment, etc.
Determine the first application Determine the first application One you are familiar withOne you are familiar with Or one with an enthusiastic supporterOr one with an enthusiastic supporter
Find the significant technical driversFind the significant technical drivers Determine the business functions for thoseDetermine the business functions for those Capture metrics for those functions Capture metrics for those functions
For example…For example…
Looking at work management Looking at work management Notice increase in transaction volume every two Notice increase in transaction volume every two
weeks—why?weeks—why? Time entry!Time entry! Find business metric to represent the volume of Find business metric to represent the volume of
this workload: Time sheets submittedthis workload: Time sheets submitted Select count(*) from time_sheets where submit_date Select count(*) from time_sheets where submit_date
= “yesterday”= “yesterday” Run the query everyday & store the results!Run the query everyday & store the results!
Make your life as easy as possible!Make your life as easy as possible! You don’t need to understand everything about the business! You don’t need to understand everything about the business!
System utilization driversSystem utilization drivers ““Problem children” Problem children” Things that people care aboutThings that people care about
Easy for us to understand the technical measures, so start thereEasy for us to understand the technical measures, so start there Easy for somebody else to tell us what those representEasy for somebody else to tell us what those represent
Most activity metrics can be readily retrieved from the application Most activity metrics can be readily retrieved from the application databasedatabase
May want to parse some existing reports for complicated data—May want to parse some existing reports for complicated data—like accounting totalslike accounting totals
Things to consider capturingThings to consider capturing
Items representing business work, i.e. Items representing business work, i.e. business transaction volumesbusiness transaction volumes
Items representing business data, i.e. Items representing business data, i.e. business entities stored by the applicationbusiness entities stored by the application
Application-centric performance and SLAsApplication-centric performance and SLAs Application capacity utilizationApplication capacity utilization Whatever is important to the business Whatever is important to the business
managers!managers!
Capture hintsCapture hints
You will need a mapping of transactions to You will need a mapping of transactions to applicationsapplications Ongoing maintenance requiredOngoing maintenance required May already be done for chargebackMay already be done for chargeback
WLM Report classes can tie work to applicationsWLM Report classes can tie work to applications Very useful for DDF, maybe WAS & CICSVery useful for DDF, maybe WAS & CICS
Account codes limited value for batch?Account codes limited value for batch? Look at the dataset names the jobs are usingLook at the dataset names the jobs are using
Tie SMF type 42s and 30s togetherTie SMF type 42s and 30s together Somewhat expensive, but great accuracySomewhat expensive, but great accuracy
ReportingReporting
Make it look goodMake it look good Make it usefulMake it useful Make it easy to useMake it easy to use Make it engagingMake it engaging Make it accessible!Make it accessible!
A browser-based A browser-based solution would be solution would be ideal, but creating a ideal, but creating a bunch of static pages bunch of static pages everyday is noteveryday is not
AJAX to the rescue!?!AJAX to the rescue!?! Asynchronous JavaScript with XMLAsynchronous JavaScript with XML
Read all about it on the web, but…Read all about it on the web, but… Key JS functionality for us: Key JS functionality for us:
Can change any HTML element on that pageCan change any HTML element on that page Add/delete elements or compeletely re-write the HTMLAdd/delete elements or compeletely re-write the HTML aka “dynamic html”aka “dynamic html”
Extract your BMDB data to XML filesExtract your BMDB data to XML files Write some JS code in an HTML page to read/parse that XML file & Write some JS code in an HTML page to read/parse that XML file &
load to arrayload to array JS code then loads frames with more HTML files that are templates JS code then loads frames with more HTML files that are templates JS uses array to look up values for the templatesJS uses array to look up values for the templates Once the core code is written, adding new metrics/reporting merely Once the core code is written, adding new metrics/reporting merely
means adding new HTML templatesmeans adding new HTML templates
HTML “templates”HTML “templates”
JS Code loads HTML templates JS Code loads HTML templates based on the application based on the application selectedselected
Then scans the templates for Then scans the templates for <span> tags<span> tags
Looks up (or calculates) values Looks up (or calculates) values from the array and updates from the array and updates the span text with the the span text with the appropriate valueappropriate value
Adding new metrics or reports Adding new metrics or reports simply means creating a new simply means creating a new template—which is just template—which is just standard HTML with specially standard HTML with specially crafted <span> tagscrafted <span> tags
<tr><td>Work Orders Completed</td><td align="right"><span id="bmCORP" datafld="WOCMPTD">1,240</span></td></tr>
<tr><td>CPU per CICS transaction</td><td align="right"><span id="evPROD" datafld="@!CITCPU@/@!CITCNT@" title=""></span></td></tr>
HTML Template file
Calculated metric sample
JavaScript IssuesJavaScript Issues
New language to learn (but easy)New language to learn (but easy) Plenty of good books availablePlenty of good books available Consider “browser book” from visibone.com for a Consider “browser book” from visibone.com for a
quick-referencequick-reference Parsing XML/HTML with JS can be slowParsing XML/HTML with JS can be slow
Consider limiting data shown initiallyConsider limiting data shown initially Debugging can be difficultDebugging can be difficult
Remember the good old days?Remember the good old days? Help coming soon, if not already – go look for itHelp coming soon, if not already – go look for it
What I hope you take away What I hope you take away from this…from this…
Conclusion #1Conclusion #1
Business metrics are invaluable for Business metrics are invaluable for improving capacity planning, improving capacity planning, performance management, and performance management, and application awarenessapplication awareness
Use as natural forecasting unitsUse as natural forecasting units Use for application analysisUse for application analysis Use to improve reporting & understandingUse to improve reporting & understanding
Conclusion #2Conclusion #2
You need a historical collection of business You need a historical collection of business metrics – a BMDBmetrics – a BMDB If you don’t retain the data you can’t analyze If you don’t retain the data you can’t analyze
it!it! Use the BMDB for consolidated reporting Use the BMDB for consolidated reporting A BMDB should be a core part of your A BMDB should be a core part of your
performance/capacity management processperformance/capacity management process
Conclusion #3Conclusion #3
Building the BMDB can be done cheaply Building the BMDB can be done cheaply and easilyand easily You already have the toolsYou already have the tools DB design simple DB design simple DB relatively compactDB relatively compact Populating the database can usually be done Populating the database can usually be done
from existing performance data or by simple from existing performance data or by simple queries from the application databasequeries from the application database
Conclusion #4Conclusion #4
Once you have the data you should Once you have the data you should publish it!publish it! People will get excited about seeing the People will get excited about seeing the
business metrics, performance characteristics, business metrics, performance characteristics, and capacity utilization for an application on and capacity utilization for an application on the same pagethe same page
Conclusion #5Conclusion #5
AJAX provides a potentially useful method AJAX provides a potentially useful method for presenting this sort of data in a for presenting this sort of data in a dynamic fashiondynamic fashion Consider building yourself a framework for Consider building yourself a framework for
presenting application performance data using presenting application performance data using this conceptthis concept
Your mission,Your mission,should you decide to accept it,should you decide to accept it,
is to go build a BMDB for your organization.is to go build a BMDB for your organization.You will improve yourYou will improve your
capacity planning,capacity planning,performance management,performance management,and business awareness!and business awareness!
This is not an impossible mission!This is not an impossible mission!Having not self-destructed, Having not self-destructed,
I will now answer any questions.I will now answer any questions.