Cloud adoption among enterprises is unfolding rapidly. Many organizations are adopting a cloud-first strategy for new projects and migrating their existing systems. For example, Oracle workloads are mission critical for most enterprises and feature prominently in discussions about enterprise cloud migration.
If you’re running Oracle databases on premises and are seeking a similar data management solution in the cloud, Azure provides several solutions you can use. When moving your database to the cloud, you should prioritize solutions that provide high performance with low latency, data protection, data durability, encryption, and high availability. NetApp, in a partnership with Microsoft has created a one-stop cloud storage solution that meets these needs.
When you move your database to the cloud, there are several options to keep in mind. Some of the most common challenges and questions that come up with this type of migration include:
The easiest way to deploy Oracle databases in Azure is to use one of the preconfigured machine images. These images were created through a partnership between MIcrosoft and Oracle, and you can find them through the marketplace or with the following CLI command:
az vm image list --publisher oracle -o table --all
Alternatively, if you want to migrate your existing database, you can use the Oracle Diagnostics Pack to determine your current configurations. In this pack, the Automatic Workload Repository (AWR) report can provide the metrics that are currently required for your database.
When gathering these metrics, make sure to run the report during both peak and regular workloads. This approach helps you avoid underprovisioning your resources and prevents loss of performance during high request periods.
Virtual machine size
When sizing your virtual machine (VM), take the following steps:
Security
After your VM is selected and configured, make sure that your data and network are protected. When reviewing your security, be sure to consider the following factors:
Microsoft provides Azure NetApp Files, a fully managed cloud service powered by NetApp technology with full Azure portal integration and access through REST API, CLI, or Windows PowerShell. It’s sold and supported by Microsoft and is not a marketplace offering. With Azure NetApp Files, you can seamlessly migrate and run applications in the cloud without worrying about procuring or managing storage infrastructure. You can purchase Azure NetApp Files and get support through your existing Azure agreements, with no up-front or separate term agreement.
Azure NetApp Files is a one-stop storage solution for cloud customers who are looking to run Oracle databases in the cloud. The solution lets you run a high-performance database with low latency and maximum data protection. This solution also uses NetApp Snapshot™ technology, which offers for rapid, efficient database backup and restoration. By design, Azure NetApp Files provides four nines of availability and nine nines of data durability.
Using Azure NetApp Files can provide several benefits over other storage options in Azure. These benefits include the following.
High performance with low latency
Azure NetApp Files provides shared persistent storage with high throughput, low latency, and consistent volume performance with over 300,000 IOPS. Azure NetApp Files can generate about 470,000 IOPS with less than 0.5-millisecond latency (32 DS32 VMs; 50% 8KiB read and write IOPS) and up to 4.5GMiB/s of throughput. It can meet the demands of large Oracle databases and includes SLAs that ensure consistent performance. With the storage bottleneck freed by Azure NetApp Files, you can hit targets without the need to overprovision the compute and while saving the added costs of additional Oracle licenses.
For Oracle IOPS details, refer to “Oracle IOPS with Azure NetApp Files” later in this article.
Power of NetApp ONTAP
NetApp ONTAPⓇ systems provide enterprise-grade storage support for both Linux and Windows file shares, including support for NFSv3, NFSv4.1, and SMB 3.1. These systems enable powerful data management with Snapshot copies of datasets and high availability, and they achieve sub-millisecond latency.
Increased resilience with Snapshot copies
You can easily create a Snapshot copy of an Oracle database in the cloud by using NetApp Snapshot technology. Snapshot copies act as logical backups. They’re point-in-time representations of your data that you can quickly revert to restore databases without downtime.
You create Snapshot copies manually or schedule their creation by using the Azure NetApp Files API. A Snapshot copy in Azure NetApp Files manipulates block pointers, creating a “frozen” read-only view of a volume. You can then access this view from your applications, and you can use older versions of files and directory hierarchies without special programming.
Creating Snapshot copies typically takes less than a second, regardless of the size of the volume or the level of activity within the environment. Because Snapshot copies are read-only, block-level incremental copies, you pay only for the space consumed by new data written.
Faster time to market
You can quickly spin up volumes based on any Snapshot copy. These volumes enable you to back up database files that can be used to mirror environments, back up data, or support recovery processes. For example, you can easily make copies of data for testing and development.
Data durability
With Azure NetApp Files, data is protected against multiple internal failures and storage media errors. These errors can harm your data durability and your data integrity. To avoid these problems, Azure NetApp Files provides 99.9999999% durability.
High availability
Azure NetApp Files uses enterprise-grade hardware and software to provide high availability with a 99.99% uptime guarantee. This benefit is built in with architectural features, such as redundant network paths, failover, and advanced data protection.
Security and encryption
Azure NetApp Files enables FIPS-140-2–compliant data encryption at rest, role-based access controls (RBACs), Active Directory authentication (enabled for SMB), and export policies for network-based access control lists. It also enhances data security by presenting mount points only within a virtual private cloud, and not as a public IP address.
In Figure 1, you can see that the Oracle database datafiles and logs are configured on Azure NetApp Files. With the combination of Snapshot copies and rightsized throughput, you can easily host your high-performance database in the cloud with maximum data protection and four nines of data availability.
In the diagram, you can see:
The key components of the solution in Figure 1 include:
In Figure 2, you can see that the Oracle database datafiles, archive logs, redo logs, and control files are configured on Azure NetApp Files. The setup resembles the single-instance Oracle database diagram in Figure 1, except that the setup in Figure 2 includes a standby database.
The database is set up on the second Azure VM, in a different virtual network, which was done by copying a primary database to the second instance. Availability increases when you have two file volumes.
The key components of the solution in Figure 2 include:
Figure 3 illustrates the performance of an Oracle database in the cloud on Azure NetApp Files. NetApp ran the benchmark with various workload mixtures and volume counts. The results were stunning.
The graph in Figure 3 shows Oracle Database performance with Azure NetApp Files on the Oracle SLOB benchmark. A mixed read/write Oracle workload running in a single Standard D64s_v3 Linux VM instance is able to deliver 71,000 file system IOPS at sub-0.5-millisecond latency in a single NFS volume.
Up to 218,000 IOPS were seen while latency was still below 2.5 milliseconds. Adding a second Azure NetApp Files data volume enables scaling performance of 310,000 IOPS and greater, while latency remains well below 2 milliseconds.
Oracle Direct NFS (dNFS) is an optimized NFS client that provides faster and more scalable access to NFS storage located on NAS storage devices (accessible over TCP/IP). dNFS is built into the database kernel. As shown in Figure 4, by using dNFS (available since Oracle 11g), an Oracle database running on an Azure VM can deliver significantly more I/O than a native NFS client.
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 use to get started.
This example includes:
#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, see the Azure NetApp Files API documentation.
Azure NetApp Files is fully supported by Microsoft Azure. If you have questions or need help with the service, you can create a support request: Click the question mark in the top-right corner of the Azure Portal interface, and then click the Help + Support button.
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, if hyperthreading is enabled, two virtual CPUs (vCPUs) are equivalent to one Oracle Processor license. If hyperthreading is not enabled, one vCPU is equivalent to one Oracle Processor license. For details, see Licensing Oracle Software in the Cloud Computing Environment.
Oracle Middleware Support
Azure NetApp Files supports Oracle middleware applications such as Oracle Fusion. To minimize network latency issues, Oracle recommends that all metadata repositories reside on a database at the same site as the components. For more details, please refer to Supported Virtualization and Partitioning Technologies for Oracle Fusion Middleware.
For further information on performance, please download this report.