WebSphere is the well-recognized brand name of a family of IBM middleware products. WebSphere Application Server is a Java application server used for many data center applications. Vendor support for WebSphere Application Server versions 7 and 8 is soon coming to an end, requiring companies to upgrade to version 9. Because versions 7 and 8 run on Java 6, and version 9 requires Java 8, companies must also upgrade Java as part of the WebSphere upgrade.
To reduce risk, companies can deploy WebSphere on a public cloud and run the new versions side-by-side with the older versions until all the details of the migration have been tested and validated. That includes streamlined provisioning of the development, test, QA, and production environments, which is essential for reducing risk during the platform upgrades.
Oracle Cloud Infrastructure is a natural target for this approach because it is a Generation-2 cloud for enterprise applications, with high performance, security, and superior economics. It’s especially attractive for mixed middleware environments that contain both WebSphere and Oracle WebLogic, and even more so when these platforms use Oracle Database as their data source and persistent repository.
This post describes an approach for running your legacy and current WebSphere environments on Oracle Cloud Infrastructure.
WebSphere and other Java applications platforms attempt to insulate enterprise applications from the lower part of the technology stack: the OS and what we call “bare metal” servers. However, the migration of enterprise applications to a different web application platform is likely to require more up-front investment and a longer timeline.
For this reason, moving WebSphere Application Server 7 and Java 6 off their traditional IBM P-Series servers under an AIX OS to a current version of Red Hat Enterprise Linux or Oracle Linux running on x86 servers doesn’t affect the applications in a significant way. The following diagram shows the relocation of the upper portion of the application technology stack from AIX and P-Series to the Oracle Linux and VM.Standard.2.x server shape in Oracle Cloud Infrastructure.
Figure 1: Moving the Middleware Stack to Oracle Cloud Infrastructure
In Oracle Cloud Infrastructure, we can quickly create Active/Hot Standby and Active-Active load sharing for WebSphere configurations, as shown in the following figure. The deployment patterns support horizontal scale-out, and having a range of VMs (compute instances) simplifies the sizing and vertical scale-up. The provisioning can be done through the Oracle Cloud Infrastructure Console or by using Oracle Resource Manager, which runs infrastructure provisioning batch jobs that consist of Terraform-based automation scripts. Managed Oracle Database services are available to serialize the transactions and ensure data persistence. These managed services improve the performance, security, and availability of Oracle Database, and they offer all the Oracle DBA tools—so there’s no need to retrain staff.
Figure 2: Simplified WebSphere Deployment Pattern
Consider the case of installing WebSphere 7 in a cloud. Oracle Cloud Infrastructure provides load balancers as a region-wide service. This makes it easy to implement an Active/Hot Standby configuration, for example, by setting up a Weighted Round-Robin load-balanced configuration. For many enterprise Java applications, this configuration cost effectively meets high availability (HA) requirements.
Oracle Cloud Infrastructure has over 25 regions distributed across the world. Many regions have multiple availability domains, which are data centers located within synchronous replication distance. Each availability domain has three fault domains, which use redundant hardware and networking. All of this makes it easy to configure WebSphere in a high-availability configuration. Figure 2 illustrates the deployment across two fault domains. The multiple-availability-domain implementation looks similar.
If performance testing results indicate that the VM is underpowered, it takes a few keystrokes and a few minutes to "upgrade" it a more powerful model (shape). The Load Balancing service supports autoscaling, so in many cases, it might be an effective option to also scale up the servers.
For the WebSphere Network Deployment (ND) edition, the use of a cloud native load balancing service eliminates the need to deploy the optional WebSphere ND components, such as the DMZ proxy. If the pre-existing multiple-node configuration uses the native WebSphere Message Bus and HA management, the Active-Active setting can be used. In this case, the deployment can use the same infrastructure framework and preserve the native WebSphere Active-Active load distribution inside a WebSphere distributed cluster (cell). It covers less common use cases, such as when support of the SIP protocol is required, or native WebSphere autoscaling and enhanced session failover are critical.
Oracle Cloud Infrastructure can support WebSphere installations as far back as WebSphere Application Server 188.8.131.52 and Java 6. Various WebSphere deployment footprints can be quickly implemented using the Oracle Linux or Red Hat Enterprise Linux images, along with the Load Balancing service. They might use a range of Oracle Database solutions, including Oracle Real Application Clusters (RAC) and, for WebSphere 9, Autonomous Database (Oracle 18c and 19c). Repositories from other vendors can also be used as VM-based JDBC data sources.
IT planners and enterprise architects should consider this convenient, pragmatic venue for migrating traditional WebSphere applications to the cloud. Setting up the infrastructure for the multiple non-production and production environments is easy and takes minimal time. This approach eliminates the need to replatform or modify existing WebSphere applications. Visit the Oracle Architecture Center for detailed technical information about Oracle’s validated solutions for Oracle Cloud Infrastructure.