RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise...

14
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, Java TM 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 WEBLOGIC COMPETITIVE REVIEW

Transcript of RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise...

Page 1: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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

Page 2: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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

Page 3: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 4: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 5: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 6: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 7: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 8: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 9: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 10: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 11: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 12: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 13: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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.

Page 14: RED HAT JBOSS ENTERPRISE APPLICATION · PDF file COMPETITIVE REVIEW Red Hat JBoss Enterprise Application Platform 7 compared to Oracle WebLogic 2 3 “Java Platform, Enterprise Edition

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