SlideShare a Scribd company logo
© 2015 IBM Corporation
Session # AME-2336
Is Open Source
Messaging the Right
Solution for Your
Company?
Roman Kharkovski
IBM, Executive IT Specialist
kharkovski@us.ibm.com
Agenda
‱ Why Message Oriented Middleware?
‱ IBM Integration Portfolio and OSS
‱ Performance
‱ High availability
‱ Transactional integrity
‱ Administration
‱ Security
‱ Other considerations
‱ TCA & TCO
Why Message Oriented Middleware (MOM)?
‱ MOM architecture principles
‱ Can be reliable and transactional (best effort is also supported)
‱ Asynchronous and Synchronous
‱ Publish / subscribe (in addition to point to point)
‱ Can use optimized wire representations (including MQTT)
‱ Decoupling message producers and consumers logically and
physically
‱ Flexible routing of messages to their destination
‱ Ability to transform messages as they pass through the server
‱ Flexible programming API (selectors, expiration, sequence, and more)
‱ Support for many programming languages, platforms and network
protocols
‱ As the result, good MOM implementation should be able to provide
‱ Easy programming experience
‱ Reliability, availability, scalability and high performance
‱ Highly distributed, heterogeneous and flexible topologies
‱ High security
Leverages 100+
OSS Packages
Leverages 100+
OSS Packages
Leverages 30
OSS Packages
Leverages 40+
OSS Packages
MQ
IBM contributes to 350+
OSS projects
More than 3000 IBM developers
involved in OSS projects
IBM leads 80+ OSS projects
Software
Messaging IBM MQ and MQ Light
Apache ActiveMQ, Pivotal RabbitMQ,
Eclipse paho, OpenAMQ, etc.
Enterprise Service Bus IBM Integration Bus
Mule ESB, Apache ServiceMix, Apache
Synapse, UltraESB, Talend, Spring
Integration, Petals ESB, etc.
Governance & API
Management
IBM WS Service Registry & Repository
IBM API Management
WSO2 Governance Registry, Red Hat
apiman, Tyk, ApiAxle, WSO2 API Mgr, etc.
Adapters and protocols Included with IIB Many OSS projects
B2B integration IBM Sterling B2B Integration Many OSS projects (Jentrata, Avetti, etc.)
Managed file transfer
1. Sterling Connect:Direct
2. IBM MQ MFT
JADE, karonte, fileXhub, DivConq, etc.
Appliance
Messaging IBM MQ Appliance (new!) None
Cloud integration IBM Cast Iron None
m2m Internet of Things IBM MessageSight None
Security gateway IBM DataPower XI52 None
B2B integration IBM DataPower XB Series None
SaaS,PaaS
Managed file transfer IBM Sterling File Transfer (SaaS) None
API management IBM API Management Service (SaaS) WSO2 Api Cloud, 3scale, etc.
Integration
BlueMix MQLight, BlueMix Node Red,
IIB patterns for PureApplication System
and SoftLayer (all PaaS)
RedHat OpenShift Enterprise iPaaS, Mule
CloudHub, snapLogic, WSO2 Managed
Cloud, etc.
Open SourceIBM Integration Portfolio
Some Open Source projects listed above are not yet complete or mature (or both)
According to Gartner, IBM holds #1 position in the middleware software for the past 13 years
Source: Gartner, Market Share Analysis: Enterprise Software Market Share, Worldwide. Published March , 2014
World-wide ranking based on 2013 total software revenue according to Gartner
2013
Rev.
($B)
YTY
growth
rank share growth
BPM 2.49 5.6 % # 1 28.6 % 4 %
ESB 2.56 4.4 % # 1 29.2 % 5.2 %
MOM 1.43 6.1 % # 1 66.7 % 0.6 %
MFT Suites 0.6 9.2% # 1 34.4 % 9.1 %
TP Monitors 1.85 -7.5 % # 1 81.7 % -9.2 %
Appliances AIM 0.12 -6.5 % # 1 59.5 % 6.4 %
B2B 0.85 8.9 % # 1 18.8 % 12 %
App Servers 4.84 9.7 % # 2 29.1 % 6.4 %
Portals 1.8 2.6 % # 2 26.9 % 3.6 %
App Svc Governance 0.51 14.4% # 2 12.7 % 6.9 %
Other AIM 4.47 7.1 % # 6 2.4 % 62.3 %
What is Apache ActiveMQ? (claims ?
‱ Open-source messaging project with Apache 2.0 license
‱ No license fees
‱ Commercial support is available from Ameliant, OpenLogic, Red Hat, Savoir,
TTM, Tomitribe and possibly others
‱ There are known production deployments in different industries
‱ Pure Java implementation on the server with JMS 1.1 API support
‱ Clients in several programming languages (Java, C++, etc.)
‱ Wire formats, including OpenWire, STOMP, MQTT, AMQP
‱ Protocols supported are TCP, NIO, UDP, SSL+NIO, VM, HTTP, WebSockets
‱ High availability and replication options
‱ Persistent and non-Persistent messaging
‱ Basic administration console
‱ Soon to be replaced by Apache Apollo
‱ ActiveMQ is the default JMS provider in Apache Geronimo and can be used as
the un-supported JMS provider in other JEE servers and Java runtimes, but it is
recommended to run it standalone as it is very resource intensive
Performance test architecture
24 cores IBM xSeries server, VMware ESXi
(dedicated server)
VM “mqhost” on Linux x64 (8 cores)
IBM Performance Harness for
JSM 1.2 in “Responders” mode
VM “clienthost” on Linux x64
(8 cores)
TCP/IP
Private
VMware
VMXNET3
connection
Multiple instances of the multi-
threaded IBM Performance
Harness for JMS 1.2 in
“Requestor” mode
WMQ 8.0 queue managers
- Multiple Request Queues
- Multiple Reply Queues
IBM Performance Harness for
JSM 1.2 in “Responders” mode
VM “amqhost” on Linux x64
(8 cores)
IBM Performance Harness for
JSM 1.2 in “Responders” mode
AMQ 5.11 queue managers
- Multiple Request Queues
- Multiple Reply Queues
IBM Performance Harness for
JSM 1.2 in “Responders” mode
SSD
Automated iterative test control
script
Performance test
‱ No significant difference between JDK 1.7 and 1.8 for ActiveMQ performance
‱ Ran hundreds of tests with many different options (changing one at a time):
‱ Number of input and output queues (from 1 to 100)
‱ Number of requestors and responders (from 20 to 150)
‱ JVM heap sizes (from 1GB to 16GB)
‱ Linux kernel tuning settings
‱ Message pre-fetch sizes (from 10 to 2000)
‱ Message sizes (from 20 byte to 10MB)
‱ Transports (tcp, nio, vm) with OpenWire protocol with different settings (nagle on/off,
caching on/off, tightEncoding on/off, etc.)
‱ socketBufferSize (from to 65,536 to 131,072), ioBufferSize (from 8,192 to 16,384)
‱ Many other tuning settings on AMQ were tested in different permutations
‱ Test run times varied from 3 minutes to 24 hours
‱ Used KahaDB for persistent tests as LevelDB failed heavy stress test
‱ When running 100 clients against 5 queues with 1MB messages, ActiveMQ LevelDB
persistence repeatedly crashed the JVM
‱ LevelDB does not support XA and is not a default persistence engine in AMQ 5.11
‱ If one had multiple disks in the system, then it is not possible to have multiple LevelDB
stores configured (unlike KahaDB)
‱ Many open issues on JIRA for LevelDB (crashes, performance issues, etc.)
‱ Monitored memory, CPU, disk, network utilization to achieve maximum utilization
‱ There are many knobs to turn and I do not pretend to have achieved the optimum
IBM MQ is up to 2.1 times faster than ActiveMQ for
persistent messaging
Clients: 100 requestors (remote), 120 responders (local), 8 cores RHEL x86. Server: MQ 8.0, AMQ 5.11 on 64 bit JDK 7, 2 queue managers on 8 cores RHEL 6.6 x64 with 40 GB RAM, 1
SSD, 40 queues (20 input, 20 output for each queue manager). Average of 3 runs 10 minutes each. Workload: JMS Text messages, Persistent.
Full report: http://whywebsphere/?s=activemq Published: February 2015
42%faster
49%
88%
108%
61%
When IBM MQ runs with reduced message service
quality to match RabbitMQ, it wins by 2.9 times
Source: IBM Competitive Project Office
Persistent / Transacted: Asynchronous Mode
2.7x 2.7x
1.7x
1.5x
Data from August 2013
High availability and failover tests
Scenario 1: Power or NIC failure on the
Master with subsequent failover to the
Slave (no active clients)
Passed Passed
Scenario 2: Power or NIC failure on the
Master with subsequent failover to the
Slave (WITH active clients)
Passed
FAILED
1 duplicate message on the client (server is OK)
Scenario 3a: NIC failure on the Master
with failover to the Slave (no active clients)
Passed Passed
Scenario 3b: Restore NIC on former
Master (while it is running)
Passed
FAILED
Cluster ends up with two Masters, 100% of
messages are duplicated (every message is seen
twice), original Slave (now also Master) remains to
be Master, but no longer receives messages and
subsequent failover is no longer possible
Scenario 3c: Restart former Master JVM
after NIC failed and was restored
Passed
FAILED
100% of messages sent to the “false Master” before
it was restarted are lost, but it does come up as
Slave after restart
MQ
Excellent
Limited
No support
*Tested with default KahaDB. New persistence based on LevelDB
has not yet been tested (note that LevelDB does not support XA
transactions and fails under high long running load)
*
High availability demos
http://youtu.be/bS5r3_gkU9k
http://youtu.be/ObFSQ38lq1k
MQ
Transaction Integrity
‱ IBM MQ provides XA Transaction Manager out of the box and supports
2 Phase Commit (2PC) between Queue Manager and the database
when MQI client runs on the same server as the QM (database can be
remote)
‱ To replicate messages between multiple Queue Managers MQ can use
Remote/Local Queue definitions and does not require XA transactions
(store and forward scenario)
‱ Apache ActiveMQ does NOT provide transaction manager
‱ AMQ can be managed by external Transaction Manager and appears to
be compatible with XA protocol. Requirement for 3rd party Transaction
Manager (WAS or WLS) brings additional complexity (installation,
configuration and management) and additional cost (license and
support)
‱ LevelDB does not support XA transactions
‱ WARNING: Without 3rd party Transaction Manager applications
sending/receiving messages between multiple AMQ Broker instances
and other XA resources (DBMS) have high chance of message loss
and/or duplication in case of power, network or software errors (this is
not related to failover and high availability test cases described earlier)
MQ
Administration
Admin GUI MQ Explorer
JMX Console, or
howtio, or JBoss
Operations Network
Interactive command line and
scripting
MQ Scripting
Commands (MQSC)
Limited to stop/start
and a couple of other
commands
Programmatic admin API
MQ Administrative
Interface (MQAI)
JMX
Administration by sending
messages
Programmable
Command Formats
(PCF)
Not available
3rd party admin tools Many 3rd party tools
Very few with limited
function
Configuration files
mq.ini
+ few other files
activemq.xml
+ few other files
MQExcellent
Limited
No support
Examples of IBM MQ command line options
Rich set of MQSC
commands to manage
every aspect of MQ
‱ Manage queue manager and
its objects, queues, process
definitions, channels, client
connection channels,
listeners, services, namelists,
clusters, and security)
‱ interactively or via scripting
‱ local or remote servers
Examples of IBM MQ administration screens
Examples of ActiveMQ JMX administration GUI
Examples of hawtio administration GUI (3rd party)
Administration: the good , the bad  and the ugly 
 GUI and cmd line admin tools can manage many servers from a “single pane of glass”,
including clustered and standalone configurations
 Feature rich MQ Explorer, command line tools and management APIs provide management
of all aspects of the configuration
 All administrative tools have detailed help options and examples
 Performance tuning and troubleshooting are very well documented. Detailed performance
reports are available
 Many more configuration options are provided for ultimate flexibility, however default
options work very well for many installations
 Command line tools are very limited to start, stop, add instance and get status commands –
all for individual servers, not centralized mgmt
 No “single pane of glass” management provided
 Very limited embedded JMX based Admin GUI (also several 3rd party tools, such as
Howtio), but it requires manual file editing to make changes for every individual server
 Small subset of administrative commands is available via JMX beans, but in most cases
requires administrators manual file editing
 Performance tuning and troubleshooting is fairly complicated and involves intimate
knowledge of JVM, ActiveMQ, KahaDB, OpenSSL, etc.
MQ
Security comparison
Standards
Compliance
FIPS 140-2 C
Common Criteria certification at EAL2
NIST 800-131A
Role-
based
Strong authentication policies
Strong authorization policies
Auditing
Auditing
Audit file encryption
Audit Monitoring
DataSecurity
Message content encryption
IP Blocking to prevent DoS
Encrypted Data store
Misc.
Proxy support within the DMZ
Tunneling support within the DMZ
Documentation
MQ
Excellent
Limited
No support
Documentation: the good , the bad  and the ugly 
 IBM MQ provides very detailed and accurate information on all aspects of the
product, including development, installation, configuration, operations, etc.
(can be accessed remotely or installed locally)
 IBM provides detailed performance reports with tuning recommendations
 Redbooks (security, high availability, development, etc.)
 Some parts of the documentation are not easy to follow
 Apache ActiveMQ documentation is very limited and does not cover many
areas of the product, it is also often not up to date for the recent versions, thus
requires access to the source code to understand how to configure the
product (users are complaining). High level concepts are covered, but many
details must be “googled around” with varying luck

 No performance reports for recent versions, no sizing guidelines. Some
performance information is misleading (example - KahaDB vs LevelDB)
 Limited information on tuning and best practices
MQ
MQ Light : Software and Cloud
‱ Messaging that application developers will
love to use, helping them make
responsive applications that scale easily
‱ 3 ways to get it:
‱ Bluemix service
‱ MQ Light software download
‱ SoD for support in MQ v8
‱ Open APIs crafted to feel natural in a
growing range of popular languages
‱ Tooling that makes modular app
development easy
23
User forums: the good , the bad  and the ugly 
 User forums are very active (over 60,000 topics, ~380,000 posts on
mqseries.net, developerWorks and stackoverflow.com forums)
 On the main user forum ~90% of questions are answered (mqseries.net)
 Average replies per question 6.6
 On stackoverflow.com 76% of questions are marked as answered
 When I was doing performance testing, all of my questions were answered
 User forums are relatively active (total of ~15,000 topics on main forum and
stackoverflow.com)
 On stackoverflow.com 66% of questions are marked as answered
 On the main user forum less than 50% of questions are answered
 Average replies per question 2.2 (keep in mind that not all are answers)
 When I was doing my research and performance testing, not a single one of
my own questions was answered

MQ
Features comparison
Messaging
JMS 1.1, 2.0 Supported JMS 1.1
AMQP Requires a bridge Supported
MQTT Supported Supported
Java, C++/C#, PHP clients Supported Supported
Managed file transfer Provided via MQ MFT in MQ Advanced Not provided
QualityofServices
Failover Proven Messages can be lost or duplicated
High availability Clustered QMs and Multi-Instance QMs Network failures result in 2 conflicting masters
Scalability Can have many clustered QMs Supports networks of brokers
Transaction Manager (TMgr) Provided (2PC between QM and DBMS) Requires 3rd party
Can serve as XA resource Can be managed by external TMgr Can be managed by external TMgr
Performance Best in class Significantly slower than MQ for persistent msgs
Admin
Management GUI MQ Explorer is very feature rich Very limited (file editing required)
Management CLI Rich set of command lines for mgmt Very limited (file editing required)
Management API Rich API for management Limited set of JMX beans available
One pane mgmt Can manage all servers from one place Each server must be managed individually
Deployment patterns Provided in IBM SCO, IPAS, SoftLayer Possibly provided via 3rd party
Misc.
Documentation Detailed and accurate Incomplete and not always accurate
Disk and memory footprint 650 MB disk, under 1GB of RAM 70 MB disk, 2+ GB RAM
Integration with DataPower Fully integrated Not supported
Platform support Over 20 platforms 3rd party support for limited set of platforms
Installation time Basic scripted install takes 60 sec Basic scripted install takes 15 sec
Security
Message encryption Advanced Message Security Custom programming required
Auditing and logging All, but few administrative actions File editing actions are not audited
Heartbleed bug Not impacted Impacted as it relies on Open SSL
Authentication/Authorization Supported Supported
Excellent
Good
Limited
No support
MQ
<10%‱ Software license &
subscription costs1
‱ Hardware and networking costs
‱ Downtime costs (planned and unplanned)
‱ Upgrades cost
‱ SLA penalties
‱ Deployment cost
‱ Operational support cost (day to day operations)
‱ Performance costs
‱ Cost of selection of the vendor software
‱ Requirements analysis cost
‱ Developer, admin and end-user training cost
‱ Application design and development costs
‱ Cost of integration with other systems
‱ Quality, user acceptance and other testing costs
‱ Application enhancements and bug fixes cost
‱ Replacement costs
‱ Cost of other risks (including security breaches)
90%
(1) Source: http://bit.ly/1yH5oKZ
TCO vs. TCA
Independent industry studies on software costs
“Software maintenance and evolution is a considerably understudied area while taking into account its cost
effects
 Although there has not been much empirical research on this particular area, the magnitude of
the maintenance cost effects is clearly identifiable. The relative cost for maintaining software and
managing its evolution now represents more than 90% of its total cost. This is referred to as legacy
crisis by Seacord et al. (2003).”
Various studies on this subject are described in the table below1:
Year Proportion of software
maintenance costs Definition Reference
2000 >90%
Software cost devoted to system maintenance
& evolution / total software costs
Erlikh (2000)
1993 75%
Software maintenance / information system budget
(in Fortune 1000 companies)
Eastwood (1993)
1990 >90%
Software cost devoted to system maintenance
& evolution / total software costs
Moad (1990)
1990 60-70%
Software maintenance / total management
information systems (MIS) operating budgets
Huff (1990)
1988 60-70%
Software maintenance / total management
information systems (MIS) operating budgets
Port (1988)
1984 65-75%
Effort spent on software maintenance /
total available software engineering effort.
McKee (1984)
1981 >50%
Staff time spent on maintenance / total time
(in 487 organizations)
Lientz & Swanson (1981)
1979 67% Maintenance costs / total software costs Zelkowitz et al. (1979)
(1) Source: http://bit.ly/1yH5oKZ
Clients struggle to overcome barriers of time,
cost and risk
Top Causes of Project Delays
Hardware
Troubleshooting and tuning
production environment
Integration, configuration and
testing of the infrastructure
Installation, cabling and network
access for the environment
Software
Integration, configuration and
testing of applications
Integration, configuration and
testing of middleware
Configuration, build and
deployment of applications
45%
45%
29%
41%
35%
34%
Phase Time (days) Budget
Specify/design 73 - 96 14% - 16%
Procure 57 - 112 19% - 21%
Implement 74 – 93 12%
Configure/test 74 – 80 10% - 11%
Cluster & HA 66 – 104 11% - 12%
Backup 44 – 108 10%
Tune 89 – 98 9% - 10%
Management 67 – 110 9 – 10%
34% of new IT projects (US) deploy late
Typical IT Project Time and Budget
Source: Forrester Consulting
Average cost of downtime per industry
Industry segment Cost per Hour
(Millions)
Energy $ 2.8
Telecommunications $ 2.1
Manufacturing $ 1.6
Financial $ 1.5
Information Technology $ 1.4
Insurance $ 1.2
Retail $ 1.1
Pharmaceuticals $ 1.1
Banking $ 1.0
Consumer Products $ 0.8
Chemicals $ 0.7
Transportation $ 0.7
Sources: ITG Value Proposition for Siebel Enterprise Applications, Business case for IBM System z & Robert Frances Group
&*^$#@ ???
Zzzzzzz
.
Support policy for IBM vs. Red Hat
‱ Production
‱ all cores in production must be licensed
‱ Development
‱ MQ, WAS for Developers (including Liberty), JBoss A-MQ, JBoss EAP are free
for development environment
‱ See details here
‱ Non-production
‱ WAS, MQ, JBoss A-MQ, JBoss EAP must be licensed for non-production
‱ See details here
‱ Number of support contacts
‱ IBM: unlimited
‱ Red Hat: depends on the number of cores licensed: 2 contacts up to 32 cores,
4 contacts up to 64 cores, etc. up to 12 contacts for 192 cores (more details)
Cost comparison: IBM MQ vs. Red Hat JBoss AMQ
See more details here: http://whywebsphere.com/2014/07/30/websphere-mq-vs-red-hat-jboss-a-mq-cost-calculator/
This cost comparison considers License & Support costs - only the tip of the iceberg
Assuming 30% discount from list for both vendors.
The history of Red Hat and JBoss messaging
JBoss
AS v3
2002 2006
JBossMQ
JBoss
AS v5
JBoss Messaging
2009
JBoss
AS 6
HornetQ
2013
JBoss
XQ
ActiveMQ
Red Hat MRG2008
Apache Qpid
* - New Red Hat “strategic” messaging is described to be
a REWRITE and a combination of “best ideas” from
Apache Qpid + Red Hat HornetQ + Apache ActiveMQ
2015 NEW* ?
?
White paper from Edison Group
Visit http://whywebsphere.com/2014/05/30/wmqvsamq/ blog to download the white paper
IBM MQ vs Apache ActiveMQ
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without
written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as
of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information.
THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR
ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION,
LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under
which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how
those customers have used IBM products and the results they may have achie ved. Actual performance, cost, savings or other results in other operating
environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available
in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM.
All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice
to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification
and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take
to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in
compliance with any law.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available
sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other
claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not
warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY
DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks
or other intellectual property right.
‱ IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS¼, Enterprise Document Management Systemℱ, Global Business
Services Âź, Global Technology Services Âź, Information on Demand, ILOG, MaximoÂź, MQIntegratorÂź, MQSeriesÂź, NetcoolÂź, OMEGAMON,
OpenPower, PureAnalyticsℱ, PureApplication¼, pureClusterℱ, PureCoverage¼, PureData¼, PureExperience¼, PureFlex¼, pureQuery¼, pureScale¼,
PureSystemsÂź, QRadarÂź, RationalÂź, RhapsodyÂź, SoDA, SPSS, StoredIQ, TivoliÂź, TrusteerÂź, urban{code}Âź, Watson, WebSphereÂź, WorklightÂź, X-
ForceÂź and System zÂź Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product
and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and
trademark information" at: www.ibm.com/legal/copytrade.shtml.
36
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone, laptop
or conference kiosk.
Roman Kharkovski
IBM, Executive IT Specialist
kharkovski@us.ibm.com

More Related Content

PPTX
Virtual machine
PPTX
Best Practices for API Security
PPTX
Virtual machine
PDF
SSH - Secure Shell
PDF
Mise en place de zabbix sur Ubuntu 22.04
PPTX
MuleSoft Architecture Presentation
PPTX
Virtualization vs. Cloud Computing: What's the Difference?
PDF
Infrastructure as Code
Virtual machine
Best Practices for API Security
Virtual machine
SSH - Secure Shell
Mise en place de zabbix sur Ubuntu 22.04
MuleSoft Architecture Presentation
Virtualization vs. Cloud Computing: What's the Difference?
Infrastructure as Code

What's hot (20)

PPTX
DevOps concepts, tools, and technologies v1.0
PDF
PPTX
DevOps and Tools
PPTX
Monolithic architecture
PDF
Cloud Migration: Moving Data and Infrastructure to the Cloud
PPTX
Microsoft azure
PPTX
Managing APIs with MuleSoft
PDF
DevOps for beginners
PPTX
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
PDF
Az 104 session 4: azure storage
PDF
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
PPTX
Virtualization using VMWare Workstation
PDF
20210317 AWS Black Belt Online Seminar Amazon MQ
PPTX
ă‚”ăƒăƒŒăƒˆ スンゾニケがèȘžă‚‹ă€Microsoft Azure ă‚’æ”Żăˆă‚‹ă‚€ăƒłăƒ•ăƒ©ăźç§˜ćŻ†
PPTX
Jenkinsべamazon ecsど゙ コンテナCI
PPTX
Microservices Best Practices
PDF
Defining Your Cloud Strategy
PPTX
Cloud computing
PPTX
Monoliths and Microservices
PPTX
Zabbix
DevOps concepts, tools, and technologies v1.0
DevOps and Tools
Monolithic architecture
Cloud Migration: Moving Data and Infrastructure to the Cloud
Microsoft azure
Managing APIs with MuleSoft
DevOps for beginners
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Az 104 session 4: azure storage
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
Virtualization using VMWare Workstation
20210317 AWS Black Belt Online Seminar Amazon MQ
ă‚”ăƒăƒŒăƒˆ スンゾニケがèȘžă‚‹ă€Microsoft Azure ă‚’æ”Żăˆă‚‹ă‚€ăƒłăƒ•ăƒ©ăźç§˜ćŻ†
Jenkinsべamazon ecsど゙ コンテナCI
Microservices Best Practices
Defining Your Cloud Strategy
Cloud computing
Monoliths and Microservices
Zabbix
Ad

Similar to IBM MQ vs Apache ActiveMQ (20)

PDF
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
PDF
Whats new in MQ V9.1
PPTX
ActiveMQ interview Questions and Answers
PDF
What's new in IBM MQ Messaging
PDF
What's new in IBM MQ, March 2018
PDF
IBM MQ - What's new in 9.2
PDF
533-MigratingYourMQIApplicationsToJMS.pdf
PPTX
Jms deep dive [con4864]
PDF
What's new in MQ 9.1.* on z/OS
PDF
IBM MQ What's new - Sept 2022
PDF
InterConnect 2016: IBM MQ self-service and as-a-service
PDF
IBM MQ Update, including 9.1.2 CD
PDF
Enterprise Messaging With ActiveMQ and Spring JMS
PDF
Whats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CD
PDF
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
PPTX
IBM MQ Advanced - IBM InterConnect 2016
PDF
IBM MQ Whats new - up to 9.3.4.pdf
PDF
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
PPT
Apache ActiveMQ - Enterprise messaging in action
 
PPTX
ZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
IBM IMPACT 2014 AMC-1866 Introduction to IBM Messaging Capabilities
Whats new in MQ V9.1
ActiveMQ interview Questions and Answers
What's new in IBM MQ Messaging
What's new in IBM MQ, March 2018
IBM MQ - What's new in 9.2
533-MigratingYourMQIApplicationsToJMS.pdf
Jms deep dive [con4864]
What's new in MQ 9.1.* on z/OS
IBM MQ What's new - Sept 2022
InterConnect 2016: IBM MQ self-service and as-a-service
IBM MQ Update, including 9.1.2 CD
Enterprise Messaging With ActiveMQ and Spring JMS
Whats new in IBM MQ; V9 LTS, V9.0.1 CD and V9.0.2 CD
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
IBM MQ Advanced - IBM InterConnect 2016
IBM MQ Whats new - up to 9.3.4.pdf
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
Apache ActiveMQ - Enterprise messaging in action
 
ZendCon - Integration and Asynchronous Processing with ActiveMQ and Camel
Ad

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
history of c programming in notes for students .pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
AI in Product Development-omnex systems
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PDF
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms I-SECS-1021-03
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Online Work Permit System for Fast Permit Processing
Odoo Companies in India – Driving Business Transformation.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Operating system designcfffgfgggggggvggggggggg
history of c programming in notes for students .pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Wondershare Filmora 15 Crack With Activation Key [2025
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
AI in Product Development-omnex systems
Softaken Excel to vCard Converter Software.pdf
L1 - Introduction to python Backend.pptx
ai tools demonstartion for schools and inter college
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
Understanding Forklifts - TECH EHS Solution

IBM MQ vs Apache ActiveMQ

  • 1. © 2015 IBM Corporation Session # AME-2336 Is Open Source Messaging the Right Solution for Your Company? Roman Kharkovski IBM, Executive IT Specialist kharkovski@us.ibm.com
  • 2. Agenda ‱ Why Message Oriented Middleware? ‱ IBM Integration Portfolio and OSS ‱ Performance ‱ High availability ‱ Transactional integrity ‱ Administration ‱ Security ‱ Other considerations ‱ TCA & TCO
  • 3. Why Message Oriented Middleware (MOM)? ‱ MOM architecture principles ‱ Can be reliable and transactional (best effort is also supported) ‱ Asynchronous and Synchronous ‱ Publish / subscribe (in addition to point to point) ‱ Can use optimized wire representations (including MQTT) ‱ Decoupling message producers and consumers logically and physically ‱ Flexible routing of messages to their destination ‱ Ability to transform messages as they pass through the server ‱ Flexible programming API (selectors, expiration, sequence, and more) ‱ Support for many programming languages, platforms and network protocols ‱ As the result, good MOM implementation should be able to provide ‱ Easy programming experience ‱ Reliability, availability, scalability and high performance ‱ Highly distributed, heterogeneous and flexible topologies ‱ High security
  • 4. Leverages 100+ OSS Packages Leverages 100+ OSS Packages Leverages 30 OSS Packages Leverages 40+ OSS Packages MQ IBM contributes to 350+ OSS projects More than 3000 IBM developers involved in OSS projects IBM leads 80+ OSS projects
  • 5. Software Messaging IBM MQ and MQ Light Apache ActiveMQ, Pivotal RabbitMQ, Eclipse paho, OpenAMQ, etc. Enterprise Service Bus IBM Integration Bus Mule ESB, Apache ServiceMix, Apache Synapse, UltraESB, Talend, Spring Integration, Petals ESB, etc. Governance & API Management IBM WS Service Registry & Repository IBM API Management WSO2 Governance Registry, Red Hat apiman, Tyk, ApiAxle, WSO2 API Mgr, etc. Adapters and protocols Included with IIB Many OSS projects B2B integration IBM Sterling B2B Integration Many OSS projects (Jentrata, Avetti, etc.) Managed file transfer 1. Sterling Connect:Direct 2. IBM MQ MFT JADE, karonte, fileXhub, DivConq, etc. Appliance Messaging IBM MQ Appliance (new!) None Cloud integration IBM Cast Iron None m2m Internet of Things IBM MessageSight None Security gateway IBM DataPower XI52 None B2B integration IBM DataPower XB Series None SaaS,PaaS Managed file transfer IBM Sterling File Transfer (SaaS) None API management IBM API Management Service (SaaS) WSO2 Api Cloud, 3scale, etc. Integration BlueMix MQLight, BlueMix Node Red, IIB patterns for PureApplication System and SoftLayer (all PaaS) RedHat OpenShift Enterprise iPaaS, Mule CloudHub, snapLogic, WSO2 Managed Cloud, etc. Open SourceIBM Integration Portfolio Some Open Source projects listed above are not yet complete or mature (or both)
  • 6. According to Gartner, IBM holds #1 position in the middleware software for the past 13 years Source: Gartner, Market Share Analysis: Enterprise Software Market Share, Worldwide. Published March , 2014 World-wide ranking based on 2013 total software revenue according to Gartner 2013 Rev. ($B) YTY growth rank share growth BPM 2.49 5.6 % # 1 28.6 % 4 % ESB 2.56 4.4 % # 1 29.2 % 5.2 % MOM 1.43 6.1 % # 1 66.7 % 0.6 % MFT Suites 0.6 9.2% # 1 34.4 % 9.1 % TP Monitors 1.85 -7.5 % # 1 81.7 % -9.2 % Appliances AIM 0.12 -6.5 % # 1 59.5 % 6.4 % B2B 0.85 8.9 % # 1 18.8 % 12 % App Servers 4.84 9.7 % # 2 29.1 % 6.4 % Portals 1.8 2.6 % # 2 26.9 % 3.6 % App Svc Governance 0.51 14.4% # 2 12.7 % 6.9 % Other AIM 4.47 7.1 % # 6 2.4 % 62.3 %
  • 7. What is Apache ActiveMQ? (claims ? ‱ Open-source messaging project with Apache 2.0 license ‱ No license fees ‱ Commercial support is available from Ameliant, OpenLogic, Red Hat, Savoir, TTM, Tomitribe and possibly others ‱ There are known production deployments in different industries ‱ Pure Java implementation on the server with JMS 1.1 API support ‱ Clients in several programming languages (Java, C++, etc.) ‱ Wire formats, including OpenWire, STOMP, MQTT, AMQP ‱ Protocols supported are TCP, NIO, UDP, SSL+NIO, VM, HTTP, WebSockets ‱ High availability and replication options ‱ Persistent and non-Persistent messaging ‱ Basic administration console ‱ Soon to be replaced by Apache Apollo ‱ ActiveMQ is the default JMS provider in Apache Geronimo and can be used as the un-supported JMS provider in other JEE servers and Java runtimes, but it is recommended to run it standalone as it is very resource intensive
  • 8. Performance test architecture 24 cores IBM xSeries server, VMware ESXi (dedicated server) VM “mqhost” on Linux x64 (8 cores) IBM Performance Harness for JSM 1.2 in “Responders” mode VM “clienthost” on Linux x64 (8 cores) TCP/IP Private VMware VMXNET3 connection Multiple instances of the multi- threaded IBM Performance Harness for JMS 1.2 in “Requestor” mode WMQ 8.0 queue managers - Multiple Request Queues - Multiple Reply Queues IBM Performance Harness for JSM 1.2 in “Responders” mode VM “amqhost” on Linux x64 (8 cores) IBM Performance Harness for JSM 1.2 in “Responders” mode AMQ 5.11 queue managers - Multiple Request Queues - Multiple Reply Queues IBM Performance Harness for JSM 1.2 in “Responders” mode SSD Automated iterative test control script
  • 9. Performance test ‱ No significant difference between JDK 1.7 and 1.8 for ActiveMQ performance ‱ Ran hundreds of tests with many different options (changing one at a time): ‱ Number of input and output queues (from 1 to 100) ‱ Number of requestors and responders (from 20 to 150) ‱ JVM heap sizes (from 1GB to 16GB) ‱ Linux kernel tuning settings ‱ Message pre-fetch sizes (from 10 to 2000) ‱ Message sizes (from 20 byte to 10MB) ‱ Transports (tcp, nio, vm) with OpenWire protocol with different settings (nagle on/off, caching on/off, tightEncoding on/off, etc.) ‱ socketBufferSize (from to 65,536 to 131,072), ioBufferSize (from 8,192 to 16,384) ‱ Many other tuning settings on AMQ were tested in different permutations ‱ Test run times varied from 3 minutes to 24 hours ‱ Used KahaDB for persistent tests as LevelDB failed heavy stress test ‱ When running 100 clients against 5 queues with 1MB messages, ActiveMQ LevelDB persistence repeatedly crashed the JVM ‱ LevelDB does not support XA and is not a default persistence engine in AMQ 5.11 ‱ If one had multiple disks in the system, then it is not possible to have multiple LevelDB stores configured (unlike KahaDB) ‱ Many open issues on JIRA for LevelDB (crashes, performance issues, etc.) ‱ Monitored memory, CPU, disk, network utilization to achieve maximum utilization ‱ There are many knobs to turn and I do not pretend to have achieved the optimum
  • 10. IBM MQ is up to 2.1 times faster than ActiveMQ for persistent messaging Clients: 100 requestors (remote), 120 responders (local), 8 cores RHEL x86. Server: MQ 8.0, AMQ 5.11 on 64 bit JDK 7, 2 queue managers on 8 cores RHEL 6.6 x64 with 40 GB RAM, 1 SSD, 40 queues (20 input, 20 output for each queue manager). Average of 3 runs 10 minutes each. Workload: JMS Text messages, Persistent. Full report: http://whywebsphere/?s=activemq Published: February 2015 42%faster 49% 88% 108% 61%
  • 11. When IBM MQ runs with reduced message service quality to match RabbitMQ, it wins by 2.9 times Source: IBM Competitive Project Office Persistent / Transacted: Asynchronous Mode 2.7x 2.7x 1.7x 1.5x Data from August 2013
  • 12. High availability and failover tests Scenario 1: Power or NIC failure on the Master with subsequent failover to the Slave (no active clients) Passed Passed Scenario 2: Power or NIC failure on the Master with subsequent failover to the Slave (WITH active clients) Passed FAILED 1 duplicate message on the client (server is OK) Scenario 3a: NIC failure on the Master with failover to the Slave (no active clients) Passed Passed Scenario 3b: Restore NIC on former Master (while it is running) Passed FAILED Cluster ends up with two Masters, 100% of messages are duplicated (every message is seen twice), original Slave (now also Master) remains to be Master, but no longer receives messages and subsequent failover is no longer possible Scenario 3c: Restart former Master JVM after NIC failed and was restored Passed FAILED 100% of messages sent to the “false Master” before it was restarted are lost, but it does come up as Slave after restart MQ Excellent Limited No support *Tested with default KahaDB. New persistence based on LevelDB has not yet been tested (note that LevelDB does not support XA transactions and fails under high long running load) *
  • 14. Transaction Integrity ‱ IBM MQ provides XA Transaction Manager out of the box and supports 2 Phase Commit (2PC) between Queue Manager and the database when MQI client runs on the same server as the QM (database can be remote) ‱ To replicate messages between multiple Queue Managers MQ can use Remote/Local Queue definitions and does not require XA transactions (store and forward scenario) ‱ Apache ActiveMQ does NOT provide transaction manager ‱ AMQ can be managed by external Transaction Manager and appears to be compatible with XA protocol. Requirement for 3rd party Transaction Manager (WAS or WLS) brings additional complexity (installation, configuration and management) and additional cost (license and support) ‱ LevelDB does not support XA transactions ‱ WARNING: Without 3rd party Transaction Manager applications sending/receiving messages between multiple AMQ Broker instances and other XA resources (DBMS) have high chance of message loss and/or duplication in case of power, network or software errors (this is not related to failover and high availability test cases described earlier) MQ
  • 15. Administration Admin GUI MQ Explorer JMX Console, or howtio, or JBoss Operations Network Interactive command line and scripting MQ Scripting Commands (MQSC) Limited to stop/start and a couple of other commands Programmatic admin API MQ Administrative Interface (MQAI) JMX Administration by sending messages Programmable Command Formats (PCF) Not available 3rd party admin tools Many 3rd party tools Very few with limited function Configuration files mq.ini + few other files activemq.xml + few other files MQExcellent Limited No support
  • 16. Examples of IBM MQ command line options Rich set of MQSC commands to manage every aspect of MQ ‱ Manage queue manager and its objects, queues, process definitions, channels, client connection channels, listeners, services, namelists, clusters, and security) ‱ interactively or via scripting ‱ local or remote servers
  • 17. Examples of IBM MQ administration screens
  • 18. Examples of ActiveMQ JMX administration GUI
  • 19. Examples of hawtio administration GUI (3rd party)
  • 20. Administration: the good , the bad  and the ugly   GUI and cmd line admin tools can manage many servers from a “single pane of glass”, including clustered and standalone configurations  Feature rich MQ Explorer, command line tools and management APIs provide management of all aspects of the configuration  All administrative tools have detailed help options and examples  Performance tuning and troubleshooting are very well documented. Detailed performance reports are available  Many more configuration options are provided for ultimate flexibility, however default options work very well for many installations  Command line tools are very limited to start, stop, add instance and get status commands – all for individual servers, not centralized mgmt  No “single pane of glass” management provided  Very limited embedded JMX based Admin GUI (also several 3rd party tools, such as Howtio), but it requires manual file editing to make changes for every individual server  Small subset of administrative commands is available via JMX beans, but in most cases requires administrators manual file editing  Performance tuning and troubleshooting is fairly complicated and involves intimate knowledge of JVM, ActiveMQ, KahaDB, OpenSSL, etc. MQ
  • 21. Security comparison Standards Compliance FIPS 140-2 C Common Criteria certification at EAL2 NIST 800-131A Role- based Strong authentication policies Strong authorization policies Auditing Auditing Audit file encryption Audit Monitoring DataSecurity Message content encryption IP Blocking to prevent DoS Encrypted Data store Misc. Proxy support within the DMZ Tunneling support within the DMZ Documentation MQ Excellent Limited No support
  • 22. Documentation: the good , the bad  and the ugly   IBM MQ provides very detailed and accurate information on all aspects of the product, including development, installation, configuration, operations, etc. (can be accessed remotely or installed locally)  IBM provides detailed performance reports with tuning recommendations  Redbooks (security, high availability, development, etc.)  Some parts of the documentation are not easy to follow  Apache ActiveMQ documentation is very limited and does not cover many areas of the product, it is also often not up to date for the recent versions, thus requires access to the source code to understand how to configure the product (users are complaining). High level concepts are covered, but many details must be “googled around” with varying luck
  No performance reports for recent versions, no sizing guidelines. Some performance information is misleading (example - KahaDB vs LevelDB)  Limited information on tuning and best practices MQ
  • 23. MQ Light : Software and Cloud ‱ Messaging that application developers will love to use, helping them make responsive applications that scale easily ‱ 3 ways to get it: ‱ Bluemix service ‱ MQ Light software download ‱ SoD for support in MQ v8 ‱ Open APIs crafted to feel natural in a growing range of popular languages ‱ Tooling that makes modular app development easy 23
  • 24. User forums: the good , the bad  and the ugly   User forums are very active (over 60,000 topics, ~380,000 posts on mqseries.net, developerWorks and stackoverflow.com forums)  On the main user forum ~90% of questions are answered (mqseries.net)  Average replies per question 6.6  On stackoverflow.com 76% of questions are marked as answered  When I was doing performance testing, all of my questions were answered  User forums are relatively active (total of ~15,000 topics on main forum and stackoverflow.com)  On stackoverflow.com 66% of questions are marked as answered  On the main user forum less than 50% of questions are answered  Average replies per question 2.2 (keep in mind that not all are answers)  When I was doing my research and performance testing, not a single one of my own questions was answered
 MQ
  • 25. Features comparison Messaging JMS 1.1, 2.0 Supported JMS 1.1 AMQP Requires a bridge Supported MQTT Supported Supported Java, C++/C#, PHP clients Supported Supported Managed file transfer Provided via MQ MFT in MQ Advanced Not provided QualityofServices Failover Proven Messages can be lost or duplicated High availability Clustered QMs and Multi-Instance QMs Network failures result in 2 conflicting masters Scalability Can have many clustered QMs Supports networks of brokers Transaction Manager (TMgr) Provided (2PC between QM and DBMS) Requires 3rd party Can serve as XA resource Can be managed by external TMgr Can be managed by external TMgr Performance Best in class Significantly slower than MQ for persistent msgs Admin Management GUI MQ Explorer is very feature rich Very limited (file editing required) Management CLI Rich set of command lines for mgmt Very limited (file editing required) Management API Rich API for management Limited set of JMX beans available One pane mgmt Can manage all servers from one place Each server must be managed individually Deployment patterns Provided in IBM SCO, IPAS, SoftLayer Possibly provided via 3rd party Misc. Documentation Detailed and accurate Incomplete and not always accurate Disk and memory footprint 650 MB disk, under 1GB of RAM 70 MB disk, 2+ GB RAM Integration with DataPower Fully integrated Not supported Platform support Over 20 platforms 3rd party support for limited set of platforms Installation time Basic scripted install takes 60 sec Basic scripted install takes 15 sec Security Message encryption Advanced Message Security Custom programming required Auditing and logging All, but few administrative actions File editing actions are not audited Heartbleed bug Not impacted Impacted as it relies on Open SSL Authentication/Authorization Supported Supported Excellent Good Limited No support MQ
  • 26. <10%‱ Software license & subscription costs1 ‱ Hardware and networking costs ‱ Downtime costs (planned and unplanned) ‱ Upgrades cost ‱ SLA penalties ‱ Deployment cost ‱ Operational support cost (day to day operations) ‱ Performance costs ‱ Cost of selection of the vendor software ‱ Requirements analysis cost ‱ Developer, admin and end-user training cost ‱ Application design and development costs ‱ Cost of integration with other systems ‱ Quality, user acceptance and other testing costs ‱ Application enhancements and bug fixes cost ‱ Replacement costs ‱ Cost of other risks (including security breaches) 90% (1) Source: http://bit.ly/1yH5oKZ TCO vs. TCA
  • 27. Independent industry studies on software costs “Software maintenance and evolution is a considerably understudied area while taking into account its cost effects
 Although there has not been much empirical research on this particular area, the magnitude of the maintenance cost effects is clearly identifiable. The relative cost for maintaining software and managing its evolution now represents more than 90% of its total cost. This is referred to as legacy crisis by Seacord et al. (2003).” Various studies on this subject are described in the table below1: Year Proportion of software maintenance costs Definition Reference 2000 >90% Software cost devoted to system maintenance & evolution / total software costs Erlikh (2000) 1993 75% Software maintenance / information system budget (in Fortune 1000 companies) Eastwood (1993) 1990 >90% Software cost devoted to system maintenance & evolution / total software costs Moad (1990) 1990 60-70% Software maintenance / total management information systems (MIS) operating budgets Huff (1990) 1988 60-70% Software maintenance / total management information systems (MIS) operating budgets Port (1988) 1984 65-75% Effort spent on software maintenance / total available software engineering effort. McKee (1984) 1981 >50% Staff time spent on maintenance / total time (in 487 organizations) Lientz & Swanson (1981) 1979 67% Maintenance costs / total software costs Zelkowitz et al. (1979) (1) Source: http://bit.ly/1yH5oKZ
  • 28. Clients struggle to overcome barriers of time, cost and risk Top Causes of Project Delays Hardware Troubleshooting and tuning production environment Integration, configuration and testing of the infrastructure Installation, cabling and network access for the environment Software Integration, configuration and testing of applications Integration, configuration and testing of middleware Configuration, build and deployment of applications 45% 45% 29% 41% 35% 34% Phase Time (days) Budget Specify/design 73 - 96 14% - 16% Procure 57 - 112 19% - 21% Implement 74 – 93 12% Configure/test 74 – 80 10% - 11% Cluster & HA 66 – 104 11% - 12% Backup 44 – 108 10% Tune 89 – 98 9% - 10% Management 67 – 110 9 – 10% 34% of new IT projects (US) deploy late Typical IT Project Time and Budget Source: Forrester Consulting
  • 29. Average cost of downtime per industry Industry segment Cost per Hour (Millions) Energy $ 2.8 Telecommunications $ 2.1 Manufacturing $ 1.6 Financial $ 1.5 Information Technology $ 1.4 Insurance $ 1.2 Retail $ 1.1 Pharmaceuticals $ 1.1 Banking $ 1.0 Consumer Products $ 0.8 Chemicals $ 0.7 Transportation $ 0.7 Sources: ITG Value Proposition for Siebel Enterprise Applications, Business case for IBM System z & Robert Frances Group &*^$#@ ??? Zzzzzzz
.
  • 30. Support policy for IBM vs. Red Hat ‱ Production ‱ all cores in production must be licensed ‱ Development ‱ MQ, WAS for Developers (including Liberty), JBoss A-MQ, JBoss EAP are free for development environment ‱ See details here ‱ Non-production ‱ WAS, MQ, JBoss A-MQ, JBoss EAP must be licensed for non-production ‱ See details here ‱ Number of support contacts ‱ IBM: unlimited ‱ Red Hat: depends on the number of cores licensed: 2 contacts up to 32 cores, 4 contacts up to 64 cores, etc. up to 12 contacts for 192 cores (more details)
  • 31. Cost comparison: IBM MQ vs. Red Hat JBoss AMQ See more details here: http://whywebsphere.com/2014/07/30/websphere-mq-vs-red-hat-jboss-a-mq-cost-calculator/ This cost comparison considers License & Support costs - only the tip of the iceberg Assuming 30% discount from list for both vendors.
  • 32. The history of Red Hat and JBoss messaging JBoss AS v3 2002 2006 JBossMQ JBoss AS v5 JBoss Messaging 2009 JBoss AS 6 HornetQ 2013 JBoss XQ ActiveMQ Red Hat MRG2008 Apache Qpid * - New Red Hat “strategic” messaging is described to be a REWRITE and a combination of “best ideas” from Apache Qpid + Red Hat HornetQ + Apache ActiveMQ 2015 NEW* ? ?
  • 33. White paper from Edison Group Visit http://whywebsphere.com/2014/05/30/wmqvsamq/ blog to download the white paper
  • 35. Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achie ved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. ‱ IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORSÂź, Enterprise Document Management Systemℱ, Global Business Services Âź, Global Technology Services Âź, Information on Demand, ILOG, MaximoÂź, MQIntegratorÂź, MQSeriesÂź, NetcoolÂź, OMEGAMON, OpenPower, PureAnalyticsℱ, PureApplicationÂź, pureClusterℱ, PureCoverageÂź, PureDataÂź, PureExperienceÂź, PureFlexÂź, pureQueryÂź, pureScaleÂź, PureSystemsÂź, QRadarÂź, RationalÂź, RhapsodyÂź, SoDA, SPSS, StoredIQ, TivoliÂź, TrusteerÂź, urban{code}Âź, Watson, WebSphereÂź, WorklightÂź, X- ForceÂź and System zÂź Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 36. 36
  • 37. Thank You Your Feedback is Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk. Roman Kharkovski IBM, Executive IT Specialist kharkovski@us.ibm.com