Thinking of moving PostgreSQL server on Cloud using RDS?
Sushant Pawar | Database Solution Consultant, Ashnik
Just a decade ago, most of the organizations had their databases running on fixed hardware configurations on in-house datacentres. Organizations used to have own infrastructure teams and had to manage on-premise database servers along with the assets it requires. Organizations had to allocate large portion of their IT budgets on this infrastructure support to carry these assets.
A few years down the line, when these fixed on-premise configurations would become obsolete with the growing needs, businesses found it difficult to address these needs in a timely manner, could not provide computing facilities, response time increased thereby affecting the overall IT landscape of enterprise making it slow and less profitable. On the top of it, server/storage up-gradation would itself become a separate project all together, where the procurement process for it is usually a time-consuming process.
In recent years, we have seen that cloud has emerged as the preferred deployment platform which certainly has solution for most of these problems. It successfully overcomes the challenges of an on-premise database infrastructure and many other underlying hardware and storage issues. Moving on-premise databases to cloud minimizes infrastructure spending, saves procurement time for up-gradation, avoids long processes, improves on demand capacity, and provides re-sizable capacity for industry standard relational database. It has all the features of RDBMS, with increased reliability and availability in the most cost-efficient way. Cloud provides a platform where hardware, storage, network interface and security is owned by and is responsibility of a service provider. It is a service provided to customers where they can build their servers on cloud as per the requirement. One can scale out and scale down as and when demand increases or decreases. Customers just need to pay for the licenses, CPU cycles, amount of storage utilized. Cloud offers 24*7*365 support backed by necessary expertise and service guarantee.
Most of the cloud service providers have come up with three types of services namely:
In addition to this, a few of them have started offering Database as a Service. Amazon is one such provider which has started AWS RDS (Relation Database Service) for databases. Once you know how much CPU, RAM and storage you need, you can customize and build your database server in the cloud. It offers support for PostgreSQL through its RDS (Relation Database Service) service.
Here are a few of the major benefits one can get by moving to RDS cloud.
1.User friendly GUI Console: RDS cloud provides web console that lets you set up, control and scale up the relational database in the cloud. It helps in managing/automating the common database administration tasks. Setup for high availability, read replica, backup configuration, and software patching can be done with a few clicks though web console.
2.Customize your sever: When you buy a server, you get fixed CPU, memory, and storage configuration for that server, whereas with cloud, you can customize the server as per your requirement. For e.g. If you want to build a server for data warehouse environment with more number of CPUs, less IOPS and more storage, then with RDS, you can easily allocate by selecting the instance type, memory, and storage of your choice. RDS also lets you select Postgres version of your choice from Postgres 9.3 to 9.6.
3.High Availability: Using RDS you can setup highly available Postgres instance. If the primary goes down for some reason, the secondary instance is promoted instantly and failover is transparent to application.
If you want to have a standby server for reporting, you can do so by configuring separate read replicas (version 9.3.5 and later) for reporting purpose.
4.Storage Management: When it comes to storage and IO requirement, you have two storage options available in RDS. You can select storage type depending upon your environment and IOPS requirement. RDS offers general purpose and provisioned IOPS storage.
- General purpose storage is good for small to medium scale business environments. This storage typically offers single digit millisecond latencies with base performance of 3 IOPS per GB for storage varying from 5GB to 33GB and the ability to burst to 3000 IOPS. General purpose storage volume can vary from 5GB to 6TB in size depending upon RDBMS type.
- Provisioned IOPS storage is good fit for applications that have I/O intensive workload which are sensitive to storage performance. Provisioned IOPS volume can range in size from 100GB to 6TB for RDBMS types. It provides the flexibility to provision I/O ranging from 1000 to 30000 IOPS.
5.Tuning and Security: When you set up the server, instance tuning is taken care of by RDS but if you want to customize or tune your server parameter, that is also possible in RDS. You can create a separate parameter group with properly tuned parameter values. In terms of security, RDS also supports SSL encryption connectivity between PostgreSQL server and application.
If you are planning to have your separate private cloud with separate IP addresses and subnet then, you can do so by selecting “create NEW VPC (Virtual Private Cloud)” option at the time of instance creation, otherwise you can select default VPC. If you want the instance to be accessible from devices residing outside the VPC, there is a provision to assign public IP address to DB instance. By default, instance is not accessible from devices outside the VPC.
RDS provides support for PostgreSQL and ensures that you have almost all the PostgreSQL features available in cloud as well. So, if you are having on-premises PostgreSQL instance running, and are planning to move on to cloud, RDS service should be in your priority list.
- Top 10 Highlights of the much awaited PostgreSQL 12!
- PostgreSQL 11 – What’s new and shiny?
- Impressive Postgres 10 features which every DBA should know of!