Making Reporting Relevant - Automating capacity scorecards in Microsoft Excel Thomas Barns, Senior Consultant, Capacitas 1
Background Capacity reporting Automation Grouping Colouring Diagrams Beyond Excel Agenda 2
Background Capacity management being implemented in an investment bank Current processes based around printed PowerPoint slides shared at a monthly meeting 3
Capacity Reporting What are we trying to achieve? Get the right data To the right people In a way that s right for them 4
Automate data collection and analysis An important part of making the reporting as relevant and up to date as possible Using a set of Excel macros to pull all the data from the relevant sources into an Excel workbook where we set up formulas for alerting & forecasting Throughput Data Server Data Network Data Excel workbook analysis and reporting 5
Automating data collection Cycle though all the data sheets Pick up the SQL from designated column Run the SQL and append the latest results 6
Group things together Once you ve got all your metrics collected, there are going to be obvious ways to group them together At the infrastructure level, the metrics that describe a particular server obviously go together, then the servers and network that support a particular service or application go together At a higher level maybe you have a group of queuing/throughput/response time metrics which describe a particular system component or subsystem The important thing is to group metrics in a way that makes sense the people who are going to use your report 7
Group things together Trades through backend system Back View View KPI Current Forecast Daily Trades 177,288 195,017 Peak Hour Trades 35,458 39,003 Daily Trades Number of trades going through the core backend system on a daily basis - should be steady Back View View View View View Trades from X 16,117 17,729 Trades from Y 8,442 9,287 Trades from Z 70,915 78,007 Large Trades 3,940 4,334 Small Trades 173,348 190,683 Status: AMBER AMBER 200000 180000 160000 140000 120000 100000 80000 60000 40000 20000 0 01/01/2012 01/02/2012 01/03/2012 01/04/2012 01/05/2012 01/06/2012 Trades Comments: The number of trades has increased as expected during June due to project X. Change of behaviour: slight increase in last month 8
Give everything a colour This is part of the analysis stage give every metric a colour to indicate its importance, based on some type of alerting system RAG status with Blue added (indicating underutilisation), RAGB status colouring Roll these up into the groups, with bad colours taking priority over good ones System A Node X Server Y Trades CPU Memory Bandwidth 9
Give everything a colour One thing we found necessary was for each metric to have multiple colours, eg Current, forecast, change alerts Combinations of these Report has different modes depending on which user is interested in 10
Diagrams where the data is Diagrams exist to be understood by users http://dilbert.com/strips/comic/2008-06-06/ 11
Make interactive diagrams Now that we have our groups and our colours, the key thing is to show them in a way that makes sense to the report users We did this by putting together a simple diagram for each application, following discussion with the application owners Each diagram was structured based on ITIL capacity management, with a layer for each of business, service, and component The diagram was coloured using some VBA which iterated through the shapes and set their colours to those on the associated sheets 12
CMIS - Capacity Management Information System Reporting Home Browse Applications Ledger System Diagrams Management Summary Incidents Actions Overview (Current v) Thomas Barns Browse Reports Admin Report Availability Source Feed Arrival Trades Ledger System Business Messages Service Ledger Reporting Ledgers Rules Engine DB Hosts Resource london234a london234b london334a london334b Compute Grid 1 Compute Grid 2 london123 UI Previous Next london234c london234d london334c london334d london124 london125 LEDGE_PROD1 LEDGE_PROD4 SPD_PROD1 Production SQL Servers LEDGE_PROD2 LEDGE_PROD5 SPD_PROD1 LEDGE_PROD3 LEDGE_PROD6 13
Information what the data means Nice diagrams aren t enough http://dilbert.com/strips/comic/2000-02-27/ 14
Information Descriptions of entities, KPIs, etc Is trend good or bad? When breaches occurred or will occur Daily Trades Number of trades going through the core backend system on a daily basis - should be steady 200000 180000 160000 140000 120000 100000 80000 60000 40000 20000 0 01/01/2012 01/02/2012 01/03/2012 01/04/2012 01/05/2012 01/06/2012 Trades Back Comments: The number of trades has increased as expected during June due to project X. Change of behaviour: slight increase in last month 15
Excel Issues Decentralised Duplication of data, logic and interface over multiple services Scalability Memory limits in Excel 16
Beyond Excel Moving towards a centralised modelling platform improves maintainability and reduces CM effort required Excel Separate functionality for each service CMIS DB Centralised Metadata API Centralise Analysis Data integration Web UI Centralise Interface 17
Roadmap to centralisation Increasing automation facilitates greater coverage of services Prototype Full Coverage Coverage Effort Excel Manual Import Excel Automation Metadata Database Analysis and Integration API Web based User Interface Self-service 18
Central CM Platform Capacity Management platform Central CM Web Reporting Interface Analysis and Data Integration API CMIS DB Metadata Data Source 1 Data Source 2 Data Source 3 19
CMIS - Capacity Management Information System Reporting Thomas Barns Home Browse Applications Ledger System Management Summary Incidents Actions Overview (Current v) Browse Reports Admin Report Availability Source Feed Arrival Trades Ledger System Business Messages Service Ledger Reporting Ledgers Rules Engine DB Hosts Resource london234a london234b london334a london334b Compute Grid 1 Compute Grid 2 london123 UI Previous Next london234c london234d london334c london334d london124 london125 LEDGE_PROD1 LEDGE_PROD4 SPD_PROD1 Production SQL Servers LEDGE_PROD2 LEDGE_PROD5 SPD_PROD1 LEDGE_PROD3 LEDGE_PROD6 20
Summary Excel can be used to make a useful, relevant report By automating wherever possible By building a interactive drill down interface By co-locating data and information Excel has its limits A custom web application with a virtual CMIS is relatively easy to build where there are too many services or KPIs for Excel to handle 21