Monday, October 27, 2014

Total Cost of Ownership of BPPM - Part 3: What to customize in BPPM

BPPM customization is essentially development work.  BPPM provides well-structured development framework.  All you need to do in customization is to fill up the holes between frames with code modules.

BPPM uses proprietary programming languages for development.  PSL (PATROL Scripting Language) is used to develop customization in its PATROL component.  MRL (Master Rule Language) is used to develop customization in its BPPM/BEM cell component. We provide training for both PSL and MRL development.

There are three areas you can customize in BPPM to fully realize the ROI from BPPM.

1) Adding new features that are not out of box

Your business may require you to monitor an application that BPPM does not monitor out-of-box.  This requires you to develop a custom knowledge module in PATROL.  Having personally developed more than 100 custom PATROL knowledge modules, I can tell you how much every enterprise can benefit from custom-developed monitoring features.

Your business may require you to aggregate multiple alerts into one incident ticket when they all refer to the same incident.  This requires you to develop event processing rules in BPPM/BEM cell that are not available out-of-box.  Without this customization, each alert will result in a separate ticket.  Someone will have to analyze them and manually merge multiple tickets into one.  This customization will help your IT organization cut down its cost.

2) Integration with non-BMC products

In my opinion, integration gives you the best bang for the buck.  If you are like most enterprise IT organizations, you are already running all kinds of monitoring software as the best of breed such as Solarwinds for network, Oracle OEM for Oracle database, and Microsoft SCOM for Windows servers, etc.  How about open source tools such as Nagios and OpenNMS, security monitoring tools such as ArcSight, your home-grown cron-job scripts, and self-monitoring devices such as APC UPS?

When you integrate these non-BMC products into BPPM/BEM cell, not only you have one GUI to view all alerts together, you can also take advantage of the back-end incident management system connected with BPPM for automated incident ticket creation.  

After I finished IBM Netcool integration with BPPM for a client, they realized how much it saved them from paying for an expensive Netcool-Remedy gateway license and how much more reliable an automatic BPPM integration fail-over is comparing to the manual Netcool-Remedy gateway fail-over.  Then they decided to integrate every non-BMC monitoring software into BPPM for automated Remedy ticketing.

Understandably, this is the area that BMC doesn't want to talk much because it could lower their sales on PATROL license.  

We have been a big believer on the best of breed and integration for the last decade.  We have developed a proprietary methodology to seamlessly integrate any non-BMC monitoring software into BPPM cell.  Our methodology is so reliable, repeatable, and universally adaptable that we are willing to take fixed-price contracts for your integration projects (as well as your other development projects).  Please contact us for price details.

3) Automation in BPPM Operations

This is a lesser known area comparing to the other two.  I will postpone the detailed discussion to the next post.  Basically this is the secret how my client can run a large IT monitoring operation with just a 3-person team comparing to at least 6 people in similar sized organizations.

Monday, October 20, 2014

Total Cost of Ownership of BPPM - Part 2: Customization

BPPM out-of-box solution provides basic monitoring features, so do many other low-priced and open-source monitoring solutions.  The reason you have paid a premium price for BPPM is not just for the brand name, it is for its flexibility to customize the solution to fit your unique business requirements exactly.  That is how you can fully realize the ROI from BPPM. 

Your implementation is not just installation and configuration.  Every enterprise IT ended up customizing BPPM - some did it well planned but some did it as a rescue mission. I have been to enough rescue mission to tell you that a well planned customization will cost you far less time, money, and headache.

One of the major components that will largely affect total cost of ownership is customization.  How can customization affect your total cost of ownership?

1) Negatively, it costs you extra time and money in your implementation project.

2) Positively, it adds the functionaries that your business requires to improve your business bottom line.

3) More positively, it reduces the work in maintenance/operations through automation and consistency so you need a smaller operations team - that is a big cost saving year after year.

Many people might think customization increases maintenance/operations work.  Well, that would be the case if customization were not done right.  I have seen some clean customization that streamlined maintenance/operations work.  I have also seen some messy customization that simply became maintenance nightmare.  Similar to the customization made in your house, if the customization follows standards and consistency, it will reduce maintenance/operations work.  A simple example would be a customization you do to the light switches in your house that allows you to control all lights through a mobile app remotely.  We will talk about standards and consistency in later posts.

Not only you need to budget extra time and money for customization in your implementation project, you also need to hire the right developer for customization because customization is primarily code development and it requires totally different skill set from installation.

Unfortunately customization is often under-addressed by both BMC and BMC customers.  BMC just tells you that BPPM is totally customizable without providing you the necessary training and best practice on customization.  BMC customers are aware of the need for customization but have no solid understanding what detailed features/automation they need and what it takes to get there.

As a consulting practice for the last 12 years, we specialize in BPPM customization.  Please feel free to contact us if we can be any assistance for your BPPM customization.  We also provide training in BPPM customization including advanced MRL programming and PSL programming that are not available in BMC.

Tuesday, October 14, 2014

Total Cost of Ownership of BPPM - Part 1: Introduction

The total cost of ownership of BPPM includes the cost of hardware, software license, implementation, day-to-day operations and maintenance.  The total cost of ownership must be kept in mind starting in the planning phase and through the entire implementation phase as well as the operations phase.  But most importantly, how BPPM is implemented makes a huge difference not just on your implementation cost but also your operations cost year after year.

Implementing BPPM is like building a house. Not only you care how fast the house can be built, you also care if the house has enough features and options to fit your needs.  And more importantly you care how much it will cost you for maintenance, repair, and utilities year after year.

Several years ago when I bought my first newly-built house, I knew very little about total cost of ownership.  Because the house was poorly insulated during the construction, I have been getting costly air conditioning bill every summer.  Had I known what I know now, I would have been more selective when I picked up a builder.

Similarly, if you are responsible for your enterprise system monitoring, you may want constantly ask these questions during implementation: How many people do I need for operations? How much can be automated and how much must be manual work?  What customization do I need?  Can this customization be easily extended in the future?  Are different components in the implementation consistent enough so the knowledge can be transferred easily?  Can most of the operation procedures be created and understood before implementation is complete?

If you hire consultants for BPPM implementation, you need to work closely with the consultants to make sure the total cost of ownership is part of the objectives of the implementation.  Don't assume that a consultant will automatically keep the total cost of ownership in mind since it may require more work during implementation. The difference between a good consultant and a mediocre consultant is not just how fast the implementation can be done, but how the implementation meets your needs and most importantly how much it can save you in operations.

What should be a good size for your operations team?  As an example, one of my clients with 7 monitoring solutions (BMC and other vendors) needs only a 3-person team for the last 5 years to keep mission-critical multi-hospital operations running without experiencing any down time.  And no one needs to work overtime.  I have seen many similar-sized IT operations need 6-10 people in the team just to keep up with operations support.  If you can cut down just one operations staff in the team with a right implementation, that is a minimum $100K saving year after year.

In the next few posts, we will go through some best practices on how to reduce the total cost of ownership.


Monday, October 6, 2014

PatrolCli - Part 7: Dynamically activate diagnostic data collection in PATROL

If you monitor web applications using BMC TM-ART or a similar product, you will receive a critical event in BPPM cell when the response time exceeds your threshold.  When this happens, you would wish that you can collect detailed performance data at EJB level to help you diagnose the poor response time.  So you probably end up developing a custom PATROL knowledge module to collect detailed EJB data from your J2EE application server.

However, you don't want to have your EJB KM running all the time since it is resource intensive.  It would make sense if you can activate and deactivate your EJB KM dynamically.  When your BPPM cell receives a critical event about slow web application response time, your EJB KM will be activated automatically.  When the same web application response time goes back to normal, your EJB KM will be deactivated automatically.

As you can see it here, BPPM cell is the only component that knows when to activate and deactivate your EJB KM because it receives and clears the slow web application response time alert.  

Since PATROL agent is normally installed on BPPM cell server, you can use PatrolCli to activate and deactivate your EJB KM.

For example, if your have a custom PATROL KM called EJB_KM, you can activate it by including the following PatrolCli command in an OS script called activate_ejb_km.cmd located on BPPM cell server:

execpsl "set(\"/EJB_KM/active\", 2);"

Then simply invoke activate_ejb_km.cmd in execute() function of a MRL rule from BPPM cell when BPPM cell receives a critical event for slow web application response time. 

Similarly, you can deactivate EJB_KM by including the following PatrolCli command in an OS script called deactivate_ejb_km.cmd located on BPPM cell server:

execpsl "set(\"/EJB_KM/active\", 0);"

Then simply invoke deactivate_ejb_km.cmd in execute() function of a MRL rule from BPPM cell when the previous critical event is cleared in BPPM cell.