AWS RDS by top Server administrator in 5G Software

June, 21 2021

The world is changing, with every idea being converted into an application, millions of new applications go online every day. Now for any application or project to be successful, it should have a unique idea behind it.

Let’s talk about you, you just had the world’s most amazing idea, and you want to create an application around it.

Now imagine yourself 10 years back, when to have the application up and ready, you’d have to setup a back end server, research and install various softwares to support your application, after all of these tiring tasks you would have started developing your application.

Hey, wait! What about its maintenance? You would have to install all the latest security patches and updates for your backend server and also make sure that it stays in a healthy state.

Now, while you were taking care of all that, your app becomes famous overnight, with tons of traffic directed at your application, the need to scale becomes your top most priority, now let’s not even think about the investment you will be making on this task, how will you accomplish this task of scaling up and configuring all these extra servers quickly?

Scary, right? What if i told you, someone will do all these tasks for you, and you just have to focus on your application. Also, at a fraction of the cost that you were investing earlier.

Wouldn’t it be amazing?

Well amazing is, sorry amazon is here, Amazon Web Services (AWS) offers a service called RDS AWS (Relational Database Service), which does all these tasks (i.e. setup, operate, update) for you automatically.

You just have to select the database that you want to launch, and with just one click you have a back end server at your service which will be managed automatically!

Let’s take an example here, suppose you start a small company.

You want to launch an application which will be backed by a MySQL database and since there is a lot of Database work, there are chances that the development work will fall behind.

Imagine this scene again, with Amazon RDS, the image is self explanatory!

Now this was just an example. For bigger companies where you have a bigger team, which manages your database servers; using RDS, that team can be reduced to a significant number and perhaps be optimally deployed!

Let’s move further in this RDS AWS Tutorial and see how amazon defines their service:

The Amazon Relational Database Service (RDS AWS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, re-sizable capacity in an industry-standard relational database and manages common database administration tasks.

So people often develop a misconception, when they confuse RDS with a database.

RDS is not a database, it’s a service that manages databases, having said that, let’s discuss the databases that RDS can manage as of now:

It is a relational database engine made by amazon which combines the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Amazon claims that Aurora is 5x faster than RDS MySQL.

It is an open source database management system which uses SQL (Structured Query Language) to access the data stored in its system.

PostgreSQL is yet another open source database management system which uses SQL to access the data.

SQL Server is a Relational Database Management System, which was developed by Microsoft in 2005 for the enterprise environment.

It is object-relational database management system which was developed by Oracle Inc.

MariaDB is a community developed fork of MySQL DBMS. The reason for its fork, was the concern over the acquisition of Oracle over MySQL

Fork means copying the source code of the original application, and starting development over the new application.

The interesting part is, DB engines that RDS support are existing Relational Databases therefore, you don’t have to change the code of your application or learn a new querying language for using RDS in your already existing application.

Now you may be wondering what is the difference between, say a normal MySQL and a MySQL which is managed by RDS.

Therefore, in terms of usage you will be using it as if, you were using your own database, but now, you as a developer will not be worried about the underlying infrastructure or the administration of the database. The updation, the health monitoring of the system on which your SQL is installed, taking regular backups, etc., all these tasks will be managed by RDS AWS.

AWS also offers EC2 relational database AMIs, now you may ask why one more relational database service when we already have AWS RDS?

So, EC2 relational database AMIs allow you to fully manage your own relational databases on AWS Infrastructure, where as RDS manages them for you. So, depending on your use case you can choose an AWS service. Hope, it is clear to you now!

Build Your Cloud Skills with AWS
Moving along in this RDS AWS Tutorial, let’s discuss the components of RDS.RDS AWS Components:

  • DB Instances
  • Regions and Availability Zones
  • Security Groups
  • DB Parameter Groups
  • DB Option Groups
Let’s discuss each one of them in detail:

DB Instances
  • They are the building blocks of RDS. It is an isolated database environment in the cloud, which can contain multiple user-created databases, and can be accessed using the same tools and applications that one uses with a stand-alone database instance.
  • A DB Instance can be created using the AWS Management Console , the Amazon RDS API, or the AWS Command line Interface .
  • The computation and memory capacity of a DB Instance depends on the DB Instance class. For each DB Instance you can select from 5GB to 6TB of associated storage capacity.
Regions and Availability Zones
  • The AWS resources are housed in highly available data centers, which are located in different areas of the world. This “area” is called a region.
  • Each region has multiple Availability Zones (AZ), they are distinct locations which are engineered to be isolated from the failure of other AZs.
  • You can deploy your DB Instance in multiple AZ, this ensures a failover i.e. in case one AZ goes down, there is a second to switch over to. The failover instance is called a standby, and the original instance is called the primary instance.
Security Groups
  • A security group controls the access to a DB Instance. It does so by specifying a range of IP addresses or the EC2 instances that you want to give access.
  • Amazon RDS uses 3 types of Security Groups: VPC Security Group - It controls the DB Instance that is inside a VPC.
  • EC2 Security Group - It controls access to an EC2 Instance and can be used with a DB Instance.
  • DB Security Group -It controls the DB Instance that is not in a VPC.
DB Parameter groups
  • It contains the engine configuration values that can be applied to one or more DB Instances of the same instance type.
  • If you don’t apply a DB Parameter group to your instance, you are assigned a default Parameter group which has the default values.
DB Option groups
  • Some DB engines offer tools that simplify managing your databases.
  • RDS makes these tools available with the use of Option groups.
Get AWS Certified!
  • Instance Class i.e. the type of instance that you are choosing.
  • Running Time i.e. the amount of time an instance is running, partial hours are billed as full hours.
  • Storage i.e. the amount of storage that you have provisioned to your DB Instance
  • I/O Requests per Month i.e. the I/O requests that are made to your DB Instance per month
  • Data Transfer: Data transfer in and out of your DB Instance.
  • Reserved Instance is also a way of using AWS RDS, in this you reserve an RDS Instance for a term, which can be for one or three years by making a one time payment, it is a less expensive way compared to the monthly bill that one pays.