Amazon has developed many services to facilitate the migration of enterprise database systems to the AWS cloud. This includes services that allow for the relatively simple migration of both Oracle licenses and databases into AWS.
However, AWS has yet to develop the shared block storage required to run Oracle RAC, a popular clustered database service. Neither EC2 or RDS provide support for RAC.
This does not mean AWS is off-limits for Oracle RAC customers. A hybrid cloud solution allows enterprises to maintain Oracle RAC on bare metal servers, either in on-premises data centers or in a private cloud, with low-latency connections to web/app tiers in AWS. When implemented with sufficient monitoring and team oversight, a hybrid cloud for applications running on RAC presents a powerful and attractive solution for enterprise database engineers.
Oracle RAC is a shared cache clustered database architecture that utilizes Oracle Grid Infrastructure to enable the sharing of server and storage resources. Automatic, instantaneous failover to other nodes, and therefore enables an extremely high degree of scalability, availability, and performance.
Performance alone is a perfectly sound reason to maintain RAC, despite the overall IT organization’s migration to a public cloud platform like AWS. Further business incentives include:
- Active enterprise license(s)
- Inability (or unwillingness) to arrange a database migration, typically a very costly and time-consuming project
- Custom hardware to support RAC, with high upfront cost
It is possible to migrate an Oracle 11g and 12c Enterprise Edition to AWS without much heavy lifting. Speaking generally, enterprise applications with heavy I/O generally use Oracle on EC2 rather than RDS, as it provides a much closer level of control and optimization. AWS has published an excellent whitepaper on Oracle migration strategies.
However, neither Amazon’s EC2 or RDS provide native support for RAC. There are two limiting components:
- Block-level (EBS) storage can only be mounted on one machine at a time, while RAC is built on the concept of shared disk
- AWS requires that all IP addresses are managed through the API, whereas RAC must manages its own IPs.
AWS’ paper on Oracle migration does suggest an alternative configuration in AWS that could “substitute” Oracle RAC’s architecture, though we have not tested this configuration. Others have also tried to reproduce RAC on AWS
Far simpler and undoubtedly less time-consuming is to continue to host RAC on bare metal server and use Direct Connect to link to AWS deployments.
RAC Hybrid Cloud
Hosting RAC in a hybrid environment might look like this:
Note two key features of this environment:
- The location of the datacenter hosting Oracle RAC. Depending on the AWS region employed for the deployment, maintaining RAC in a facility as close as possible to the AWS datacenter creates a latency of between 1 to 2 milliseconds.
- AWS Direct Connect. A native AWS resource that provides a redundant, dedicated, private connection between the Production AWS environment and the Oracle RAC hosting environment, and between AWS and the client data center. Direct Connect reduces network costs, increases bandwidth throughput, and provides a consistent network experience. This dedicated connection to AWS can be utilized to perform backups consistent with the enterprise’s data retention and recovery requirements.
Where low-latency connections are crucial, it is wise to not host RAC in an on-premises environment, unless the enterprise happens to be located near Ashburn, VA for us-east, Palo Alto, CA for us-west, etc. Yet it would costly for an enterprise to rent server space in a datacenter close to the us-east region and re-purchase hardware. The most cost-effective solution may be to outsource maintenance of the RAC infrastructure to a managed hosting provider that maintains colocation facilities in these areas, yet also has significant experience in AWS deployments (like Logicworks). IT teams can also ship the hardware from their on-premises data center to the colocation facility to save six-figure hardware costs.
Once the connection between RAC and AWS is established. backups from RAC can be pushed to AWS’s S3 and Glacier. This has further cost and reliability advantages over traditional storage and backup.
Not every application component is made for the cloud. Enterprises must go through a careful evaluation process to determine which components can cost-effectively migrate to the cloud, and which cannot. Hybrid clouds will become increasingly common as enterprises learn and expand their cloud offerings.
Running RAC? Contact Logicworks to build and migrate custom deployments that preserve or improve the scalability and performance or RAC. Learn more about how to manage hybrid clouds in our latest whitepaper, “Hybrid Clouds for Legacy Applications: Maintaining Integration Across Multiple Environments.”