DBFS vs OCI Storage Services for PaaS DR

Introduction

Oracle Cloud Infrastructure (OCI) provides highly available and scalable cloud infrastructure and services to enable the Disaster Recovery for the applications to be reliable, secure, and fast.

Oracle Cloud Infrastructure is hosted in regions and availability domains. A region is a localized geographic area, and an availability domain is one or more data centers located within a region.

In this blog we will be exploring the use of different storage services available for DR between regions and or availability domains.

For further information on Regions & Availability Domains please refer to the OCI documentation

OCI Disaster Recovery Deployment Strategies

On OCI, the following deployment strategies are available for Disaster Recovery:

  • Single Region with One Availability Domain
  • Single Region with Multiple Availability Domains
  • Cross-Region

Figure-1 OCI Deployment Strategies

Storage Consideration for OCI Disaster Recovery

 

1 DBFS with Data Guard/GoldenGate
2 Object Storage Service
3 File Storage Service
4 Block Volume

PaaS on OCI DR Considerations

Application, Middleware and Database synchronization between the Production and DR sites is one of the key requirement to set up an Active-Active or Active-Passive DR site for various PaaS services available on the OCI. Along with adequate network resolution techniques, a highly resilient Disaster Recovery site can be built on OCI. “What to Synchronize” and “When to Synchronize” are the two questions which need to be answered based on the  “Recovery Time Objective (RTO)” and “Recovery Point Objective (RPO)” set to meet the business continuity.

In Case of Oracle Databases which can be one of the component for majority of the PaaS services available on OCI, Oracle Data Guard or Oracle Golden Gate are the recommended solutions to enable Disaster Recovery. Both “Single Region Multiple Availability Domain” and “Cross Region” DR Deployment strategies can be achieved using Data Guard and Golden Gate. If Data Guard need to be enabled on “Single Region with One Availability Domain” Deployment model, primary and standby databases can be provisioned on different Fault Domains within the same Availability Domain to provide isolation of resources in case of hardware failure or unexpected software changes.

Along with the Database Synchronization, some the of PaaS services require the Middleware/Application artifacts especially the configurations to be synced between the Production and DR sites.

This blog primarily discusses the different synchronization approaches with OCI to propagate Application/Middleware configurations  between the Production and DR instances deployed as per the DR Deployment strategies mentioned above.

DBFS with Data Guard/GoldenGate

If the PaaS Service is using Oracle Database, DBFS is one of the options which can be considered to store the Application and Middleware artifacts temporarily which need to be synced between the Production and DR sites. DBFS with Data Guard/GoldenGate enabled on underlying Oracle database can be used to synchronize the Application or Middleware configuration changes between the Production and DR sites.

Any object stored on DBFS will inherit the high availability and disaster recovery protections the Oracle Database offers. Data Guard/GoldenGate synchronization between the Production and DR site takes care of synchronization of objects stored on the DBFS as well. Encryption can also be achieved by enabling TDE (Transparent Data Encryption) on the tablespace where DBFS File System is created.

Pros:

DBFS is an ideal candidate for the sync between the Production and DR sites deployed on “Single Region Multiple Availability Domains” & “Cross Region” deployment models.

When compared to Object Storage & File Storage Service, utilizing the DBFS doesn’t have any additional cost implications if Oracle Database is part of PaaS Service.

DBFS can be attached/detached to multiple instance.

Once Mounted to the instance, OS commands like cp, rysnc, rm etc can be used manage the objects stored on the DBFS.

Cons:

Objects stored on DBFS need to be managed manually since no default life cycle management utilities available with DBFS.

DBFS cannot be accessed when Database is unavailable.

DBFS_CLIENT is not available for Windows Hosts.

Require DBFS_CLIENT to be installed and configured to access the DBFS mount from a remote node.

Transfer Speeds will be lesser when compared to File Storage Service.

Object Storage Service

The Oracle Cloud Infrastructure Object Storage service is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability. Data can be accessed directly from the internet or from within the cloud platform. In case of VCN with Private subnets, data can be access via OCI Service Gateway from the Object Storage Public Endpoints.

With Object Storage, Data is stored redundantly across multiple storage servers and across multiple availability domains . Object Storage actively monitors data integrity using checksums and automatically detects and repairs corrupt data. Object Storage actively monitors and ensures data redundancy. If a redundancy loss is detected, Object Storage automatically creates additional data copies.

Utilizing the inbuilt Object Storage Lifecycle Management, objects can be automatically archived or deleted. Efficient usage of Object Lifecycle Management can reduce the storage costs and the time spent on managing the objects.

Object storage has multi-AD level redundancy, so it’s ideal for keeping backups and archives for longer time. Even though Object Storage is a regional service, utilizing the “cross region copy” buckets can be synced between the regions which is highly required in case of Cross Region DR Deployment Models.

Using Storage Gateway, traditional applications can interact with Oracle Cloud Infrastructure Object Storage through standard NFSv4 protocols. Storage Gateway file systems can be connected to Object Storage buckets. Storage Gateway stores files as objects in an Oracle Cloud Infrastructure Object Storage bucket and supports multipart uploads for large objects.

Pros:

Inbuilt Lifecycle Management tools to Manage Objects when compared to DBFS and File Storage Service.

Object Storage can be attached to multiple instances using the OCI Storage Gateway.

Utilizing the Storage Gateway, Object Storage can be Attached to Instances Outside the Parent Availability Domain & Parent Region.

Multiple layer of security can be configured depending on the level of access required.

High Redundancy when compared to other storage services on OCI.

Encryption is enabled by default.

Ideal for Storing the backups with higher retention periods.

Object Storage is one of the cost effective option when compared to other storage services on OCI.

Cons:

OCI Console, OCI Client, REST API ,OCI Supported SDK’s or OCI Storage Gateway need to be used to manage objects on Object Storage.

If using Storage Gateway, an additional compute instance is required to install and setup Storage Gateway.

Storage Gateway does not currently support NFS clients running on Windows or Mac OS.

Object Storage has less transfer speeds when compared to File System Service or DBFS.

Additional Cost to subscribe the OCI Object Storage Service.

While Using Storage Gateway, Object Storage does not support symbolic links, hard links, or special device files.

File Storage Service

One of the other option which can be used for DR synchronization is OCI File Storage Service. Oracle Cloud Infrastructure File Storage service provides a durable, scalable, secure, enterprise-grade network file system. FSS can be mounted to any Bare Metal, Virtual or Container instance within the same VCN or even outside the VCN utilizing the OCI Fast-connect or IP Sec VPN.

Since the FSS redundancy is limited to only single Availability Domain level, it’s not recommended as a storage area for longer backup retentions. FSS is an ideal candidate to temporarily store the Application and Middleware artifacts which need to be synced between Production and DR instance especially for Single Region Multiple Availability Domains Deployment strategies.

The File Storage service supports the Network File System version 3.0 (NFSv3) protocol and uses the Network Lock Manager (NLM) protocol for file locking functionality.

Pros:

The File Storage service uses four different layers of security. Oracle Cloud Infrastructure (OCI) policy, Network security, NFS export option, NFS v.3 Unix security.

Can be mounted on Unix/Linux or Windows Hosts.

Can be Attached to Multiple Instances.

Can be Attached to Instances Outside the Parent Availability Domain Within Same Region.

Multiple layer of security can be configured depending on the level of access required.

Encryption is available by default.

Can achieve higher transfer speeds when compared to Object Storage and DBFS.

Cons:

In FSS, data is replicated for durability within each availability domain when compared to Object Storage data replication across Multiple Availability Domains.

Require nfs-utils on linux/unix or nfs-client on windows to be installed or configured.

Life Cycle Management need to be done manually unlike Object Storage.

Additional Cost to subscribe the OCI File Storage Service.

Block Volume

On OCI PaaS, OCI Block Volume is an ideal storage for “Single Region with One Availability Domain” Deployment Model. Along with Block Volume Backup & Clone feature available with OCI, One can also copy Block volume backups from one region to another region using the Oracle Cloud Infrastructure Block Volume service. This will provide an extra level of redundancy for the “Single Region with One Availability Domain” Deployment Model.

Pros:

Option to preserve the Data during Instance Termination.

In Built Backup Policies Available.

Can be Attached to Linux/Unix or Windows Hosts.

Can copy the Block Volume Backup from One Region to Another.

Cons:

Cannot attach to Multiple Instances at a time.

Cannot attach to Instances outside the Parent Availability Domain.

Summary:

This article mainly focused on leveraging the OCI Storage and its capabilities within the scope of Disaster Recovery. OCI Storages provides more advanced features which can be leveraged for High Availability, Performance, Security etc which are not discussed in this article. Please refer the OCI Documentation to understand the OCI storage capabilities in a deeper level.

References:
https://docs.cloud.oracle.com/iaas/Content/home.htm
https://cloud.oracle.com/iaas/whitepapers/best_practices_for_dr_on_oci.pdf
https://cloud.oracle.com/iaas/whitepapers/best-practices-deploying-ha-architecture-oci.pdf

Add Your Comment