Recently, Amazon announced the general availability of the PostgreSQL-compatible edition of Aurora Serverless, a "serverless" relational database service (RDS) in AWS, which automatically starts, scales, and shuts down database capacity with per-second billing for applications with less predictable usage patterns.
Amazon first showed a preview of this service at AWS re:Invent in 2017. Next, the public cloud vendor made the MySQL-compatible edition generally available in August last year, which was reported on by InfoQ. Now, Amazon is bringing the PostgreSQL-compatible edition to general availability.
Through the Amazon RDS console, users can select the Amazon Aurora database engine and specify the available My-SQL or PostgreSQL compatible edition – both different implementations than the standard versions of these open-source databases. Subsequently, they can choose the "serverless" option and move on to set their new DB cluster with an identifier, specification of the credentials, and the capacity. With the capacity, users can select the minimum and maximum capacity units for their database, in terms of Aurora Capacity Units (ACUs) – a combination of processing and memory capacity. Besides defining the ACUs, users can also determine when compute power should stop after a certain amount of idle time.
Source: https://aws.amazon.com/blogs/aws/amazon-aurora-postgresql-serverless-now-generally-available/
Danilo Poccia explained in a blog post how the capacity settings would work once the database is available:
Your client applications transparently connect to a proxy fleet that routes the workload to a pool of resources that are automatically scaled. Scaling is very fast because resources are "warm" and ready to be added to serve your requests.
Source: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html
Note that the minimum storage is 10GB and, based on the database usage, will automatically grow up to 64 TB, in 10GB increments with no impact to database performance.
Picking the right use case is essential for Aurora Serverless, as a respondent in a Hacker News thread states:
Some of our systems are low volume, high value - they kick into high gear once or twice a week (not necessarily on a schedule, whenever customers feel like placing an order) at which point hundreds of thousands of queries need to be run. We currently run large or extra large DB servers 24x7 at 0.01% overall utilisation because of this. It's perfect for use cases like this. Sure, if you compare it, cost-wise to a similar 24x7 instance, it’ll be more expensive.
More use cases are available in the Aurora documentation.
Aurora PostgreSQL Serverless is currently available in the US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), and Asia Pacific (Tokyo) regions. Moreover, the public cloud vendor stated in the announcement that it would expand to additional regions in the coming year.
Lastly, Aurora has two distinct pricing models:
- On-Demand Instance Pricing – when customers want to pay for their database by the hour, with no long-term commitments or upfront fees
- Reserved Instance Pricing – when customers have steady-state database workloads and like to benefit from the significant savings over On-Demand
Pricing details on Aurora Serverless are available on the pricing page.