Blog

A Reference Architecture for Deploying Oracle Databases in the Cloud

Cloud adoption among enterprises is unfolding rapidly, with many adopting a cloud-first strategy for new projects and migrating their existing systems from on-premises to Azure. Oracle workloads are mission critical for most enterprises and feature prominently in discussions over an enterprise cloud migration.

If you’re running Oracle databases on-premises, and are seeking a similar data management solution in the cloud, there are a few options. When moving your database to the cloud, you’ll also need to keep in mind high performance with low latency, data protection, data durability, encryption, and high availability. NetApp has created a one-stop cloud storage solution by partnering with Microsoft Azure.

The Typical Challenges of Migrating Oracle Databases to the Cloud

When moving your database to the cloud, there are a number of options to keep in mind. Some of the most common challenges—and questions that come up—with this type of migration are:

  • Need to plan the migration from on-premises to Azure
  • Achieving on-premise-like performance for Oracle workloads in the cloud and advanced data management technology
  • Need to also migrate a diagnostics pack for the Oracle Database that you're looking to migrate
  • Ensuring you have a baseline understanding of application performance and platform utilization

A Fully Managed Cloud Service in Azure

Azure NetApp Files is a fully managed cloud service with full Azure portal integration and access via REST API, CLI, or PowerShell. Importantly, it’s sold and supported by Microsoft and is not a marketplace offering. Seamlessly migrate and run applications in the cloud, without worrying about procuring or managing storage infrastructure. Purchase Azure NetApp Files and get support through your existing Azure agreements, with no up-front or separate term agreement.

Having said that, Azure NetApp Files is a one-stop storage solution for cloud customers who are looking to run Oracle databases in the cloud. With Azure NetApp Files, you can run a high-performance database with low latency and maximum data protection. Underlying that security is NetApp Snapshot technology, which offers a crucial option for rapid, efficient database backup and restoration. By design, ANF provides nine 9s of data durability.

What are the Key Values of ANF?

High performance with low latency
With consistently high performance of over 300k IOPS, Azure NetApp Files provides shared persistent storage with high throughput and low latency. An Azure NetApp Files volume is able to generate ~319,000 IOPS with only 1.5 millisecond (ms) latency for adjacent virtual machines and ~290,000 IOPS below the 2ms latency mark for non-adjacent virtual machines. It easily meets the demands of large Oracle databases, with SLAs that guarantee performance.

Refer to the Proven Performance section for the details of the Oracle IOPS data.

Power of NetApp ONTAP
NetApp’s ONTAP systems serve hundreds of thousands of customers and have earned the trust of enterprise organizations over decades. The technology provides proven protocol support, including support for NFSv3 and SMB 3.1. It enables powerful data management with snapshots of datasets, high availability, and can achieve sub-millisecond latency.

Increased resilience with snapshot copies
You can easily create a snapshot copy of an Oracle database in the cloud using NetApp SnapshotTM Technology. Snapshot copies act as logical backups. They’re point-in-time representations of your data, with a rapid revert function that allows you to restore your database without downtime. You create snapshot copies manually or schedule their creation using the Azure NetApp Files API or graphical user interface (GUI). If there is a need to use a snapshot, a customer can rapidly revert using the API.

Snapshot copies are fast, plentiful, and nondisruptive. A snapshot copy in Azure NetApp Files simply manipulates block pointers, creating a “frozen” read-only view of a volume that enables your applications to access older versions of files and directory hierarchies without special programming. Snapshot copy creation takes only a few seconds (typically less than 1 second) regardless of the size of the volume or the level of activity within the environment. Since they are read-only, block-level incremental copies, you only pay for the space consumed by new data written.

Speed up the time to market
Spin up cloud volumes in seconds with Fast Copy. Most organizations need multiple copies of data for testing and development. Oracle landscapes are littered with system copies for variety of uses; creating and refreshing those copies are cumbersome. Typically, creating copies of Oracle landscapes is a time-consuming and tedious process. Azure NetApp Files allows you to fast copy and backup database files, drastically improving the process of copying, backing up, and reverting. The process takes almost no time, which ultimately leads to lower costs by way of a quicker time to market. 

Data durability
With Azure NetApp Files, data is protected not just against multiple drive failures, but also against numerous storage media errors that can harm your data durability and your data integrity. And with 99.9999999% durability—based on the experience of over 300,000 customers—you don’t have to worry that your data is going to disappear.

High availability  
Built on industry leading hardware and software, Azure NetApp Files is characterized by high availability and uptime, both of which are enabled by architectural features, such as redundant network paths, failover, and advanced data protection.  In fact, we are so confident that Azure offers an SLA for availability.

Security and encryption
Azure NetApp Files gives you FIPS-140-2-compliant data encryption at rest, role-based access control (RBAC), Active Directory authentication (enabled for SMB), and export policies for network-based access control lists. Azure NetApp Files also enhances data security by presenting mount points only within a virtual private cloud, and not as a public IP address.  Azure NetApp Files is built to meet demanding Azure security standards, which has helped Azure achieve more compliance certifications than any other cloud provider. View the comprehensive list.

Support for hybrid scenarios
Azure NetApp Files enables easy data migration across on-premises and cloud infrastructures using Cloud Sync, a NetApp service for rapid, security-enhanced data synchronization. Cloud Sync simplifies lift and shift migrations and DevOps use cases, with capabilities like instantaneous snapshot copy creation and restore, as well as Active Directory integration (SMB only). These features work as well—and in the same way—on-premises as they do in the cloud. Integrated data replication and backup features will be available in the near future. Learn more about Cloud Sync.

Detailed Reference Architecture

Oracle Database on a Single Virtual Machine:

Oracle Database on a Single Virtual Machine

In the architecture diagram, you can see that the Oracle database datafiles and logs are configured on Azure NetApp Files. With the combination of snapshot copies, and right-sized throughput, you can easily host your high-performance database in the cloud with maximum data protection and eight 9s of data durability.

In the diagram above, you can see:

  • The Oracle database is configured on an Azure VM.
  • Single or multiple Azure NetApp Files volumes are used as the dedicated storage for the datafiles.
  • An additional volume is dedicated to logs (archive logs, redo logs) and control files.
  • The datafile volume(s) are provisioned using the Ultra Service Level because that class provides the highest throughput at a manageable cost.
  • A second volume is provisioned using the Premium service level.

The key components of the solution include:

  • Oracle database engine
  • Azure VM
  • Azure NetApp Files (storage)
  • NetApp SnapshotTM Technology

Oracle Database: High Availability on ANF

Oracle Database: High Availability on ANF

In the architecture diagram above, you can see that the Oracle database data files, archive logs, redo logs, and control files are configured on Azure NetApp Files. The setup resembles the single instance Oracle database diagram above, except in this case, it includes a standby database. That database is setup on the second Azure VM, in a different virtual network, which was done by copying a primary database to the second instance. That availability increases when you have two cloud volumes.

  • In tandem with Azure NetApp Files, the Oracle primary database is configured on an Azure VM in the first availability zone.
  • The standby database is setup on the second Azure VM in a second availability zone by replicating the primary database to the second instance.
  • A single cloud volume or multiple cloud volumes are used as the dedicated storage for the datafiles.
  • An additional volume is dedicated to logs (archive logs, redo logs) and control files.
  • The data volume is provisioned using the Ultra Service level.
  • The other volume is provisioned using the Premium service level.

Proven Performance: Oracle IOPS with Azure NetApp Files

Azure NetApp Files is the lowest cost, highest quality shared storage solution for database hosting in the cloud. The graph below illustrates the performance of an Oracle database in the cloud on Azure NetApp Files. We ran the benchmark with various workload mixtures and volume counts. The results were stunning.

The below graph illustrates Oracle database performance when using Azure NetApp Files on the Oracle SLOB benchmark. Running a mixed read/write Oracle workload in a single Standard D64s_v3 Linux VM instance is able to drive 71,000 file system IOPS at sub-0.5ms latency in a single NFS volume, and up to 218,000IOPS while still below 2.5ms. Adding a second Azure NetApp Files data volume enables scaling performance of 310,000IOPS and greater, while latency remains well below 2 milliseconds.

One vs Two Azure NetApp Files Volumes D64s_V3 Instance, 75/25 Read/Write

Comparison of Oracle with Azure NetApp Files on dNFS and kNFS:

Oracle and Azure NetApp Files comparing dNFS and Native NFS (Kernel NFS) 75% Read, 25% Update SLOB2 Workload


Oracle Direct NFS
 (dNFS) is an optimized NFS (Network File System) client that provides faster and more scalable access to NFS storage located on NAS storage devices (accessible over TCP/IP). Direct NFS is built into the database kernel.  As shown below, by using dNFS (available since Oracle 11g), an Oracle Database running on an Azure Virtual Machine can drive significantly more I/O than a native NFS client. 

Code Snippet

Azure NetApp Files has rest APIs that can be called by various orchestration engines and scripting languages. Here are some example scripts that you can leverage to get started. 

GET and PUT Request Example:
This example includes:

  •    All NetApp accounts;
  •   Capacity pools for NetApp account;
  •   Volumes; and
  •   Snapshot copies for a volume.
#get NetApp accounts
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts?api-version=2017-08-15

#get capacity pools for NetApp account
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools?api-version=2017-08-15

#get volumes in NetApp account & capacity pool
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes?api-version=2017-08-15

#get snapshots for a volume
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/VOLUMEGOESHERE/snapsh
ots?api-version=2017-08-15

#create a NetApp account
curl -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE?api-version=2017-08-15

#create a capacity pool
curl -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE?api-version=2017-08-15

#create a volume
curl -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/MYNEWVOLUME?api-version=2017-
08-15

#create a volume snapshot
curl -X PUT -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json"
https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/NETAPPACCOUNTGOESHERE/capacityPools/CAPACITYPOOLGOESHERE/volumes/MYNEWVOLUME/Snapshots/SNAPNAME?api-version=2017-08-15

For more details, check out our blog on Azure NetApp Files APIs.

Learn More About Azure NetApp Files.

Deploy your Oracle Database in the Cloud today.

Customer Support for Azure NetApp Files

Azure NetApp Files is fully supported by Microsoft Azure. If a customer has any questions or needs help with the service, they can create a support request by clicking on the question mark symbol on the top right corner of the ANF interface, and then clicking on the “Help + support” tab. Please refer to the below screenshot.

Customer support for Azure NetApp Files

How Does Oracle Licensing Work?

Oracle Database licensing on Azure is based on the size of the instance on which the database is installed. In Microsoft Azure, two vCPUs are equivalent to one Oracle Processor license if hyperthreading is enabled, and one vCPU is equivalent to one Oracle Processor license if hyperthreading is not enabled. For more details on Licensing Oracle Software in the Cloud Computing Environment, please read more here.

Oracle Middleware Support

Azure NetApp Files supports Oracle middleware applications. The customer can use Azure NetApp Files for Oracle Fusion middleware. Oracle recommends that all metadata repositories reside on a database at the same site as the components to minimize network latency issues. Please refer here for details.

Already a Seller or Partner?

For further information on performance, please download this report. 

-