15
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

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

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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.

Page 4: 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

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

Page 5: 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

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.

Page 6: 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

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.

Page 7: 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

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.

Page 8: 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

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.

Page 9: 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

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,

Page 10: 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

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).

Page 11: 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

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.

Page 12: 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

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.

Page 13: 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

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

Page 14: 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

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.

Page 15: 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

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