Tuesday, February 12, 2013

The Messaging Whisperers: The Zero Downtime Series

A retail organization I recently worked with had a simple explanation for why downtime is bad. They do a billion dollars a year of business on the web and so one day’s worth of business is a loss of several million dollars. But that isn’t the problem. The real problem is that downtime means losing customers forever. (They’ll try another retailer and they may never come back).

The Zero Downtime Series is all about avoiding outages with IBM WebSphere MQ and WebSphere Message Broker. Multi-instance queue managers and brokers are a great way to achieve high availability at a low cost. (There will be another blog entry on idle standby licenses for MQ and Message Broker, which can help make high availability more affordable).

The first part of the series is a comparison between active / active and active / passive.

Active / Active vs Active / Passive vs Active / Active / Passive:
Multi-instance queue managers can be arranged in several configurations with different costs and benefits. Three of these configurations are:
  1. Active / Passive (One queue manager on two machines. During a failure the queue manager runs on the standby machine).
  2. Active / Active. (Two queue managers on two machines. During a failure both queue managers run on the same machine).
  3. Active / Active / Passive (Two queue managers on three machines. During a failure the failed queue manager runs on the third machine.)
In order to compare costs and benefits, lets consider a case where CPU intensive transformations are being done and that four CPUs are required to meet expected response time.

1. Active / Passive Case
Both the primary and standby machines are quad core. The primary uses regular MQ licensing and the standby machine uses idle-standby licensing (which is only 20% of the cost of regular MQ licensing).
  • Total cost:
    • 2 Quad core machines (or VMs); plus
    • Licensing for 4.8 CPUs: 4 for primary and .8 for standby (20% of 4)
2. Active / Active Case
There are two variants of the Active / Active Case:
  • Need to meet performance requirements during a failure
  • Performance requires do not need to be met during a failure
If performance requirements need to be met during a failure then, two quad core machines are required for the active / active case. Both machines need to be fully licensed.
  • Total cost:
    • 2 Quad core machines (or VMs); plus 
    • Licensing for 8 CPUs (4 for the first machine and 4 for the second machine)
  • Active / Active is good for IO bound message handling (since the traffic is spread over two machines).
  • If performance requirements do not need to be met during a failure, then two dual core active / active machines could be used. This case requires caution. Having performance cut in half (at best) is a significant penalty. (Also be sure to check memory etc). This requires careful capacity planning (as does everything).
3. Active / Active / Passive Case
All three machines are dual-core. The first queue manager runs on the first machine. The second queue manager on machine two. Either Queue Manager can fail over to the 3rd machine.
  • Total Cost:
    • 3 dual core machines (or VMs); plus
    • Licensing for 4.4 CPUs - 2 for the first machine and 2 for the second machine and .4 for the 3 machine (20% of 2)
  • The active / active / passive case has even lower licensing cost than the active / passive case, while having the same ability to handle IO bound messages as the active / active case

Next week, I will be hosting a live webinar titled: Message Broker as your Enterprise Service Bus. During this webinar, I will discuss Message Broker approaches and techniques to reduce complexity by dividing challenges into smaller, more easily manageable pieces. To register, click here.

Have a question? Want to connect?
LinkedIn: AJ Aronoff
Email: aj@prolifics.com

Additionally, I would like to share some excellent articles and walkthroughs for mult-instance queue managers:

AJ Aronoff is the Infrastructure and Messaging Practice Director for Prolifics and an IBM Champion for IBM WebSphere. AJ first joined Prolifics as a Developer, then specialized in WebSphere MQ. He has 25 years experience in the IT field — 17 of those years at Prolifics. As a Prolifics consultant, he has done MQ design, implementation, infrastructure, monitoring and security assignments at several large financial, insurance, retail and communication firms (Bloomberg, Credit Suisse, Deutsche Bank, DTCC, Fidelity, ITG, JPMC, Och Zif, Tokyo Marine, Pep Boys and British Telecom). He has presented on security and infrastructure at Impact, Hursley comes to Minneapolis and Palisades, and MQ User Groups. His customers use Omegamon to monitor over a thousand systems across the globe.