Building Multi-Cloud Apps on Microsoft Azure and Oracle Cloud Infrastructure

Vinay Rao
Oracle Developers
Published in
6 min readJul 26, 2019

Special credits to co-author Sam Shah

(Image credit: Image Credit: Everything Possible / Shutterstock)

As the multi cloud story unfolds, enterprises are looking to build applications that span infrastructures and cloud providers. Oracle and Microsoft recently announced cloud partnership. This partnership enables cross-cloud networking, unified identity & access management, as well as collaborative and integrated support model across Microsoft Azure and Oracle Cloud Infrastructure (OCI). The cross-cloud networking is a secure dedicated link that provides high bandwidth and low-latency between the two cloud providers. There is no need for customers to work with a third party network providers to setup the cross-cloud connectivity.

The power of cross-cloud connectivity enables many use cases. Here are some use cases:
1. Web/App on Azure, Oracle Autonomous, ExaCS database on OCI
2. Java and Oracle Apps on Oracle, .NET/SQL Server applications on Azure
3. Data Mining in Autonomous Database from Azure
4. Apps to Apps interoperability across the Clouds
5. High availability across multiple cloud vendors

Recently Jamal Arif published a blog that walks users through the simplicity of creating an end to end Cloud interconnect between Microsoft Azure and Oracle Cloud Infrastructure (OCI).

As a continuation to the series, through this blog we (Sam Shah & Vinay Rao) would like to walk you through the process of building a simple 2 Tier Multi-cloud application that help enterprise envision applications that leverage best of the breed services from both these cloud providers

Before you start building the application, lets take a quick glance at the architecture

In the above setup, The App tier resides on a Azure compute and DB tier is the Oracle Autonomous Database offering. App tier will write/query data to/from the autonomous database tier over a secure private connection using the Transit Routing: Private Access to Oracle Services.

Pre-requisites:

Before you start deploying your application, Please follow the How to setup the interconnect between Oracle Cloud Infrastructure and Microsoft Azure Blog to setup an end to end connectivity between Oracle Cloud Infrastructure and Microsoft Azure.

Step1: Setup the Autonomous Database on Oracle

Login into the OCI console , select the us-ashburn-1 region and on the quick setup menu click on the “Create Autonomous Data Warehouse” option to spin up a Autonomous Data warehouse service.

Now follow the setup wizard to setup all the required parameters for your ADW service instance and select the “create autonomous database” button on the lower left corner of the page

Once you have created the Autonomous Database, it will take 3–5 mins for the databases to get provisioned.

Now download the Wallet file(Client credentials) as we will need that later in Step4

From the autonomous database console, you can right click on the autonomous database and enter service console

Now navigate to Administration section and download the wallet file

the wallet file will be used later

Step2: Setup the Application Tier on Azure

Now login into the Azure portal and create a Ubuntu virtual machine in the network you have created when following the pre-requisite steps

Please ensure you configure the Network Security Groups to allow the required Database Port and other connections

Once the VM is up and running, SSH into the VM and ensure the connectivity is working

Step3: Setup private peering routes to Oracle services

Assuming you have followed the pre-requisite steps and you have a private peering link setup between Oracle Cloud Infrastructure and Microsoft Azure, the VM’s in the two infrastructure can now reach each other securely over a private connection.

Now in order to access the autonomous database over the secure private connection we will leverage the recently announced Transit Routing: Private Access to Oracle Services feature.

To enable this feature, Lets create a service gateway using the following document : OCI Service Gateway

Navigate to the Virtual Cloud Network > Virtual Network Details and select the service gateway resource on the bottom left side and click on the create service gateway button

Now follow to Wizard to create a service gateway to reach “All IAD Services in Oracle Services Network”

Now once the service gateway is created, We will create 2 route tables: DRG route table and SGW route table

Route Table1: DRG Route Table

Now lets associate this route table to the DRG to ensure all Oracle services routes are advertised by the DRG

Now that the route table is associated with DRG, The DRG will advertise the OSN network routes over the Azure Express route and these routes are visible on the VM’s route table

Now to ensure that the traffic from the Oracle Services Network can reach the remote Azure Application, Lets create SGW route table

Route Table2: SGW Route Table

And associate the SGW Route Table to the SGW

Step4: Install the Application

Now that the connectivity has been setup. Lets install the application that will Mine Data from the autonomous database

To Install the Application, Please follow the following steps

Step1: Install the Oracle Instance Client using the following link in the Azure VM

Step2 : Upload the Wallet file mentioned in step1, unzip the folder and use the files to access the data in the autonomous data warehouse database.

Step3: Clone the application code from this repo.

Step4 : run the application

Voila! The simple python app residing in Azure VNET can privately and securely read data from Oracle Autonomous Database.

Conclusion:

We hope you enjoyed reading this blog, The sample 2 tier application is just a proof of concept of to help you build your ideas and application across Azure and OCI.

We look forward to staying connected and have enterprises benefit from such multi-cloud partnerships.

Video blog coming soon

--

--

Oracle Developers
Oracle Developers

Published in Oracle Developers

Aggregation of articles from Oracle engineers, Groundbreaker Ambassadors, Oracle ACEs, and Java Champions on all things Oracle technology. The views expressed are those of the authors and not necessarily of Oracle.

Vinay Rao
Vinay Rao

Written by Vinay Rao

Motto: Simplicity is the ultimate Sophistication . Foodie, travel bug, tech enthusiast, problem solver