Achieving High Availability with Oracle Cloud Infrastructure Ravello Service O R A C L E W H I T E P A P E R J U N E

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Achieving High Availability with Oracle Cloud Infrastructure Ravello Service O R A C L E W H I T E P A P E R J U N E"

Transcription

1 Achieving High Availability with Oracle Cloud Infrastructure Ravello Service O R A C L E W H I T E P A P E R J U N E

2 Revision History The following revisions have been made to this white paper since its initial publication: Date June 11, 2018 Revision Initial publication of paper. You can find the most recent versions of the Oracle Cloud Infrastructure white papers at 2 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

3 Table of Contents Revision History 2 Introduction 4 High Availability Overview 4 Building Blocks for High Availability 4 Ravello Availability Groups 5 Creating a High Availability Application 6 Import, Build, and Deploy a Siebel CRM HA Application 7 Configure Database Connectivity Between Ravello and Database 9 Configure Load Balancing Connectivity with Ravello 9 Summary 11 Learn more 12 3 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

4 Introduction This white paper provides Oracle Cloud Infrastructure Ravello Service customers with an introduction to Availability Groups. Availability Groups enable applications to easily deploy VMs on separate availability domains, thereby achieving host anti-affinity and high-availability-aware (HAaware) applications. This paper explains how to use the Availability Groups feature in a Ravello application, and it provides a walkthrough of a real-world example of building an HA-aware Oracle application and deploying it on Oracle Cloud Infrastructure. Ravello is an overlay cloud that enables enterprises to run their VMware and KVM applications, including complex Layer 2 networking, on a public cloud without making any modifications. To get the most out of this paper, you should have basic knowledge of Oracle Cloud Infrastructure Ravello Service. High Availability Overview High availability refers to a system that is operational without interruption for extended periods of time. High availability is a critical piece of most enterprise applications. Following are two key principles related to high availability: The elimination of single points of failure by adding redundancy to the deployed architecture Reliable crossover in case of a failure High availability can be achieved at the infrastructure level and the application level. With the Availability Groups feature, Ravello provides the building blocks at an infrastructure level to create HA-aware applications. Building Blocks for High Availability An Oracle Cloud Infrastructure region is a localized geographic area composed of several availability domains. An availability domain is one or more data centers located within a region. Availability domains are isolated from each other, fault tolerant, and unlikely to fail simultaneously. Because availability domains do not share physical infrastructure, such as power or cooling, or the internal availability domain network, a failure that impacts one availability domain is unlikely to impact other availability domains. All the availability domains in a region are connected to each other by a low-latency, highbandwidth network. This predictable, encrypted interconnection between availability domains provides the building blocks for both high availability and disaster recovery. 4 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

5 Ravello Availability Groups Availability Groups in Ravello help to achieve host anti-affinity and deploy HA-aware applications on the Ravello platform. Availability Groups map to availability domains in Oracle Cloud Infrastructure. With Ravello, each VM in an application can be made part of one of the following Availability Groups: AG1 AG2 Default The Default group is, as the name suggests, the default option for all VMs that are not segregated into the AG1 and AG2 groups. VMs tagged with the Default group can be deployed on any of the availability domains on Oracle Cloud Infrastructure. To select a non-default Availability Group for a VM in Ravello, click the VM and then click the General tab on the right. In the Availability Group section, change the Default selection to either AG1 or AG2. Figure 1: Selecting an Availability Group 5 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

6 Creating a High Availability Application This section explains how to build and migrate a Siebel CRM Call Center application to demonstrate an HA-aware application being deployed on Ravello. The application architecture contains two web servers and two application servers, with an active gateway and a passive gateway. The application is migrated from an on-premises virtualized environment (ESXi 6.0) to Oracle Cloud Infrastructure using Ravello. Figure 2 illustrates an example architecture of a highly available deployment. The deployment is front-ended with a load balancer that sits outside the Ravello application, and the web servers and application servers are part of the Ravello application. This example uses an Oracle Cloud Infrastructure Load Balancing instance as the load balancer. The database is hosted on an Oracle Cloud Infrastructure Database instance. The database could be a single instance or any offering from the Database service. The Ravello application deployment has redundancy built-in, by using multiple web and application servers, which provides failover protection and the ability to handle a larger number of requests coming from the load balancer. Figure 2: Siebel HA Application Architecture 6 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

7 Import, Build, and Deploy a Siebel CRM HA Application 1. Import on-premises VMs into the Ravello cloud library by using the Import tool. Figure 3: Invoke the Ravello Import Tool 2. Point the Import tool to connect with the VMware ESXi host or vcenter to upload the Siebel application VMs. Figure 4: Upload VMs by Connecting to the ESXi Host The following six VMs are part of the Ravello application: Two Siebel web servers Two Siebel application servers Two Siebel gateways, one active and one passive The on-premises single instance database is migrated to Oracle Cloud Infrastructure Database. You can manually set up RMAN to move your database backup to Oracle Cloud Infrastructure Object Storage, and use that backup to create a database in a new or existing DB system. 7 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

8 3. After the VMs are imported, create a new application and drag the imported VMs onto the blank canvas. Figure 5: Build the Application in the Ravello UI 4. Select the correct Availability Group for each of the VMs on the application. Failover pair 1 VMs go on AG1 and the second group VMs go on AG2. Figure 6: Select the Availability Group The application can now be published in the Oracle Cloud Infrastructure region of choice. When the application is published with the preceding changes, Ravello places the AG1-attached VMs and AG2-attached VMs in different availability domains, which ensures that the application functions if one of the availability domains goes offline. 8 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

9 Figure 7: Running the Ravello Application Configure Database Connectivity Between Ravello and Database You can use SQL*NET to achieve connectivity between the Ravello application and the Oracle Cloud Infrastructure Database instance. For step-by-step instructions on how to set this up, see the Establishing secure connectivity white paper. Configure Load Balancing Connectivity with Ravello The example in this paper uses the Oracle Cloud Infrastructure Load Balancing service to frontend the application running on Ravello. The Load Balancing service provides automated traffic distribution from one entry point to multiple servers reachable from your virtual cloud network (VCN). The service enables you to create a public or private load balancer within your VCN. A public load balancer has a public IP address that is accessible from the internet. A private load balancer has an IP address from the hosting subnet, which is visible only within your VCN. You can configure multiple listeners for an IP address to load balance transport Layer 4 and Layer 7 (TCP and HTTP) traffic. Both public and private load balancers can route data traffic to any backend server that is reachable from the VCN. For more information, see the Loading Balancing service documentation. In this example, a public Load Balancing instance is created on Oracle Cloud Infrastructure. For a step-by-step guide, see Getting Started with Load Balancing. 9 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

10 1. Get the public IP address assigned to the Load Balancing instance in the Oracle Cloud Infrastructure Console. Figure 8: Load Balancing Instance The backend servers for this load balancer are the web servers in the Ravello application. 2. Add the web servers to the backend set on the Oracle Cloud Infrastructure instance. Figure 9: HTTPS Backend 10 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

11 3. Access the Siebel CRM Call Center application by querying the login URL using the Load Balancing instance IP address. Figure 10: Accessing the Siebel CRM Call Center application The load balancer routes the queries to the web servers in a round-robin fashion (or as configured in the Load Balancing instance setup). The web servers and application servers serve Siebel queries concurrently, thus increasing the capacity of queries that the application can handle. If one of the availability domains goes offline, the application still runs through the VMs running on the other availability domain. Because the gateway VM is in an active-passive mode, configuration of the gateway VM 2 becomes necessary if AG1 were to be impacted. This demonstrates the deployment of an HA-aware Siebel CRM Call Center application. Summary This white paper introduces the Availability Groups feature in Oracle Cloud Infrastructure Ravello Service, which gives users the option to deploy VMs in an application on two separate availability domains. This feature can be leveraged to build HA-aware applications on Ravello, and can be useful in situations where host anti-affinity is needed to have VMs running on separate hosts. Business continuity is an important aspect of any enterprise-grade environment, and the Availability Groups feature helps users take a step in that direction. 11 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

12 Learn More Learn more and sign up for a free trial at Figure 11: Sign Up for a Free Trial 12 ACHIEVING HIGH AVAILABILITY WITH ORACLE CLOUD INFRASTRUCTURE RAVELLO SERVICE

13 Oracle Corporation, World Headquarters Worldwide Inquiries 500 Oracle Parkway Phone: Redwood Shores, CA 94065, USA Fax: C O N N E C T W I T H U S blogs.oracle.com/oracle facebook.com/oracle twitter.com/oracle oracle.com Copyright 2018, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group Achieving High Availability with Oracle Cloud Infrastructure Ravello Service June 2018 Author: Kunal Morparia