Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
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
COMPETITIVE REVIEW
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.
3 P228-229 Java™ Platform, Enterprise Edition (Java EE) Specification, v7.
RED HAT JBOSS EAP
FAST FACTS
Offers modular class
loading, letting developers
choose which classes to use —
including custom classes
Can be used with
Red Hat OpenShift
Container Platform for
container-based development
Handles monolithic
and microservice applications
by combining modularity with
container-based development
Includes a fully Java EE 7
compliant server
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.
4redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
JBoss EAP includes a modular classloader system for controlling the class paths of deployed appli-
cations. Developers have fine-grained control of available classes for their applications and can
configure deployments to ignore classes provided by the application server in favor of their own.
This control lets developers and administrators achieve the key combination of flexibility plus isola-
tion. For example, some existing applications may use Hibernate 3 instead of 4 or use log4j instead
of native JBoss logging. In addition, dynamic modules are only loaded when required, helping to
reduce platform startup times.
TWO DIFFERENT PLATFORMS THROUGH IBM WEBSPHERE
IBM offers two distinct classes of products for Java EE development: WebSphere Application Server
and WebSphere Liberty Profile.
WebSphere Application Server is a traditional solution recommended for legacy applications with
extensive backwards compatibility requirements. This offering is not modular, limiting options for
tuning the size of the runtime environment.
WebSphere Liberty Profile is a newer Java EE application platform positioned for new development
and projects, including projects migrated from WebSphere Application Server. IBM promotes this
offering as a fast, modular competitor to Red Hat JBoss EAP due to the inclusion of features for
tuning the runtime environment.
JAVA APPLICATION DEVELOPMENT ARCHITECTURES
Typically, organizations deploy an application platform that can be integrated into the application
development architecture and environment. However, as those environments evolve, IT departments
may use different environments for older and newer applications. Hybrid IT environments must
offer parallel support for development that focuses on stability as well as development that focuses
on agility.
MONOLITHIC APPLICATIONS
Because of its longevity, Java EE is often viewed as ideal for mode one, or stability-focused, devel-
opment. Java EE features are designed and adapted for large, full-featured applications, with
monolithic Java EE applications packaging everything needed to run them in a single deployment
unit — although these may require additional external dependencies to support certain technology,
such as databases.
Instead of this monolithic approach, organizations may argue for smaller teams with disparate
delivery schedules for enterprise applications — essentially microservice and 12-factor architectures.
However, while these design philosophies make sense for certain companies and applications, many
companies will continue to use monolithic applications.
To maintain both existing Java EE applications along with creating new, service-based applica-
tions, an application platform must support both architectures. This hybrid IT development model
is effectively supported by Red Hat JBoss EAP 7. JBoss EAP can be used on-premise for traditional
application environments, in Red Hat OpenShift for container-based development and continuous
integration, or in private and public clouds, such as Microsoft Azure.
The architectural flexibility of JBoss EAP supports heterogeneous environments for both Java EE
version and deployment platforms. With this approach, different versions of Java EE or applica-
tions can run simultaneously — for example, JBoss EAP 7 domains can manage JBoss EAP 6 domains,
unifying management under a single tool for both platforms. Some Java EE 6 applications can be
5redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
moved to a Java EE 7 application platform, although migration can cause compatibility issues.
In those cases, developers can continue to use JBoss EAP 6, which is a Java EE 6 certified applica-
tion platform.
IBM, by comparison, recommends using the traditional WebSphere Application Server to maintain
existing Java EE applications — especially applications that pre-date Java EE 6. While some existing
Java EE 6 and Java EE 7 applications could run on WebSphere Liberty Profile, doing so may create
compatibility issues. While the WebSphere Liberty Profile can concurrently run Java EE 6 and 7 fea-
tures, not all features are compatible with each other.6 Combining traditional WebSphere Application
Server and WebSphere Liberty Profile in production results in the following issues:
• Limited size tuning options for the runtime environment due to a lack of modularity in WebSphere
Application Server.
• Differing administrative procedures and clustering, potentially resulting in increased complexity
that may require more or higher-skilled resources.
As a result, administrators may be forced to run IBM WebSphere Liberty profile exclusively in either
Java EE 6 or Java EE 7 mode.
Comparing the capabilities of different WebSphere versions in different environments also requires
consideration of significant licensing and subscription issues.7 If the wrong licenses are purchased,
transferring entitlements between on-premise and BlueMix environments — or between versions of
WebSphere — can be difficult.
In contrast, every Red Hat JBoss EAP subscription includes access to all product capabilities. With a
subscription, users can deploy fully functional server instances on-premise, within private or public
cloud environments, or within hybrid environments. In addition, server instances can be ported
between environments.
MICROSERVICES AND MODULAR APPLICATIONS
Microservices architecture, and the related concept of 12-factor applications, are modular architec-
tures that offer an alternative to centralized, monolithic applications. A microservices approach for
software solutions differs from other architectural approaches by treating each service as a discrete,
independent component of the architecture. Each microservice serves a single, clear purpose and is
accessed using well-defined parameters.
Microservices can be implemented using a variety of languages and technologies, including Java EE.
Java developers can develop and then deploy microservices-styled applications to run on JBoss EAP.
JBoss EAP can scale to accomodate dynamic service loads and run microservices independently or
within a container application platform, such as Red Hat OpenShift Container Platform.
Packaging for microservices is a separate issue from design and implementation. While WAR (Web
application ARchive) and EAR (Enterprise Application aRchive) files are commonly used for mono-
lithic applications, they can also be used to package microservices.
6 “Supported Java EE 6 and 7 Feature Combinations.” IBM Knowledge Center: WebSphere Application Server Network Deployment 8.5.5. IBM, 2016. http://ibm.com/support/knowledgecenter/en/ SSAW57_8.5.5/com.ibm. websphere.wlp.nd.multiplatform.doc/ae/ rwlp_prog_model_supported_combos.html.
7 See the Subscription and licensing considerations section for more information.
6redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
A critical consideration for microservices is the process of defining the deployment topology.
JBoss EAP supports multiple options for this process under two broad approaches:
• Deploy a single microservice to a single instance of JBoss EAP, inside a single container. When
deployed this way, multiple threads provide vertical scalability for any given microservice. In addi-
tion, multiple JBoss EAP containers can be fronted by a load balancer, adding horizontal scalabil-
ity and high availability.
• Run microservices deployed separately on horizontally scaled and load-balanced JBoss
EAP instances.
For any deployment option, developers can take advantage of the modularity of JBoss EAP to
minimize their server resource footprint.
IBM can technically run microservices on either the traditional WebSphere Application Server or
WebSphere Liberty Profile. However, a lack of modularity in traditional WebSphere Application
Server creates heavy resource requirements that are not suited to microservices architectures. IBM
commonly discusses microservices deployment using WebSphere Liberty Profile. Like JBoss EAP,
WebSphere Liberty Profile offers modularity to control its footprint as well as a choice of microser-
vice deployment options that offer vertical and horizontal scaling and failover advantages.
Ultimately, both JBoss EAP and WebSphere Liberty Profile can be used as a Java EE application
platform for microservices. However, organizations that use WebSphere Liberty Profile for microser-
vices in both on-premise and cloud environments will need different entitlements. Current on-
premise WebSphere Liberty Profile users cannot easily transfer their existing entitlements to
cloud entitlements.
DEVELOPER CAPABILITIES
Java EE developers need flexibility for developing any type of Java application, including
support for:
• Using monolithic, microservices-based, or hybrid applications — in both on-premise and
cloud environments.
• Quickly creating, running, and debugging code with an effective integrated development
environment (IDE).
• Integration with source code control systems and possibly continuous integration and
continuous delivery (CI/CD) tools for team development.
• Interaction between the IDE and a cloud environment, such as Red Hat OpenShift, without
losing access to other development capabilities.
Red Hat JBoss Developer Studio offers tools for local and cloud development, including tools built
specifically for Red Hat OpenShift. These tools let users create, import, and modify OpenShift appli-
cations and then set up manual or automatic builds of source code changes. JBoss Developer Studio
integrates with the entire Red Hat JBoss Middleware portfolio. A Red Hat JBoss EAP subscription
includes development subscriptions for all Red Hat JBoss Middleware products, and for every 16
cores of a Red Hat middleware subscription, 25 developers gain development rights for all Red Hat
JBoss Middleware platforms.
DOES YOUR DEV PROJECT NEED JAVA EE?
Despite the advantages of Java
EE, it may be too complex for
your projects.
Alternatively, developers can
gradually expand capabili-
ties by progressively adding
Java Archive (JAR) files to
the classpath. However, this
approach creates additional
work, such as:
• Testing compatibility of JAR
file additions.
• Debugging and issue
resolution.
• Resolving dependencies.
These tasks are not core
development tasks and are
best left to an application
platform vendor.
7redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
IBM offers both licensed and free Java development tools. IBM Rational Application Developer for
WebSphere Software, IBM’s core Java development tool, is a licensed product that offers the more
features and capabilities than any other IBM Java development tool — for a list price of US$5,630 per
authorized user.8
The free WebSphere Application Server Developer Tools provides plug-ins from the Eclipse
Marketplace that can be installed into an existing Eclipse environment to support traditional
WebSphere Application Server and WebSphere Liberty Profile. While this product is not as function-
ally complete as Rational Application Developer for WebSphere, it includes tools specific to web and
Java EE development, such as support for local and remote instances of WebSphere Application
Server. For WebSphere Liberty Profile, local and BlueMix cloud development are supported.
However, neither of the Java development products offered by IBM serve as the primary develop-
ment tools for other IBM middleware products. These products use other IBM tools that may require
additional license and ongoing support fees.
JAVA APPLICATIONS AND CLOUD TECHNOLOGY
Cloud-based deployments are increasingly used in production environments due to the ease and rel-
ative low cost of deploying new instances. Cloud computing is becoming more important for develop-
ment workloads, especially used with other emerging technologies, such as containers.
Monolithic application designs let developers create, build, and run all of the necessary code locally.
However, as adoption of services-based architecture styles grows, the number of services — including
microservices — that an individual developer might interact with also grows. As a result, installing and
running all required services on a single instance becomes more challenging.
Virtual machines can mitigate this problem by providing pre-built images for developers to load and
run. However, this approach is resources-intensive for memory, CPU, and other resources that are
used by redundant operating system and hardware definitions.
Containers have emerged as an alternative way to run prepackaged software deployments that
require much less resource overhead than virtual machines and are one of the key cloud computing
technologies used extensively at Red Hat. Developers can easily run individual or small collections
of containers on a laptop. However, when many containers are needed, orchestration can quickly
become complex. Instead, developers can share access to containers within orchestrated cloud
deployments for consistency and simplicity.
While the type of underlying cloud technology may not be of concern to Java application develop-
ers — as how the cloud works is not strictly relevant — a solid foundation for building applications
is important.
CONTAINERS AND ORCHESTRATION
Linux® containers unify applications and their runtime components by combining lightweight appli-
cation isolation with an image-based deployment method. Containers introduce autonomy for appli-
cations by packaging them with their libraries and other dependencies. Containers do not contain an
independent operating system kernel, making them faster and more agile than virtual machines, but
as a result, all containers on a host must use the same kernel.
8 “View Pricing and Buy: IBM Passport Advantage Express.” IBM, 2016. https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?P0=E9.
8redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
The core of Red Hat cloud technology is composed of Linux container technology and a base layer
running Red Hat Enterprise Linux. Each container preferably runs on an OpenShift environment to
gain the underlying Red Hat Enterprise Linux operating system and docker-formatted containers.
OpenShift provides high-level capabilities for managing multiple containers, including clustering,
orchestration and provisioning, monitoring, and logging.
In addition to this container strategy, the core technology used by Red Hat for cloud computing also
accounts for running containers at scale — potentially over multiple hosts. To solve this issue, Red Hat
uses Google Kubernetes. This open source project is based on Google’s experience running its own
applications at scale. With the launch of Kubernetes for container orchestration and management,
Red Hat saw an opportunity to collaborate and help standardization in support of container adop-
tion. Red Hat developers are among the leading contributors for both the Kubernetes and Docker
projects. According to Stackalytics, Red Hat is the second-largest company contributor to the
Kubernetes project, behind only Google itself.9
Kubernetes packages, instantiates, and runs containers using a declarative model that lets users
define the desired end state to maintain. To ensure this state, Kubernetes uses automated, self-
healing mechanisms for containers, such as automatic restarts, rescheduling on different hosts, or
replication for use cases such as auto-scaling. In addition, Kubernetes seamlessly works with docker-
formatted images without modification.
IBM uses a mix of core cloud technology in its BlueMix offering. One BlueMix cloud offering, cur-
rently in beta, uses virtual machines that are not based on Linux containers. Other BlueMix services,
such as OpenWhisk, can be viewed as Software-as-a-Service (SaaS) offerings where runtime-sup-
porting technology is never exposed to the user.
Two container-based IBM service types use Linux containers:
• Cloud Foundry buildpacks that rely on the Warden container format.
• IBM containers that rely on docker-formatted containers.
These different technologies both run on Ubuntu, but IBM does not provide direct support for
Ubuntu. Customers must rely on third parties for any operating system fixes and upgrades.
As a result, IBM customers also take responsibility for rebuilding container images as needed.
Cloud Foundry buildpacks and the IBM container service use different orchestration technologies,
since their underlying container technologies are different.
IBM relies on Cloud Foundry to provide a container environment that can be orchestrated with
Diego, a technology designed to work with Warden-formatted containers. Warden is different than
docker most notably in its lack of layers, a feature that lets a runtime environment cache container
components to reduce downloads and share components with multiple container instances. Every
container run by Diego uses the Warden format, and Diego even repackages docker-formatted
images into a Warden container. This reformatting requires redownload of all docker-formatted
image layers, a process that must be performed every time a docker-formatted image is run on
Cloud Foundry. Diego is a replacement of other major components previously used in Cloud Foundry,
such as the Droplet Execution Agent (DEA), the Health Manager, and several responsibilities of the
Cloud Controller.
9 “Stackalytics | Kubernetes Community Contribution.” Stackalytics, 2015. stackalytics.com/?release=all&project_type=kubernetes-group&metric=commits.
9redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
The IBM container service uses a mix of proprietary and open source orchestration technology.
Proprietary technologies — part of the IBM container service since its release — are used to create con-
tainer groups, provide scaling, and balance HTTP traffic loads. IBM BlueMix supports use of Docker
Compose, an open source tool for defining and running multicontainer docker applications, but does
not support use of docker itself. Docker Compose lets users define a topology of applications that
run across multiple containers, but at runtime, IBM relies on proprietary technology to orchestrate
running this topology at scale with acceptable reliability.
Unlike the Cloud Foundry component of BlueMix, the BlueMix container service uses technologies
that natively interact with docker-formatted images. However, by using proprietary orchestration
technology, IBM cannot take advantage of the related technical advances made in the open source
community, such as those in Kubernetes.
AUTOMATION AND DEPLOYMENT TECHNOLOGY
DevOps aims to provide a continuous, collaborative application delivery cycle that includes equal
participation by development and IT operations teams. The challenge is negotiating the potential
motivational mismatch between developers and IT operations. Development is feature-led, while IT
operations is stability-led.
To implement a DevOps strategy, application platforms must provide an effective build environment
for developers as well as an effective runtime environment for IT operations.
BUILD ENVIRONMENT
Automating and delivering builds — commonly called CI/CD — is a key ability for developers. They
can choose from multiple tools to build and run code on JBoss EAP in a Red Hat OpenShift cloud,
including:
• A standard docker file.
• OpenShift source-to-image (S2I) capabilities.
• A custom chain of build tools.
OpenShift S2I is popular with developers, as it takes application source code as an input to produce
a new image representing the assembled application as output.
Developers can use JBoss Developer Studio to create a new OpenShift application project from a
template that simplifies object creation for running the application in OpenShift. As a developer
creates the application and checks code into a Git repository, that repository can use a webhook to
publish a change notice. This webhook notifies OpenShift to pull the latest source code and execute
a build script for the necessary objects, including the docker-formatted image and deployment,
image stream, route, and service objects.
In addition, templates can be used to define a group of an application’s components — such as front-
end, back-end, cache, or database — or to instantiate an entire application on-demand as an example
for test environments. Most developers will not need to know the template detail, but a smaller
group of advanced developers and architects design templates and adjust them to meet deployment
standards.
The method for building applications for IBM BlueMix varies depending on whether the profile
is running as a Cloud Foundry buildpack or a docker image in the BlueMix container service.
Applications running on BlueMix virtual machines follow the same procedures for building,
10redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
connecting, and deploying as any other virtual machine. For running WebSphere Liberty Profile on
Cloud Foundry, IBM Eclipse Tools for BlueMix or the Cloud Foundry command-line interface (CLI) tool
are generally popular due to their ease of use and graphical interface.
Users must choose how to package an application, either as an archive — a WAR or EAR file — a server
directory, or a packaged BlueMix server. This choice depends on the complexity and deployment
needs of the application.
• A compiled application is ideal for compatibility with just Java EE 7 web profile features or a
subset of them.
• A server directory or packaged server is ideal if more features than those in the Java EE 7 web
profile, or a custom server.xml file, are needed.
• A packaged server is ideal for supporting customized runtime profiles using shared resources.
To determine the appropriate packaging, an IBM BlueMix application developer must have a com-
plete understanding of the application, as well as how WebSphere Liberty Profile must be configured
at runtime. Additional steps to configure scaling and load balancing are also required.
For applications built and deployed to WebSphere Liberty Profile running on BlueMix containers,
the build process is completely different. In this case, the developer is responsible for creating the
docker image that is uploaded to the private BlueMix repository for deployment. This repository is
limited to just 25 images per organization—an extremely small number of images for running Java
applications using docker containers, especially for running a microservices architecture that typi-
cally involves many individual services, each packaged as a container. With this limitation, IBM con-
tainers may not be able to reasonably accommodate microservice deployments — and even deploying
a monolithic Java EE application using containers may require more than 25 images.
RUNTIME ENVIRONMENT
Once an application is built, it is ready to be deployed, accessed, and updated. Together, Red Hat
JBoss EAP and Red Hat OpenShift provide developer benefits beyond offering a software build,
including:
• Automatic scalability of applications.
• Load balancing of scaled applications.
• Versioning of deployed applications, including replacing a running version and with a
newer version.
• Rollback of an application to a previous version.
• Internal testing of an application and exposing ports for external testing.
In an environment running JBoss EAP on OpenShift, an application that is built using the S2I process
typically includes many of the objects needed to run it. Some are most useful for developers, while
others offer greater value for IT operations (Table 1).
11redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
TABLE 1. DEFAULT S2I OBJECTS
OBJECT DESCRIPTION/PURPOSE USE
Build A special container that runs once in OpenShift to build your applica-
tions. Possible build types include a standard dockerfile, OpenShift
S2I, or a custom chain of build tools.
Developer
Deployment • Defines a specified number of container images to run.
• Automates deployments in response to events.
• Transitions from previous to new deployment through customizable
strategies, such as rolling deployment.
• Rollbacks to a previous deployment.
• Manual replication scaling.
Developer
Image stream Automatically performs an action, such as updating a deployment
when a new image is created because of a new version of that deploy-
ment’s base image.
IT operations
Route Offers access to the OpenShift cloud using an externally
reachable hostname.
IT operations
Service Offers service discovery and load-balanced access to deployed
services — for example, microservices deployed and accessed using-
Representational State Transfer (REST).
IT operations
IBM build activities for defining runtimes are less comprehensive and can require post-build work to
prepare an application to run reliably at scale. WebSphere Liberty Profile running on Cloud Foundry
requires users to deploy applications to a service and then scale that service. Scaling is either
defined statically, using the BlueMix console, or automatically, with a policy using IBM Auto-Scaling
for Bluemix.
Two different methods are available for grouping and scaling containers in WebSphere Liberty
Profile running on IBM containers in BlueMix: a container group for multiple instances of a single
container or Docker Compose for collections of containers that should be run together. By compari-
son, Red Hat OpenShift uses pods for running one or more containers deployed on a single host,
offering a unified solution to reduce potential confusion for IBM BlueMix administrators.
Once BlueMix containers are grouped, users must distribute traffic between them. For a single con-
tainer image within a container group, BlueMix provides a built-in load balancer. However, BlueMix
users that group containers with Docker Compose must provide their own load balancer and link to
the defined containers using Docker Compose.10
PRICE AND COST COMPARISONS
The total cost of acquisition for an application platform does not reflect all costs associated with
maintaining the application platform but offers an effective starting point for comparison.
10 “Lesson 3: Scaling your multi-container cluster.” IBM BlueMix documentation. IBM, 2016. https://console.ng.bluemix.net/docs/containers/container_creating_ov.html#container_compose_scale.
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 JBOSS EAP PRICE ADVANTAGES
• 509% three-year ROI
• 69% or US$55,000
lower initial cost than IBM
WebSphere Application Server
• 91% or US$272,000
lower initial cost than IBM
WebSphere Application Server
Network Deployment
• 75% or US$37,000 less for
premium support than IBM
WebSphere Application Server
Network Deployment
14redhat.com COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5
The IBM PVU license metric is meant to align license requirements with hardware performance.
These calculations are based on processor vendor, model number, and maximum sockets per server.
For reduced instruction set computer (RISC) and System z servers, IBM finely segments possible
PVU metric value combinations, potentially creating pricing complexity.
Until around May 2015, the same was true for Intel-based servers. Modern Intel processor-based
server models were historically rated by IBM at 100-120 PVUs per core, with all but the most
advanced production servers at 100 PVUs per core. Recent changes by IBM have made the number
of sockets in an Intel-based server the primary factor used to determine PVU rating per core. This
change applies to all Intel Xeon processors, from the 3400 series to the current E7 series. IBM now
rates nearly all Intel-based servers with two sockets at 70 PVUs per core, four sockets at 100 PVU
per core, and more than four sockets at 120 PVU per core.15
Deployments that vary from the dual-socket, Intel-based server used as a baseline for compari-
son in this document will result in different costs from those presented. For example, a hardware
profile with a 100 or 120 PVU per core rating increases the IBM costs presented in this document by
30-70%.
Using the formula [core count] * 70* [price per PVU] for IBM products, with the hardware profile
described in the previous section, results in the following two-year price comparisons:
• A Red Hat JBoss EAP subscription costs 69% or US$55,000 less than WebSphere Application
Server Liberty Profile bundled with IBM WebSphere Application Server.
• A Red Hat JBoss EAP subscription costs 91% or US$272,000 less than WebSphere Application
Server Liberty Profile bundled with IBM WebSphere Application Server Network Deployment.
IBM WebSphere Application Server – Express pricing was not compared to JBoss EAP pricing
because IBM licensing limits its deployment to a maximum of 480 PVUs per server. This limit effec-
tively caps usage to six cores per server, when sized at 70 PVUs per core. JBoss EAP has no sizing
constraints outside of the total cores chosen for a subscription.
IBM WebSphere Application Server Liberty Core was not compared, because it lacks the support for
the full Java EE platform provided by JBoss EAP.
For IBM WebSphere Application Server or IBM WebSphere Application Server Network Deployment,
ongoing annual IBM subscription and support costs are a key consideration. In the second and later
years, IBM subscription and support is calculated at 20% of license cost. Only comparing annual
recurring costs — eliminating licensing costs — and using the same hardware profile previously men-
tioned, an annual Red Hat JBoss EAP subscription can still cost significantly less than annual IBM
subscription and support charges:
• An annual Red Hat JBoss EAP subscription offers more features and capabilities than IBM
WebSphere Application Server at costs of nearly 9% or US$1,200 less than just IBM subscription
and support costs.
• An annual Red Hat JBoss EAP subscription can cost 75% or US$37,000 less than IBM WebSphere
Application Server Network Deployment subscription and support.
Copyright © 2017 Red Hat, Inc. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, and JBoss are trademarks of Red Hat, Inc., registered in the U.S. and other countries. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
redhat.com #f6895_0417
NORTH AMERICA 1 888 REDHAT1
ABOUT RED HAT
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.
EUROPE, MIDDLE EAST, AND AFRICA 00800 7334 2835 [email protected]
ASIA PACIFIC +65 6490 4200 [email protected]
LATIN AMERICA +54 11 4329 7300 [email protected]
facebook.com/redhatinc @redhatnews
linkedin.com/company/red-hat
CONCLUSION
Red Hat JBoss EAP provides a flexible Java EE application platform that is equally effective in
on-premise or cloud environments. It can be used as a platform to maintain existing Java EE
code or create new applications, using both traditional and emerging design methods, such
as microservices.
For cloud deployment, Red Hat recommends using JBoss EAP with Red Hat OpenShift Container
Platform, a robust Platform-as-a-Service (PaaS) that takes advantage of emerging technology,
such as Linux containers, Kubernetes, and CI/CD. Other parts of the Red Hat JBoss Middleware
portfolio, including Red Hat JBoss Fuse, Red Hat JBoss BRMS, and Red Hat JBoss Data Grid, are
available for use on OpenShift. Additionally, Red Hat subscriptions can be moved between on-
premise and cloud environments at no additional cost. All Red Hat JBoss Middleware subscrip-
tions include unlimited incident support, version updates, bug fixes, and access to the Red Hat
Customer Portal for the full subscription term.
Red Hat JBoss EAP is available in 16- and 64-core entitlements at a price that can potentially
provide rapid return on investment. Subscribers can use the potential savings from choosing
JBoss EAP and other Red Hat JBoss Middleware products to fund more projects and innovation.
COMPETITIVE REVIEW Comparing Red Hat JBoss Enterprise Application Platform 7 to IBM Websphere 8.5