Skip to content

Latest commit

 

History

History
159 lines (85 loc) · 13.3 KB

migrate-websphere-to-virtual-machines.md

File metadata and controls

159 lines (85 loc) · 13.3 KB
title description author ms.author ms.topic ms.date recommendations ms.custom
Migrate WebSphere applications to Azure Virtual Machines
This guide describes what you should be aware of when you want to migrate an existing WebSphere application to run on Azure Virtual Machines.
KarlErickson
haiche
conceptual
04/03/2023
false
devx-track-extended-java, devx-track-java, devx-track-javaee, devx-track-javaee-was-vm, devx-track-javaee-was, devx-track-javaee-websphere, migration-java, linux-related-content

Migrate WebSphere applications to Azure Virtual Machines

This guide describes what you should be aware of when you want to migrate an existing WebSphere Application Server (WAS) traditional application to run on Azure Virtual Machines. For an overview of available WAS traditional solutions in Azure Marketplace, see What are solutions to run the IBM WebSphere family of products on Azure?

Pre-migration

To ensure a successful migration, before you start, complete the assessment and inventory steps described in the following sections.

Define what you mean by "migration complete"

This guide, and the corresponding Azure Marketplace offers, are a starting point to accelerate the migration of your WAS traditional workloads to Azure. It's important to define the scope of your migration effort. For example, are you doing a strict "lift and shift" from your existing infrastructure to Azure Virtual Machines? If so, you may be tempted to work in some "lift and improve" as you migrate.

It's better to stick as close to pure "lift and shift" as possible, accounting for the necessary changes as detailed in this guide. Define what you mean by "migration complete" so that you know when you've reached this milestone. When you've reached your "migration complete", you can take a snapshot of your Virtual Machines as described in Create a snapshot of a virtual hard disk. After you've verified that you can successfully restore from your snapshot, you can do the improvements without fear of losing the migration progress you've achieved thus far.

[!INCLUDE vm-aks-aro-tradeoffs-was-liberty]

Determine whether the prebuilt Azure Marketplace offers are a good starting point

IBM and Microsoft have partnered to bring a set of Azure solution templates to Azure Marketplace to provide a solid starting point for migrating to Azure. For the list of offers, see Run the WebSphere family of products and Liberty on Microsoft Azure, and then choose the one that most closely matches your existing deployment. You can see the list of offers in the overview article What are solutions to run the IBM WebSphere family of products on Azure?

If none of the existing offers are a good starting point, you have to reproduce the deployment by hand using Azure Virtual Machine resources. You can find the step-by-step guidance in Tutorial: Manually install IBM WebSphere Application Server Network Deployment traditional on Azure Virtual Machines. For more information, see What is IaaS?

Determine whether the WAS traditional version is compatible

Your existing WAS traditional version must be compatible with the version in the IaaS offers. You can find the version information from the overview page of IBM WebSphere Application Server Single Instance on Azure VM and IBM WebSphere Application Server Cluster on Azure VMs. If your existing WAS traditional version isn't compatible with that version, you have to reproduce the deployment by hand using Azure IaaS resources. For more information, see What is IaaS?

[!INCLUDE inventory-server-capacity-virtual-machines]

[!INCLUDE inventory-all-secrets]

[!INCLUDE inventory-all-certificates] For more information, see the IBM document Certificate management in SSL

[!INCLUDE validate-that-the-supported-java-version-works-correctly-was]

[!INCLUDE inventory-was-jndi-resources]

[!INCLUDE inspect-your-profile-configuration]

[!INCLUDE determine-whether-session-replication-is-used]

[!INCLUDE document-datasources]

[!INCLUDE determine-whether-was-has-been-customized]

[!INCLUDE determine-whether-a-connection-to-on-premises-is-needed]

[!INCLUDE determine-whether-jms-queues-or-topics-are-in-use-virtual-machines]

[!INCLUDE determine-whether-you-are-using-your-own-custom-created-shared-java-ee-libraries]

[!INCLUDE determine-whether-osgi-bundles-are-used]

[!INCLUDE determine-whether-your-application-contains-os-specific-code]

[!INCLUDE determine-whether-ibm-integration-bus-is-in-use]

[!INCLUDE determine-whether-your-application-is-composed-of-multiple-wars]

[!INCLUDE determine-whether-your-application-is-packaged-as-an-ear]

[!INCLUDE identify-all-outside-processes-and-daemons-running-on-the-production-servers]

Determine whether and how the file system is used

VM filesystems operate the same way as on-premises filesystems with respect to persistence, startup, and shutdown. Even so, it's important to be aware of your filesystem needs and ensure the VMs have adequate storage size and performance.

[!INCLUDE static-content]

[!INCLUDE determine-the-network-topology]

[!INCLUDE account-for-the-use-of-jca-adapters-and-resource-adapters]

[!INCLUDE account-for-the-use-of-custom-security-providers-and-jaas]

[!INCLUDE determine-whether-was-clustering-is-used]

[!INCLUDE determine-whether-the-java-ee-application-client-feature-is-used]

Migration

Select a WAS traditional on Azure Virtual Machines offer

The following offers are available for WAS on Azure Virtual Machines.

During the deployment of an offer, you're asked to choose the virtual machine size for your WAS nodes. It's important to consider all aspects of sizing (memory, processor, disk) in your choice of VM size. For more information, see Sizes for Cloud Services (classic).

Provision the offer

After you've selected which offer to start with, provision that offer by following the instructions in Deploy WebSphere Application Server (traditional) Cluster on Azure Virtual Machines.

Migrate the profiles

After you've provisioned the offer, you can examine the profile configuration. For more information, see Profile concepts in the IBM documentation.

Connect the databases

After you've migrated the profiles, you can connect the databases by following the instructions in Configuring the WebSphere Application Server data source in the IBM documentation.

Account for KeyStores

You must account for the migration of any SSL KeyStores used by your application. For more information, see Keystore configurations for SSL in the IBM documentation.

Connect the JMS sources

After you've connected the databases, you can configure JMS by following the instructions at Setting up JMS in IBM WebSphere Application Server in the IBM documentation.

[!INCLUDE account-for-authentication-and-authorization]

Account for logging

You can configure Elastic Stack by following the instructions at Analyzing WebSphere Application Server logs with Elastic Stack in the IBM documentation. Azure provides support for Elastic. For more information, see What is Elastic integration with Azure? You can combine the knowledge in these two resources to achieve an Azure-optimized logging solution for WAS on VMs.

Migrating your applications

The techniques used to deploy applications from the development team into test, staging, and production servers vary greatly from case to case. In some cases, there's a highly evolved CI/CD platform that results in the applications being deployed to the WebSphere Application Server. In other cases, the process can be more manual. One benefit of using Azure Virtual Machines to migrate WAS traditional applications to the cloud is that your existing processes continue to work.

You have to configure the Network Security Group that the offer provisions to allow access from your CI/CD pipeline, or manual deployment system. For more information, see Network security groups.

Testing

You must configure any in-container tests against applications to access the new servers running within Azure. As with the CI/CD concerns, you must ensure the necessary network security rules allow your tests to access the applications deployed to Azure. For more information, see Network security groups.

Post-migration

After you've reached the migration goals you defined in the pre-migration step, perform some end-to-end acceptance testing to verify that everything works as expected. For guidance on some potential post-migration enhancements, see the following recommendations: