27
Building a Business Metrics Building a Business Metrics Database Database Adding value to performance Adding value to performance management and capacity management and capacity planning planning Scott Chapman American Electric Power [email protected]

Ohvcmg Bmdb

Embed Size (px)

Citation preview

Page 1: Ohvcmg Bmdb

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

[email protected]

Page 2: Ohvcmg Bmdb

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

Page 3: Ohvcmg Bmdb

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!

Page 4: Ohvcmg Bmdb

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

Page 5: Ohvcmg Bmdb

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

Page 6: Ohvcmg Bmdb

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!

Page 7: Ohvcmg Bmdb
Page 8: Ohvcmg Bmdb

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!

Page 9: Ohvcmg Bmdb

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

Page 10: Ohvcmg Bmdb

One possible designOne possible design

Page 11: Ohvcmg Bmdb

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

Page 12: Ohvcmg Bmdb

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

Page 13: Ohvcmg Bmdb

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!

Page 14: Ohvcmg Bmdb

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

Page 15: Ohvcmg Bmdb

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!

Page 16: Ohvcmg Bmdb

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

Page 17: Ohvcmg Bmdb

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

Page 18: Ohvcmg Bmdb

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

Page 19: Ohvcmg Bmdb

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

Page 20: Ohvcmg Bmdb

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

Page 21: Ohvcmg Bmdb

What I hope you take away What I hope you take away from this…from this…

Page 22: Ohvcmg Bmdb

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

Page 23: Ohvcmg Bmdb

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

Page 24: Ohvcmg Bmdb

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

Page 25: Ohvcmg Bmdb

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

Page 26: Ohvcmg Bmdb

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

Page 27: Ohvcmg Bmdb

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.