Amazon RDS Pros and Cons – A detailed overview

Posted By: administrator
Posted On: 06 Apr, 2020
Last Updated On: 28 Sep, 2020

Amazon Relational Database Service or Amazon RDS is a managed cloud database service from AWS. It is a service designed to simplify the creation, operation, management, and scaling of a relational database for use as an application backend. AWS launched the RDS service initially in October 2009 with support for MySQL. As years went on, the RDS service added managed services for various other databases like SQL Server, Oracle database, PostgreSQL, and MariaDB. 

Go to the end of the section if you’s like to skip reading about RDS and go directly to the section where we cover Amazon RDS Pros and Cons.

Amazon RDS-A workhorse for AWS

RDS is one of the most popular services in AWS boasting a wide array of customers seeking to reduce dependency on their DBAs and enabling their existing staff to operate more databases than they were able to previously. AWS teams manage the provisioning of the infrastructure and performing maintenance tasks on the RDS instance. Administration processes such as patching the RDS database, backup of databases and point-in-time recovery are automated. A single API 

call scales storage and computing resources as AWS does not provide an ssh link to RDS instances. Customer running an RDS instance have limited control on the underlying infrastructure and the Operating system. By preventing root access to the node, AWS limits the customers from installing any 3rd party software on the node, and that may include special database encryption software or log-shipping software that may require root access to the node.

Amazon RDS critical to AWS initial growth:

Despite these limitations, Amazon RDS has proven to be an incredible workhorse for AWS and its customer base. If Amazon S3 attracted initial customers to AWS and EC2 instances made them stay, RDS enabled AWS to scale its operations by making customers more sticky to their cloud services. Many websites that run on the LAMP stack have made RDS as their backend. One can say that leading with MySQL was a smart move on the part of AWS because the service attracted smaller customers with less mission-critical applications who were also resource-constrained.

Offloading a significant portion of the infrastructure management to AWS enabled small teams to focus on more value-added work. At the same time, AWS used this opportunity to strengthen their product offering and services, a win-win for both parties. RDS now boasts many enterprise customers like Unilever, Airbnb, Netflix and Expedia, which demonstrates the capability, convenience, and the value provided by the service.

Features of Amazon RDS

Lower administrative overhead

Amazon-RDS-Pros-And-Cons

Easy to use 

AWS offers multiple ways to access and manage the RDS service, including the AWS Management Console, the RDS Command Line Interface (CLI), and REST API calls. Upon the invocation of an RDS instance creation process with pre-defined parameters, an RDS instance is spun up and is ready for use within minutes. Administrators continue to have access to database configuration parameters that they can modify to get optimal performance from their RDS instance.

Amazon RDS Automatic software patching 

Amazon handles the patching of the underlying OS and the database alleviating the burden on the database administrators. However, RDS administrators continue to have the option to decide when to patch the RDS instance. Amazon RDS makes sure that the relational database software powering your deployment stays up-to-date with the latest patches. You can exercise optional control over when and if your database instance requires patching.

Amazon RDS Recommendation Engine

Amazon RDS service runs thousands of databases for various clients which enables them to identify best practices for achieving optimal utilization, security, and performance of the RDS instance. RDS customers receive these recommendations. They can assess the validity of the recommendations and take appropriate actions according to their preference or ignore the suggestion.

Amazon RDS Performance

Users can decide from a slew of compute and storage options that are available on Amazon RDS. SSD backed storage supports both General Purpose and Provisioned IOPS use cases. For customers running RDS instances to support broad-based workloads, General Purpose SSDs offer excellent value. For more demanding workloads that require predictable performance and high I/O throughput, Provisioned IOPS storage is a better choice. Storage selection options are available to the users during the RDS instance creation process.

RDS Instance Scalability

Storage, compute, and memory are the three aspects of a database where scalability is required. RDS offers a push-button scalability option for administrators and enables them to add more storage to their RDS instance or to scale up or scale down compute and memory allocated to the instance. Storage scalability options vary by the flavour of RDS in use, i.e. MySQL, Oracle, SQL Server, and others. No downtime is required to provision additional storage for an RDS instance. RDS currently limits the scaling operations to a maximum of 32 vCPUs and 244 GiB of memory. Scaling compute involves taking a downtime although the downtime typically lasts only a few minutes.

Amazon RDS Read Replicas 

RDS is a single instance database. User can only scale up as a result to address the increasing demand of write workloads. However, RDS also offers the capability to create multiple read replicas to serve read requests coming in from application users and database users on the RDS instance. Each RDS replica has attached storage that is synchronized by leveraging log shipping techniques and offers scale-out capabilities for read operations. RDS Read replicas are offered for MySQL, MariaDB, Microsoft SQLServer, PostgreSQL, and Oracle as well as for Amazon Aurora DB. RDS Read Replicas for Microsoft SQL Server and Oracle can be created only in the same region in different Availability Zones whereas, for other supported databases, customers can create read replica in another region also. 

RDS Automated backups and Recovery

Amazon RDS automatically creates backups of the instance and supports point-in-time recovery. Amazon RDS backs up and stores the database logs and the transaction logs for a specified retention period that a user selects. Database restoration process is also simple and can be controlled directly from the console, CLI or by using the REST APIs. Databases can be restored up to the nearest second and thus, minimizing data loss. Backups and restores are typically time-consuming activities and are prone to human errors. By automating this feature RDS reducing significant risks to the business that can occur due to manual errors.

Amazon RDS Database Snapshots 

Users can initiate database snapshots for storage in S3 buckets. These snapshots are useful in the creation of new instances like development or testing instances in a matter of minutes. The snapshots also double up as database backups.

Amazon RDS Availability 

RDS instances can be deployed across multiple availability zones to increase the availability of the database service. In a multi-availability zone setup, RDS ensures that that stand by is up to date with the production RDS instance. The Initiation of a failover process occurs automatically upon the failure of a production instance.

It is a good practice for production environments to have a standby in a different availability zone, preferably region, to mitigate the impacts of a complete availability zone failure. Although such instances are rare, they do occur occasionally. In case of an underlying hardware failure, RDS replaces the compute node. 

Amazon RDS Security

Encryption

Public cloud database services generally come with encryption at rest and in transit capabilities. RDS offers robust encryption capabilities. Users can opt for managing their encryption keys using the AWS Key Management Service (KMS). Encryption capabilities are not limited to the production instance. All snapshots, backups, read replicas, standby nodes are also encrypted. SSL is used to secure data in transit. 

Networking

Emphasis on security at the network layer is also vital. A database instance can be isolated from the rest of the environment by running the instance in its VPC. RDS is also well integrated with AWS services like firewall and VPN.

AWS Identity and Access Management

AWS Identity and Access Management (IAM) integrates with all services in AWS. IAM enables customers to control access to the RDS instances and other cloud resources running on AWS. Role-based access controls grant specific permissions to users on the actions they can perform on the RDS instance.

RDS Manageability and Monitoring

Amazon CloudWatch captures the metrics like CPU and memory utilization, I/O and connection activity for the RDS instances at no extra charge. Powerful alerting mechanisms ensure critical issues are communicated to a suitable audience immediately upon the occurrence of any issue.

RDS Pricing

RDS pricing is similar to other AWS database services like Amazon Redshift. Pay as you go and reserved instance pricing with multi-year commitments are available for customers to choose. Pay per use pricing is applicable for lower environments, while production and standby environments typically run on reserved instances.

Amazon RDS Pros and Cons

ProsCons
Automated PatchingPatching forces a downtime
Automated BackupsNo scale-out for write workloads
Encryption at rest and in-transitDowntime required for scaling operations
Significant improvement over on-premise databasesNo automated performance tuning
Integrated with rest of the AWS ecosystemNot a zero-administration database
No hardware maintenance neededNo automated partition management
Simplified scaling in comparison to on-premise databasesNo automated compression management
Automated log shipping and read read replicaNo root access to the server
Simplified disaster recovery and automatic failoverNo native support as a read replica for on-premise Databases
Automated additional storage allocationCPU and Storage performance is not guaranteed
Point in time recoveryZero data loss is not guaranteed

We hope that this articles is helpful for you in understanding Amazon RDS pros and cons. To learn more about other AWS database services like Redshift, head over to our blog.

Leave a comment

Your email address will not be published. Required fields are marked *

Sign up for a free trial of Daton today.

Take your analytics game to the next level

×
-