Seamlessly Migrating On-Prem Workloads

November 22, 2023 | 6 minute read
Shawn Moore
Principal Cloud Network Architect
Text Size 100%:

Migrating an on-premises web server to a cloud infrastructure like Oracle Cloud can enhance scalability, reliability, and performance. Leveraging Oracle Cloud Infrastructure's Load Balancer as a Service (LBaaS) is an excellent strategy to distribute incoming traffic across multiple servers, ensuring high availability and efficient resource utilization. Here's a comprehensive guide on how to seamlessly migrate your on-premises web server to Oracle Cloud Infrastructure using LBaaS.

Understanding the Migration Process

1. Assessment and Planning:
   Before initiating the migration, conduct a thorough assessment of your on-premises web server. Identify dependencies, performance metrics, and any specific configurations crucial for the server's functionality.

2. Setting Up Oracle Cloud Infrastructure:
   Create an Oracle Cloud account if you haven't already. Access the Oracle Cloud Console and navigate to the Networking section to set up the Load Balancer service.

3. Configuring Load Balancer:
   - Create a Load Balancer: Define the load balancer's configuration, such as backend sets, health checks, listeners, and routing rules.
   - Backend Sets: Specify the servers or instances in Oracle Cloud Infrastructure that will receive traffic from the load balancer.
   - Health Checks: Set up protocols to monitor the health of backend servers. This ensures the load balancer directs traffic only to healthy instances.

     Note: Details on how to create and configure a load balancer will not be covered in this guide. To learn more about load balancer configuration click here.

4. Replicating On-Premises Environment:
   - Create Virtual Cloud Network (VCN): Set up a VCN in OCI following recommended best practices to host your new computer instances.
   - Provision Compute Instances: Create instances (VMs) in Oracle Cloud Infrastructure similar to your on-premises servers.

5. Data Migration:
   - Transfer Data: Migrate your web server data to Object Storage or directly to the newly provisioned instances.
   - Database Migration (if applicable): If your web server interacts with a database, migrate the database to Oracle Cloud or ensure connectivity between the cloud-based server and the on-premises database.

6. Adjust DNS Settings:
   Modify your domain's DNS records to point to the newly configured Oracle Cloud Load Balancer.

7. Testing and Validation:
   - Test Load Balancer Configuration: Validate the Load Balancer's functionality by directing traffic to the instances and ensuring proper load distribution.
   - Performance Testing: Conduct performance tests to ensure the migrated web server performs optimally.

8. Monitoring and Optimization:
   Implement monitoring tools within Oracle Cloud Infrastructure to track the performance of your web server and Load Balancer. Optimize configurations based on observed performance metrics.

Guide

Now that we know what's needed for a successful migration, lets go through what this would like in the real world. Below provides a how-to guide on seamlessly migrating from on-prem to OCI without any downtime involved. Be sure to also follow along in the video shown below:

We'll use the following diagram for this demonstration:

[SMOW - Diagram]

 

Note that the on-prem currently has an existing application load balancer used for front-end web client connections:

[SMOW - On-Prem LB to On-Prem VM]

1. Once our VCN environment is ready, the first step is to build and deploy our OCI load balancer. Before deploying the LB, confirm connectivity is established and verified between on-prem and OCI. This includes ensuring the necessary routing and security rules are in place. 

We'll use the IP address (172.16.0.234) of the on-prem VM and HTTP to configure it as a backend on the load balancer. Once added the backend will appear as the following:

[SMOW - On-Prem Backend]

2. After connectivity to the on-prem web server via the OCI load balancer is confirmed, we'll swap external web clients to use the OCI Load Balancer. This can be accomplished by using a Public DNS service such as OCI DNS to change the website's DNS record to use the OCI Load Balancer's IP address.

[SMOW - On-Prem Backend]

New traffic flow:

[SMOW - LB to OCI VMs 2]

3. Now we can perform a data migration of the on-prem web server to OCI as mentioned above. We can comfortably build and test the new web server within OCI before moving it to production. Once ready, we'll add the new OCI instance as an additional backend on the Load Balancer.

Since this is our first go at using a workload in OCI lets use the canary migration strategy. We'll adjust load balancer weighting so only a small subset of our web clients will be directed to the new OCI instance. For this demo I've set a balancer ratio of 3:10; 30% of incoming traffic will be directed to the OCI instance (10.0.0.237):

[SMOW - Canary Hybrid]

Incoming traffic flow now looks like the following:

[SMOW - LB Hybrid Diagram]

4. Finally, after confirming that the OCI instance is performing as expected, we can shift to hosting web traffic completely in OCI.

To further take advantage of the high availability OCI natively offers, we'll deploy an additional image of the OCI instance in a separate Availability Domain. Ensuring that our web service will be available even if an unforeseen event happens within one of the ADs.

The additional OCI instance is added, this time load balancer weighting is set to 1 for both. Incoming traffic will be distributed evenly between both backends:

[SMOW - OCI Backends]

Traffic flow is now shifted entirely to OCI!

[SMOW - LB to OCI VMs]


Key Benefits of Using Oracle Cloud Infrastructure and LBaaS

- Scalability: Easily scale resources up or down based on demand with the flexibility of OCI.
  
- High Availability: LBaaS ensures uninterrupted service by distributing traffic across multiple instances, reducing the risk of downtime.
  
- Security: OCI offers robust security features, including encryption, network security, and access controls, enhancing the overall security posture of your web server.

Conclusion

Migrating an on-premises web server to Oracle Cloud Infrastructure using our load balancer is a strategic move towards enhancing performance, scalability, and reliability. With meticulous planning, configuration, and testing, organizations can seamlessly transition their web applications to the cloud, leveraging Oracle's robust infrastructure services. Embrace the agility and efficiency of the cloud to empower your web server and adapt to evolving business needs.

Shawn Moore

Principal Cloud Network Architect


Previous Post

Fusion Applications Integration with Microsoft Teams : Architecture

Angelo Santagata | 6 min read

Next Post


Fusion Applications Integration with Microsoft Teams: Modifying Fusion Applications

Maximilian Froeschl | 6 min read