RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise...
Transcript of RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise...
redhat.com
facebook.com/redhatinc @redhatnews
linkedin.com/company/red-hat
IN THIS COMPETITIVE REVIEW:
• 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
INTRODUCTION
Developers work with a wide variety of tools and languages to produce solutions that run on mobile
devices, desktops, and servers. For server-side code, JavaTM is the most popular development lan-
guage.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 weigh 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 microservices environments. Furthermore, DevOps compatibility, cloud avail-
ability, and the overall developer experience, as well as return on investment for application projects,
must be considered.
There are several critical environmental elements that can be examined, such as:
• Administrative tools and feature parity in on-premise and cloud environments.
• Support for both traditional 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 and cloud deployments.
This competitive review compares a mix of Red Hat technologies, including Red Hat JBoss EAP, to
Oracle WebLogic 12 for on-site and cloud-based Java development.
OVERVIEW OF JAVA EE AND APPLICATION PLATFORMS
Java Platform, Standard Edition (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 net-
working, security, database access, and other development capabilities. Java SE applications are
executed within a Java virtual machine (JVM). 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
1 TIOBE, TIOBE Index for September 2016. tiobe.com/tiobe-index/.
2 “Differences between Java EE and Java SE.” Your First Cup: An Introduction to the Java EE Platform. Oracle, 2012. docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html.
RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM 7 COMPARED TO ORACLE WEBLOGICCOMPETITIVE REVIEW
2redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
3 “Java Platform, Enterprise Edition (Java EE) Specification, v7.” Oracle. PDF page 228-229.
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. These capabili-
ties offer broader development features than the default programming capabilities of Java SE.
An often-overlooked fact is that the functionality of the Java EE specification does not vary between
certified platforms.
Red Hat JBoss EAP, IBM WebSphere Application Server, and Oracle WebLogic are all Java EE 7 full
platform certified using the same criteria. While the code used to implement the Java EE 7 specifica-
tion varies and contributes to differences in runtime performance, the Java EE 7 functionality 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 and total cost of acquisition, and included features that
are outside the Java EE specification, such as monitoring.
COMPARING JAVA APPLICATION PLATFORMS 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.
Several significant categories are considered in this document to determine how well platforms
perform in different environments, including:
• Scaling.
• Clustering.
• Runtime administration.
RED HAT JBOSS EAP FAST FACTS
• Offers modular class loading,
letting developers choose
which classes to use—even
custom classes
• Can be used with Red
Hat OpenShift Container
Platform for container-based
development
• Handles traditional and
microservice applications by
combining modularity with
container-based development
• Includes a fully Java EE 7
compliant server
3redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
Red Hat JBoss EAP provides a mix of features beyond the Java EE specification that allow it to run
equally well in multiple environments. Some features are seamless in these environments, with
identical configuration and use. In other environments, tasks are identical — such as managing cloud
instances — but native tools can be used to perform them in each environment.
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. When running in an OpenShift cloud environment, cloud-native adminis-
trative procedures are used.
Differences in Oracle WebLogic in user-managed on-premise and cloud deployments are primarily
found in the setup procedures. On-premise deployments provide the greatest flexibility for users,
with complete control over infrastructure and WebLogic installation options. However, Oracle
Java Cloud Service users are limited to configuring the number of cores per virtual CPU, as well as
memory and storage options made available by Oracle. Oracle Java Cloud Service – SaaS [Software-
as-a-Service] Extension offers even fewer options.
Oracle WebLogic offers parity between on-premise and cloud instances primarily because the Oracle
Compute Cloud Service uses virtual machines. This offering provides provisioning, connection, and
management of these virtual machines, regardless of the components or solutions running on them.
While this service simplifies deployments by managing configuration, only a limited selection of
WebLogic editions and configurations is available.
The use of virtual machines lets users access standard Oracle on-premise tools in the cloud for all
WebLogic offerings except the SaaS extension. However, relying on virtual machines means that
Oracle does not provide a single Platform-as-a-Service (PaaS). Administrative tools for Oracle Java
Cloud Service differ from the other tools used by applications that might run on it. As a result, users
are given a consistent administrative experience for WebLogic but not for other middleware or appli-
cations deployed on Oracle Compute Cloud Service.
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 capabilities needed.
JBoss EAP includes a modular classloader system for controlling the class paths of deployed appli-
cations. Developers have fine-grained control of the classes available 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 and iso-
lation. For example, some existing applications can use Hibernate 3 instead of Hibernate 4 or use
Log4j instead of native JBoss logging. In addition, dynamic modules are only loaded when required,
helping to reduce platform startup times.
The Java EE 7 web profile contains a subset of technologies included in the full platform. This profile
is designed for developers who do not need the full set of Java EE APIs to run applications. Red Hat
JBoss EAP is certified for both web and full profile support.
The goal of Java EE is to provide
a collection of standard APIs
that offer a stable founda-
tion for web and business
applications, as well as
portability between Java EE
implementations.
The functionality in the Java
EE specification does not vary
between certified platforms.
4redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
ORACLE WEBLOGIC AND DENSELY DISTRIBUTED APPLICATIONS
Oracle WebLogic Server offers limited modularity compared to JBoss EAP. Oracle WebLogic Server
Enterprise Edition is arguably designed for running densely distributed, full-featured Java EE appli-
cations. The multitenancy feature in WebLogic 12.2.1 supports this conclusion. The sole purpose of
this separately licensed add-on — a tool that lets multiple isolated tenants run applications on the
same instance — is to increase individual server density for consolidation.
Administrators have very few other options to reduce their WebLogic footprint. WebLogic Express
(WLX), a startup mode, speeds startup of the WebLogic server by disabling EJB, JMS, and Java
EE Connector Architecture (JCA) containers — leaving only the web container enabled. In addi-
tion, Oracle WebLogic offers a class caching feature for development use that can further shorten
WebLogic startup times. However, class caching is not supported for production use.4
Oracle WebLogic is not web profile certified. While these capabilities exist in the full platform specifi-
cation WebLogic Server is certified for, WebLogic lacks a startup option to only run the technologies
associated with the web profile. As a result, using WebLogic can lead to unneeded overhead if only
web profile capabilities are needed to support deployed applications.
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, develop-
ment. Java EE features are designed and adapted for large, full-featured applications, with Java EE
applications packaging everything needed to run in a single deployment unit — although these may
require additional external dependencies to support certain technology, such as databases. This
approach is called monolithic architecture.
Instead of this monolithic approach, organizations may argue for smaller teams with disparate deliv-
ery schedules for enterprise applications — essentially microservices 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 existing Java EE applications along with creating new, service-based applications, an
application platform must support both architectures. This hybrid IT development model is effec-
tively supported by Red Hat JBoss EAP 7. JBoss EAP can be used on-premise for traditional appli-
cation environments, in Red Hat OpenShift for container-based development and continuous
integration, or in private and public clouds, such as Microsoft Azure.
4 “Tuning WebLogic Server: Tuning Class and Resource Loading > Class Caching.” Oracle Fusion Middleware Tuning Performance of Oracle WebLogic Server. Oracle. docs.oracle.com/middleware/1221/wls/PERFM/wls_tuning.htm#PERFM927.
5redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
The architectural flexibility of JBoss EAP supports heterogeneous environments for both Java EE
version and deployment platform. With this architecture, different versions of Java EE or applica-
tions can run simultaneously. 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 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 application platform.
Oracle WebLogic Server is similar to JBoss EAP in that each product version is only certified for a
single version of the Java EE specification. Both JBoss EAP 7 and Oracle WebLogic Server 12.2.1 are
Java EE 7 full platform certified, while earlier versions of each product offer Java EE 6 full platform
certification.
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-style applications to run on JBoss EAP.
JBoss EAP can scale to accommodate dynamic service loads and run deployed microservices inde-
pendently 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 web applica-
tion archive (WAR) and enterprise application archive (EAR) files are commonly used for monolithic
applications, they can also be used to package microservices.
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. In addition, multiple JBoss EAP
containers can be fronted by a load balancer, adding horizontal scalability and high availability.
• Run microservices deployed separately on horizontally scaled and load-balanced JBoss
EAP instances.
For any deployment options, developers can take advantage of the modularity of JBoss EAP to mini-
mize their server resource footprint.
As with JBoss EAP, developers using Oracle WebLogic Server have a choice of microservice deploy-
ment options that offer vertical and horizontal scaling, as well as failover advantages. However, a
lack of modularity for tuning its server resource footprint can limit the potential density of WebLogic
instances on any given computing resource. Resources such as memory and CPU are typically
limited, but the more microservices that are deployed on Oracle WebLogic instances, the more
resources are needed. As a result, the resource requirements for Oracle WebLogic simply grow
faster than the same type of deployment on JBoss EAP, especially when considering the modular
and classloader capabilities of JBoss EAP.
6redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
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/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 developer capabilities.
Red Hat JBoss Developer Studio offers tools for local and cloud development, including tools
that are built specifically for Red Hat OpenShift. These tools let users create, import, and modify
OpenShift applications 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 JBoss Middleware subscription, 25 developers gain development
rights for all Red Hat JBoss Middleware platforms.
Oracle offers three IDE tools for development:
• NetBeans for Java, HTML, PHP, and C/C++ development.
• Oracle Enterprise Platform for Eclipse for creating a custom Eclipse environment.
• JDeveloper for development across the entire Oracle middleware portfolio, including Oracle
WebLogic Server. The primary and most strategic offering, JDeveloper includes many Java and
Java EE development features, as well as a development-only WebLogic Server instance.
All three IDE tool options let developers deploy applications to Java Cloud Service instances and
directly inspect service instance logs.
Development for Oracle SOA Suite and Oracle BPM Suite can be performed using JDeveloper, but
not using NetBeans or Oracle Enterprise Platform for Eclipse. In addition, developers can use Oracle
SOA Suite and Oracle BPM Suite for free to develop a first release for an application. However, when
those applications are launched into production, a license must be secured for those products.
JAVA APPLICATIONS AND CLOUD TECHNOLOGY
Cloud-based deployments are increasingly used for production environments due to the ease and
relatively low cost of deploying new instances. Cloud computing is becoming more important for
development workloads, especially when 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 the adoption of services-based architecture styles grows, the number of services — includ-
ing microservices — that an individual developer might interact with also grows. As a result, installing
and running all required services on a single instance becomes even more challenging.
Virtual machines can mitigate this problem by providing prebuilt images for developers to load and
run. However, this approach is resource-intensive for memory, CPU, and other resources that are
used by redundant operating system and hardware definitions.
7redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
Containers have emerged as an alternative way to run prepackaged software deployments that
requires 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.
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 efforts in support of container
adoption. 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.5
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 works with docker-formatted
images without modification.
Oracle has taken a different approach to cloud computing. Instead of containers, Oracle has
embraced virtual machines and uses a mix of proprietary hardware and software for its public and
private cloud offerings.
• Oracle Exalogic Elastic Cloud is positioned as “hardware and software engineered together”
for private clouds.6 However, only two Oracle products to build a private cloud are available:
Oracle Traffic Director and Oracle WebLogic Server Multitenant.
5 “Stackalytics | Kubernetes Community Contribution.” Stackalytics, 2015. stackalytics.com/?release=all&project_type=kubernetes-group&metric=commits.
6 “Oracle Exalogic Elastic Cloud.” Oracle. oracle.com/engineered-systems/exalogic/index.html.
8redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
• Oracle Traffic Director supports interactions between applications by providing
communications, load balancing, rule-based request routing, throttling, Secure Sockets
Layer (SSL), and other features.
• Oracle WebLogic Server Multitenant lets users add more Java EE applications to each WebLogic
server instance. Oracle claims this capability lets users accomplish more work using fewer
resources and by consolidating servers.7
However, Oracle core cloud technology does not address management of cloud resources and appli-
cations. Instead, Oracle offers administration of Oracle Traffic Director to route and manage traffic
to Java applications running on WebLogic Server instances. To achieve maximum server density,
users must add and configure WebLogic Server Multitenant, adding administrative complexity.
Both Oracle Traffic Director and Oracle WebLogic Server Multitenant lack support for docker-for-
matted containers and orchestration using Kubernetes, and Oracle Traffic Director lacks support
for Red Hat Enterprise Linux. Oracle does support use of WebLogic Server within docker containers
to let WebLogic users create private clouds based on docker and a choice of orchestration technol-
ogy, including Kubernetes. However, these custom clouds would not match the technologies Oracle
has publicly disclosed it uses for its private and public cloud offerings, and there is no indication that
Oracle uses docker or Kubernetes for any of its cloud offerings.
Oracle provides multiple examples of using docker with WebLogic, such as how to run a WebLogic
cluster in a docker Swarm cluster linked with overlay networking.8 This detailed example presents all
the manual steps required to build a clustered WebLogic environment and highlights several points
of concern:
• Oracle explicitly supports use of docker images but not the associated docker technology used.9
• Use of docker and associated technology is not part of the official documentation for Oracle
WebLogic Server.
• Private clouds from Oracle do not use docker containers or any of the other docker technology
used in the example.10
• The lengthy manual process illustrates the complexity of managing cloud orchestration along
with application development.
In contrast, developers using Red Hat JBoss EAP running on OpenShift use docker-formatted
images and Kubernetes — without needing to learn the complex individual or collective operation
of these technologies.
7 “Resource Consumption Management in WebLogic Server MultiTenant 12.2.1 to Control Resource Usage of Domain Partitions.” The WebLogic Server Blog. Oracle. blogs.oracle.com/WebLogicServer/entry/using_resource_consumption_management_in
8 “Workshop Guide: Docker Multi Host.” Github. Oracle. github.com/oracle/docker-images/tree/master/OracleWebLogic/workshops/multihost.
9 Riccelli, Monica. “New WebLogic Server Running on Docker in Multi-Host Environments.” The WebLogic Server Blog. Oracle. blogs.oracle.com/WebLogicServer/entry/new.
10 Conclusion drawn from Red Hat review of Oracle documentation.
9redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
AUTOMATION AND DEPLOYMENT TECHNOLOGY
DevOps aims to provide a continuous, collaborative application delivery cycle that includes equal
participation from development and IT operations teams. The challenge is negotiating potential
motivational mismatch between developers and IT operations. Development is feature-led, while IT
operations is stability-led.
To complement a DevOps strategy, application platforms must provide an effective build environ-
ment 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 an 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, which 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.
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 details of these templates, but a smaller
group of advanced developers and architects will design and adjust them to meet deployment
standards.
Oracle cloud offerings do not include S2I tools like those included in Red Hat OpenShift. Instead,
Java applications are built on a developer’s computer or centralized server, then deployed to
WebLogic Server. As a result, DevOps tools and integration with source code control systems are
the responsibility of the development team. Once applications are built, they can be deployed using
an IDE, manual transfer of files, or the administrative console provide by Oracle WebLogic Server or
Oracle Cloud Server.
RUNTIME ENVIRONMENT
Once an application is built, it is ready to be deployed, accessed, and updated. Together, JBoss EAP
and 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 with a newer version.
• Rolling back an application to a previous version.
Red Hat offers core cloud
technology that supports cloud
deployments beyond Java appli-
cations, such as in-memory data
grids, business process manage-
ment (BPM), business rules
management (BRMS), and
data virtualization.
Oracle offers proprietary
technology that is built
for specific purposes and
sometimes specific technology.
10redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
• 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).
TABLE 1. DEFAULT SOURCE-TO-IMAGE (S2I) OBJECTS
OBJECT DESCRIPTION/PURPOSE USE
Build A special container that runs once in OpenShift to build 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 customiz-
able strategies, such as rolling deployment.
• Rolls back to a previous deployment.
• Offers manual replication scaling.
Developer
Image stream Automatically performs an action, such as updating a deployment,
when a new image is created, such as 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
Configuration of the Oracle cloud runtime is initially performed using a web process that includes
selecting the WebLogic edition, billing frequency, and other service details, such as memory per
instance, cluster size, and load balancing. Oracle provides defaults for all values to simplify build-
ing and running a default configuration. However, more tailored environments require more manual
configuration during setup, including choosing CPU and memory shapes to allocate to the WebLogic
virtual machines and configuring load balancing, backup, and recovery.
JBoss EAP running on OpenShift can also be set up using default or manually set values. However,
OpenShift lets administrators repeatedly deploy customized cloud configurations — a capability that
Oracle Java Cloud Service lacks.
11redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
PRICE AND COST COMPARISONS
The total cost of acquisition for an application platform does not reflect all costs associated with
maintaining that platform, but it offers an effective starting point for comparison.
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 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 needed to
run applications. Red Hat subscriptions are available in 16- and 64-core increments for use in physi-
cal, virtual, and cloud environments, and JBoss EAP entitlements can be moved freely between any
supported environments.
Oracle’s pricing strategy for on-premise use of WebLogic Server, by comparison, is much more
complex and based on multiple dimensions. The first considers how many total processors WebLogic
Server will operate on. However, the definition of processor used by Oracle for licensing purposes
does not mean CPU. Part of the definition of processor included in the US Oracle Technology
Commercial Price List states that “the number of required licenses shall be determined by multiply-
ing the total number of cores of the processor by a core processor licensing factor specified on the
Oracle Processor Core Factor Table.”12 Core factor weighs the final processor count based on CPU
type, using the theory that different CPU types perform better or worse than others. For example,
Intel chips have a 0.5 core factor, while IBM Power and System Z chips have a core factor of 1, and
SPARC T3 has a core factor of 0.25. As a result, determining the total number of WebLogic Server
licenses needed requires a total count of cores by CPU type.
RED HAT JBOSS EAP PRICE ADVANTAGES
• 509% three-year ROI
• 95% or US$232,000 lower
initial cost than Oracle
• 73% or US$32,000 less for
premium support than Oracle
• Consistent support costs,
compared to increases of
22% the first year and higher
increases each following year
for Oracle support
11 “The Business Value of Red Hat JBoss Enterprise Application Platform.” IDC, 2015. redhat.com/en/resources/idc-whitepaper-value-jboss-eap.
12 “Oracle Technology Global Price List.” Oracle Pricing and Licensing: Price Lists. Oracle. 10 November 2016. oracle.com/us/corporate/pricing/price-lists/index.html.
12redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
The second pricing dimension to consider is virtualization. Oracle differentiates between hard and
soft partitions for sub-capacity licensing, counting only the cores in use by virtualization environ-
ments. Soft partitioning software — such as Oracle VM, VMware, and Kernel-based Virtual Machine
(KVM) — does not provide sub-capacity advantages. Instead, the entire set of CPUs — no matter how
few are actually running the workload — must be licensed. However, hardware-based or hard parti-
tions, such as capped Solaris Zones — also known as Solaris Containers — and IBM logical partitions
(LPARs), can take advantage of sub-capacity licensing. There are also additional factors to consider
related to virtualization policies for Oracle Fusion Middleware:
• Oracle Linux is the only Linux distribution Oracle supports partitioning on.
• Only Linux and docker containers are supported in Oracle Linux.
• Only Microsoft Hyper-V is supported for virtualization on Microsoft Windows.
• Supported virtualization platforms require WebLogic Server licensing for all cores in a server.13
The final pricing dimension to consider is multitenancy, a new add-on feature that lets users add
more applications into each server instance. This feature increases the cost of WebLogic Server
12.2.1 by 80%. Using a consolidation factor of three times on a new license purchase can reduce
Oracle licensing and support fees. A three times consolidation on a new license purchase can mean
a 38% reduction in Oracle licensing and support fees, but for current Weblogic customers, cost
savings require expanding the number of applications deployed rather than focusing on the number
of cores.14 This inverse calculation compared to new customers is determined by a lack of public evi-
dence from Oracle that existing WebLogic customers can use multitenancy to reduce the number of
WebLogic cores requiring paid support. As a result, current WebLogic users will continue to pay the
same support costs for their existing WebLogic cores and must justify using multitenancy by finding
more applications to run using existing licenses. Customers who cannot expand existing application
footprints by roughly 70% will find simply buying more WebLogic cores more cost-effective.
SUBSCRIPTION AND LICENSING
Different Java EE versions are available under the Oracle LifeTime Support Policy to run existing
Java EE deployments.15 However, support costs may affect the feasibility of continuing to work with
a given version.
13 “Supported Virtualization Technologies with Oracle Fusion Middleware.” Oracle. oracle.com/technetwork/middleware/ias/oracleas-supported-virtualization-089265.html.
14 “Babcock, Charles. “Oracle Adds Multi-Tenancy To WebLogic Application Server.” InformationWeek. 30 Oct. 2015. informationweek.com/cloud/platform-as-a-service/oracle-adds-multi-tenancy-to-weblogic-application-server/d/d-id/1322904.
15 “Oracle Lifetime Support Policy for Oracle Fusion Middleware Guide.” Oracle. oracle.com/us/support/lifetime-support/index.html.
13redhat.com COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic
Oracle support comes in three progressive options: Premier Support, Extended Support, and
Sustaining Support. Support costs increase as products age through these stages. Oracle provides
Premier Support for products five years from general availability (GA), with costs starting at 22% of
the year-one license and increasing thereafter. Extended support is available 6-8 years after GA and
is priced using an escalating schedule:
• Year six costs increase 10% over year 5 costs.
• Year seven costs increase 20% over year 6 costs.
• Year eight costs increase 20% over year 7 costs.
After year eight, the Oracle product release is covered under the Sustaining Support option and, per
Oracle policy, the cost continually increases each year. As a result, the cost of ongoing maintenance
for applications deployed on Oracle WebLogic is compelling evidence for finding an alternative appli-
cation platform.
COST CALCULATIONS
The price comparisons in this review use Oracle public pricing for the products specified and
assumes Intel-based dual-socket servers rated at 0.5 per core and 16 cores for the physical hard-
ware profile.16
First-year Oracle license costs for each product are calculated by multiplying 16 (cores) X 0.5 (core
factor) X [product price]. Each ongoing year of Oracle software update license and support fees
is calculated at 22% of license cost. Using this formula and the example hardware specifications
results in the following price comparisons:
• At a cost of US$12,000 for 16 cores with premium support, an annual Red Hat JBoss EAP
subscription costs 95% or US$232,000 less than Oracle WebLogic Server Enterprise Edition.
• Comparing just ongoing support costs, an annual subscription to Red Hat JBoss EAP for 16
cores with premium support costs 73% or US$32,000 less than Oracle WebLogic Server
Enterprise Edition.
The WebLogic Server Multitenant feature requires an additional US$20,000 per Oracle processor
licensed for WebLogic Server in addition to 20% annual support costs. As a result, current WebLogic
customers would need to expand their existing application footprints by roughly 70% to offset
these costs.
Only comparing annual recurring costs — eliminating licensing costs — and using the same hardware
profile previously mentioned, an annual Red Hat JBoss EAP subscription can still cost significantly
less than annual Oracle support charges.
16 “US Oracle Technology Commercial Price List.” Oracle Pricing and Licensing: Price Lists. Oracle. 28 April 2016. oracle.com/us/corporate/pricing/price-lists/index.html.
Copyright © 2016 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.
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
redhat.com #0000000_1216
CONCLUSION
Red Hat JBoss EAP provides a flexible Java EE application platform equally at home running 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 PaaS that takes advantage of modern technology and methods such as Linux
containers, Kubernetes, and CI/CD. Other products in 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 subscriptions 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 Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic