Oracle on AWS. RDS or Self Managed Databases?
When you run Oracle on AWS there are a few options available. Relational Database Service (RDS) is the AWS service for databases, self managed is how we refer to a legacy database implementation and RDS custom is somewhere in between. In this post we compare and contrast these options so you can make the best decision for your architecture.
RDS
AWS Manage the database for you in their own VPC and provide an endpoint that you access via Oracle's network protocol SQL*Net. This setup is fully managed by AWS from a physical database perspective.
Benefits
1. Configuring backups is done for you, just check the box
2. Configuring high availability options is incredibly straightforward, AWS have the multi-availability zone feature which automatically builds and manages a database replica for you
3. Out of the box monitoring using CloudWatch, aspects such as tablespace utilisation, memory utilisation that are needed for day to day troubleshooting are pre-configured.
Restrictions
1. You can only apply patch sets as they are approved by AWS, so if there is a patch you need to fix a specific bug and this hasn’t been through AWS testing this could cause a delay for you
2. There are restrictions on some Oracle features. AWS do not support all of the features of Oracle database within the RDS product particularly those that give access to the filesystem make calls across the network
3. AWS do not allow out of support versions of Oracle so if you are running an old version then you need to upgrade before moving to AWS
RDS Custom
AWS provides a half-way house between the fully managed and self managed setups. Some of the restrictions are relaxed around database features and Operating system access and the RDS Custom runs on an instance inside your own VPC
Benefits:
You can now access the file system from the database
One-off patches outside the RDS approved patch process can be applied
Your database now runs inside your own VPC
You get access via SSH to the host running the instance
Restrictions:
Multi-availability-zone RDS is no longer an option
You can’t run multiple databases on a single host
Self Managed
This would be very familiar to any DBA as you install and configure the database how you have always done within an on-premise legacy environment. All the operational setup is down to the user so you need to build your backup technology and processes and add any high availability configuration and monitoring setup you need.
Benefits:
All Oracle options are available
Objects can be created in the SYS schema (this is a requirement for many Oracle business applications)
Applications that are very closely coupled with infrastructure, such as Oracle eBusiness suite can be deployed
Out of support releases of Oracle can continue to be used
Multiple instances can be run on a single instance to make best use of licenses
Restrictions:
All administrative operations have to be built and managed by the administrator
Any configuration of high availability solutions requires considerable development over the RDS ‘checkbox’ options.