redhat.com facebook.com/redhatinc @redhatnews linkedin.com/company/red-hat INTRODUCTION Developers work with a wide variety of tools and languages to produce solutions that can run on mobile devices, desktops, and servers. For server-side code, Java TM is the most popular development language. 1 Within the Java community, the expanded capabilities of Java Platform, Enterprise Edition (Java EE) are often used to support existing and new development projects. Three leading vendors offer Java EE application platforms: Red Hat, IBM, and Oracle. A fourth vendor, Pivotal, offers a Java-based application framework positioned as an alternative to Java EE. Establishing direct comparisons between Java application platforms can be difficult because feature checklists, a common tactic, do not account for context or weight individual features in relation to business use cases. Additionally, environments and IT infrastructures are constantly changing, and features may not cover platform performance in different environments — such as monolithic, hybrid, and microservice deployments. Further, DevOps compatibility, cloud avail- ability, and the overall developer experience, as well as return on investment for application projects, must be considered. There are a handful of critical environmental elements that can be examined, such as: • Administrative tools and feature parity in on-premise and cloud environments. • Support for both monolithic and microservices architectures and development. • Availability of vendor-agnostic integration with other technologies. • Total cost of ownership. Red Hat ® JBoss ® Enterprise Application Platform (EAP) is a commercially supported Java and Java EE application platform. JBoss EAP can be run on traditional dedicated servers and virtual machines (VMs) often associated with existing application deployments, as well as with Java applications deployed using container and cloud technology. A single subscription for JBoss EAP supports on-premise or cloud deployments. This competitive review compares a mix of Red Hat technologies, including Red Hat JBoss EAP, to IBM WebSphere 8.5 and later versions for on-site and cloud-based Java development. OVERVIEW OF JAVA EE AND APPLICATION PLATFORMS • Balancing platform functions and capabilities • Java application development architectures • Java applications and cloud technology • Pricing and cost comparisons 1 TIOBE, TIOBE Index for September 2016. tiobe.com/tiobe-index/ . COMPARING RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM 7 TO IBM WEBSPHERE 8.5 COMPETITIVE REVIEW
15
Embed
COMPETITIVE REVIEW COMPARING RED HAT JBOSS … · redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 To IBM Websphere 8.5 3 An often overlooked
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
redhat.com
facebook.com/redhatinc @redhatnews
linkedin.com/company/red-hat
INTRODUCTION
Developers work with a wide variety of tools and languages to produce solutions that can run
on mobile devices, desktops, and servers. For server-side code, JavaTM is the most popular
development language.1 Within the Java community, the expanded capabilities of Java Platform,
Enterprise Edition (Java EE) are often used to support existing and new development projects.
Three leading vendors offer Java EE application platforms: Red Hat, IBM, and Oracle. A fourth
vendor, Pivotal, offers a Java-based application framework positioned as an alternative to
Java EE.
Establishing direct comparisons between Java application platforms can be difficult because
feature checklists, a common tactic, do not account for context or weight individual features in
relation to business use cases. Additionally, environments and IT infrastructures are constantly
changing, and features may not cover platform performance in different environments — such as
monolithic, hybrid, and microservice deployments. Further, DevOps compatibility, cloud avail-
ability, and the overall developer experience, as well as return on investment for application
projects, must be considered.
There are a handful of critical environmental elements that can be examined, such as:
• Administrative tools and feature parity in on-premise and cloud environments.
• Support for both monolithic and microservices architectures and development.
• Availability of vendor-agnostic integration with other technologies.
• Total cost of ownership.
Red Hat® JBoss® Enterprise Application Platform (EAP) is a commercially supported Java and
Java EE application platform. JBoss EAP can be run on traditional dedicated servers and virtual
machines (VMs) often associated with existing application deployments, as well as with Java
applications deployed using container and cloud technology. A single subscription for JBoss EAP
supports on-premise or cloud deployments.
This competitive review compares a mix of Red Hat technologies, including Red Hat JBoss EAP,
to IBM WebSphere 8.5 and later versions for on-site and cloud-based Java development.
OVERVIEW OF JAVA EE AND APPLICATION PLATFORMS
• Balancing platform functions
and capabilities
• Java application development
architectures
• Java applications and cloud
technology
• Pricing and cost comparisons
1 TIOBE, TIOBE Index for September 2016. tiobe.com/tiobe-index/.
COMPARING RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM 7 TO IBM WEBSPHERE 8.5
2redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 To IBM Websphere 8.5
OVERVIEW OF JAVA EE AND APPLICATION PLATFORMS
Java Platform, Standard Edition (Java SE) is built on Java language syntax and defines a set of
general application programming interfaces (APIs) and basic objects and types, as well as classes for
networking, security, database access, and other development functionality. Java SE applications
are executed within Java virtual machines.2
Java EE extends Java SE with APIs and a runtime environment for enterprise-scale applications.
Oracle describes these as “multi-tiered, scalable, reliable, and secure network applications.”2
The Java EE 7 specification includes more than 30 Java technologies — categorized into web,
business, and enterprise information systems — with key technologies, including APIs for functions
such as:
• Objects and transactions, included in Enterprise JavaBeans (EJB) 3.2.
• Messaging, included in Java Message Service (JMS) 2.0.
• RESTful services, included in Java API for RESTful Services (JAX-RS) 2.0.
• Persistence layers, included in Java Persistence API (JPA) 2.1.3
The goal of Java EE is to provide a collection of standard APIs that offer a stable foundation for web
and business applications, as well as portability between Java EE implementations. This offers many
more functions and broader development features than the default programming capabilities of
Java SE.
An often overlooked fact is that the functionality specified in the Java EE specification does not vary
between certified platforms.
Red Hat JBoss EAP, IBM WebSphere Application Server, and Oracle WebLogic are all certified for the
full Java EE 7 full platform using the same criteria. While the code used to implement the Java EE 7
specification varies and contributes to differences in runtime performance, the Java EE 7 functional-
ity itself is identical.
As a result, the key differences between platforms relate to differences in the operating environ-
ments, such as open source project support, total cost of acquisition, and included features that are
outside the Java EE specification, such as monitoring.
COMPARING JAVA APPLICATION PLATFORM OPERATIONS IN PHYSICAL, VIRTUAL, AND CLOUD ENVIRONMENTS
As IT environments continue to evolve, assessing how an application platform performs in on-
premise or cloud environments is critical to successful operations. For on-premise environments,
differentiating features can include broad support for virtualized environments, administration,
management, and monitoring. In cloud environments, differences can include storage, network-
ing, scaling, administration, and other features that require compatibility. Overall, it is important to
determine if there is parity between on-premise and cloud features and whether these features are
interoperable in both environments.
2 “Differences between Java EE and Java SE.” Your First Cup: An Introduction to the Java EE Platform. Oracle, 2012. http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html.
3redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 To IBM Websphere 8.5
An often overlooked fact is that
the functionality specified
in the Java EE specifica-
tion does not vary between
certified platforms.
The goal of Java EE is to provide
a collection of standard APIs
that offer a stable foundation
for web and business applica-
tions and portability between
Java EE implementations.
Several significant categories are considered in this review to determine how well platforms perform
in different environments, including:
• Scaling.
• Clustering.
• Runtime administration.
Red Hat JBoss EAP provides a mix of features beyond the Java EE specification to run equally well
in multiple environments. Some of these features are seamless across environments, with the same
configuration and use. For other features, native tools can be used, but the functionality itself is
comparable across environments.
For example, JBoss EAP includes specific code for clustering regardless of whether the implemen-
tation is running on-premise or in a Red Hat OpenShift cloud. When JBoss EAP is run on-premise,
scaling and deployment are managed through a variety of administrative tools, including Red Hat
JBoss Operations Network. In an OpenShift cloud environment, cloud-native administrative proce-
dures are used.
IBM WebSphere Application Server has few differences in on-premise and IBM BlueMix cloud deploy-
ments because WebSphere can run natively in virtual machines for on-premise or in BlueMix virtual
machines. However, several features in WebSphere Liberty Profile — including administration, secu-
rity, clustering, and intelligent management — differ between the on-premise and the BlueMix cloud
environments. As a result, the runtime characteristics of WebSphere Liberty Profile depend on the
deployment environment.
One notable example is clustering. For on-site deployments and BlueMix VMs, WebSphere Liberty
Profile servers can be clustered within a collective. However, for container environments, collectives
are supported in on-premise Docker implementations, but not in IBM BlueMix containers environ-
ments.4 Instead, standard Cloud Foundry features control collections of servers and associated
functions.
Another key area of functional difference is intelligent management and scaling. For on-site deploy-
ments, the full feature set is available. However, for Docker environments, these functions are still
in beta, and support for WebSphere Liberty Profile v9 functions is not documented for BlueMix
container environments. For BlueMix Cloud Foundry, IBM intelligent management features for
scaling — including scaling controller and scaling member modules — are not supported.5
BALANCING PLATFORM CAPABILITIES
RED HAT JBOSS EAP AND FLEXIBLE PROFILES
Users of a certified Java EE application platform, such as Red Hat JBoss EAP, often find that either
the web profile or full platform capabilities defined in the Java EE specification are sufficient for an
application platform runtime profile. However, some users want the flexibility to alter the runtime
profile to optimize computing resource use — essentially tuning the application platform to provide
only the Java EE capabilities needed.
4 “Deploying Liberty Docker Containers Using Deployment REST APIs.” IBM Knowledge Center. IBM, 2016. ibm.com/support/knowledgecenter/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/twlp_deployservice_docker.html.
5 “Liberty Features Supported in Bluemix.” IBM Bluemix documentation. IBM, 2016. https://new-console.ng.bluemix.net/docs/runtimes/liberty/libertyFeatures.html.
12redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
Subscription-based pricing for Red Hat JBoss Middleware offers a simple, easy-to-understand alter-
native to the license fees and ongoing support costs of other vendors. According to an IDC report
commissioned by Red Hat, several JBoss EAP customers achieved an average three-year return on
investment (ROI) of 509% and broke even on their investment in an average of 9.4 months.11 These
financial benefits are attributed to:
• Substantial savings compared to commercial application development platforms.
• Increased productivity from greater time savings and efficiency for application
development teams.
• Faster response to business opportunities through rapid application deployment and
improved application performance.
• More reliable applications to reduce the effect of application downtime.
PRICING MODELS BY ENVIRONMENT
Each customer must consider application deployment requirements for all environments — from
testing to production — to determine the appropriate quantity of application platform entitlements
needed. Red Hat JBoss EAP subscribers must determine the number of cores that will be need to run
applications. Red Hat subscriptions are available in 16- and 64-core increments for use in physical,
virtual, and cloud environments, and JBoss EAP entitlements can be moved freely between any sup-
ported environments.
IBM’s pricing strategy, by comparison, is much more complex. IBM offers four different types of user-
based licensing, four types of capacity-based licensing, and two additional types of licensing for on-
premise deployments.12 All IBM WebSphere software is priced using one or more of those metrics. It
appears that the most common form of licensing pricing metric used is based on Processor Value
Units (PVU), a method that uses a count of cores by CPU make and model.
For IBM public cloud entitlements, “charges vary depending on the resources used by a par-
ticular service, runtime, container, virtual machine, or support option.”13 A free beta is available
for WebSphere Application Server running in VMs on BlueMix, but there is no official release of
WebSphere on BlueMix. WebSphere Liberty Profile is available for use with IBM containers or in a
Cloud Foundry buildpack. In both cases, pricing is based on application size and runtimes, calculated
in GB per hour based on the number of instances, the total memory of all instances, and the total
hours that those instances have run.
The criteria for sizing a private cloud based on BlueMix has not been made publicly available by IBM.
SUBSCRIPTION AND LICENSING
Acquisition options for WebSphere Liberty Profile can be confusing. As detailed in the IBM docu-
mentation, the capabilities of WebSphere Application Server, Liberty Core vary from the Liberty
Profile capabilities included with WebSphere Application Server and WebSphere Application Server
11 “The Business Value of Red Hat JBoss Enterprise Application Platform.” IDC, 2015. https://www.redhat.com/en/resources/idc-whitepaper-value-jboss-eap.
12 “Learn about Software licensing.” IBM. http://www-01.ibm.com/software/passportadvantage/about_software_licensing.html.
13 “Pricing.” IBM Bluemix documentation. IBM. https://new-console.ng.bluemix.net/docs/pricing/index.html#pricing.
13redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
– Express.14 In addition, WebSphere Application Server Liberty Profile capabilities vary further when
bundled with WebSphere Application Server Network Deployment and WebSphere Application
Server for z/OS.
WebSphere Application Server Liberty Core is the only Liberty edition that is independently licensed.
However, it offers the fewest overall capabilities of the WebSphere Application Server Liberty
product family and lacks key components and capabilities, such as Java API for XML Web Services
(JAX-WS), JMS for reliable communications, and the ability to control or join clusters.
WebSphere Application Server Liberty Profile entitlements increase the functionality available to
users beyond WebSphere Application Server Liberty Core, but are only available when licensed via
WebSphere Application Server, WebSphere Application Server – Express, WebSphere Application
Server Network Deployment, or WebSphere Application Server for z/OS.
The second tier of Liberty Profile features is available through licensing of WebSphere Application
Server and WebSphere Application Server – Express. However, this second tier lacks some key
features, such as clustering and IBM intelligent management scaling. In addition, IBM WebSphere
Application Server – Express licensing limits deployment options. This edition “is limited to single-
server implementations and up to a maximum of 480 Processor Value Units per server. Larger
servers representing more than 480 PVUs may be segmented into smaller virtual servers, but
Express may not be installed on more than 480 PVUs on a single (physical) server.” These restric-
tions effectively cap use of IBM WebSphere Application Server – Express to six cores per server
when sized at 70 PVUs per core.15
As a result, full WebSphere Application Server Liberty Profile capabilities are only available using
entitlements included with WebSphere Application Server Network Deployment and WebSphere
Application Server for z/OS. In addition, the wrong mix of entitlements can make transferring entitle-
ments between products more difficult.
COST CALCULATIONS
Red Hat JBoss EAP subscription entitlements can be used in on-premise or cloud environments.
IBM does not offer the same flexibility and requires customers to obtain separate entitlements for
on-premise and cloud use. However, IBM does support the use WebSphere Application Server and
WebSphere Liberty Profile on-premise, using docker images with standard IBM PVU-based entitle-
ments. Therefore, the price comparisons in this paper use IBM PVU pricing for on-premise deploy-
ment, with Intel-based dual-socket servers rated at 70 PVUs per core and 16 cores total assumed
for the physical hardware profile.16 Because first-year subscription and support costs are included
in IBM’s software license, a two-year cost comparison is used to account for both initial licenses and
ongoing subscription and support costs.
14 “Liberty Features.” IBM Knowledge Center: WebSphere Application Server Network Deployment 8.5.5. IBM. http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_feat.html?cp=SSAW57_8.5.5.
15 “Processor Value Unit [PVU] Licensing for Distributed Software.” IBM. http://www-01.ibm.com/software/passportadvantage/pvu_licensing_for_customers.html.
16 “View Pricing and Buy: Passport Advantage Express.” IBM. April 26, 2016. https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?P0=E9.
Red Hat is the world’s leading provider of open source software solutions, using a community- powered approach to provide reliable and high-performing cloud, Linux, middleware, storage, and virtualization technologies. Red Hat also offers award-winning support, training, and consulting services. As a connective hub in a global network of enterprises, partners, and open source communities, Red Hat helps create relevant, innovative technologies that liberate resources for growth and prepare customers for the future of IT.