Geeks With Blogs

News Dave's Mug View David Oliver's profile on LinkedIn Add to Technorati Favorites Blog Directory for Guildford, Surrey
Dave Oliver's Blog Enterprise Technology Thought Leadership in a FTSE 100

It is a logical, reasonable and best practice stance to examine getting the most out of assets that are already at your disposal especially if there is an emphasis of reduce costs which is one of the driving factors for selecting SOA in the first place.

With SOA one of the most emotive technical issues to tackle is where to host the ESB (Enterprise Service Bus) as there is an attraction to examining hosting the ESB on existing hardware, a mainframe would seem an obvious choice.

In this post I will be examining the arguments for taking this approach and the counter arguments that favour a server approach to help in making an informed choice.

So what are the arguments for having the ESB on the mainframe?

  • The mainframe has a history of reliability and robustness
  • No reservations about the mainframes ability to scale with ease
  • High likelihood that your organisation will already have trained and experienced staff that can maintain and developing the platform
  • Many modern mainframes can run Java and Linux
  • An entry-level mainframe can start at around the $53,000
  • Significant vendors sell products in the SOA space that run on the mainframe
  • Mainframe IO bandwidth is often larger than servers
  • According to one vendor, IBM, to their knowledge a zOS mainframe has never been hacked into via the Internet. I would love to qualify this statement but cannot see it written down anywhere for me to link to, though their sales-guys I’ve met will often refer to this statement, I have no intention of casting aspersions on IBM’s credibility regarding security, but did take this statement with a pitch of salt.

The counters to these arguments are,

  • Mainframes are expensive, not only on initially expense but to upgrade, develop and maintain. The TCO is high.
  • Yes there are SOA products that can run on selected mainframes but there isn’t a great deal of choice.
    For $53,000 you can buy a lot of servers. When clustering servers another debate ensues, the points of this debate I have listed below,
    1. Is one mainframe more robust and resilient than clustered servers? The abswer to this is actually complex but basically boils down to whether you wish to play the percentage game. What is the likelihood of all the servers in a cluster being out at the same time?
    2. With servers there is the option to scale out as well as up
    3. Also the advantage of IO bandwidth comes into question when load is spread across servers
    4. What if you don’t want to write in Java or use Linux?
    5. Is it good architectural practice to have such dependency on a machine?
  • As for security the mainframe does enjoy a good reputation but for my mind as mainframes are not often directly exposed to the Internet their security credentials in this area are not comprehensively tested.

Often depending on your personal stand-point and those of the decision makers, can often swing a decision towards or away from the mainframe especially if the platform has enjoyed significant investment and reliable performance over the years. Many would argue that sweating the asset would be advantageous to get a return on the investment and this is a serious consideration. In this situation it is important to understand the pure technical requirement, I’ve discovered a few simply rules of thumb that I use to help me in this decision and they are,

Are most of the transaction for you SOA design going to start and end on the mainframe because the legacy systems you are interacting with residing on the same platform?

If yes, it would seem logical to pursue an ESB on the mainframe and understand if this is the most cost effective approach for you. As for performance it could save you a valuable network hope. You will need to be clear on the technical limitations, how easy will it be for a mainframe and the ESB to communicate with the outside world, can it talk to Oracle, can it talk to SQL Server for example?

If no, then cut your losses and run. It is so difficult to cost justify a mainframe based ESB you will need to be 100% sure of the justifications arguments if you proceed. I.e. are you willing to fall on your sword in the continued belief that this is the best option?

In brief, be clear on your reasons for taking this direction, otherwise don’t bother, the path of least resistance is the server based route.

Posted on Thursday, July 13, 2006 8:24 AM SOA , Main | Back to top

Comments on this post: Are you considering hosting your ESB on a Mainframe?

Comments are closed.
Comments have been closed on this topic.
Copyright © Dave Oliver | Powered by: