For the past 15 years I have been involved in the IT world and I know the pain of managing a database, especially when it comes to scaling and management.
Despite multiple options, scaling is a big issue IT professionals face. Whether you opt for vertical or horizontal scaling, managing them isn't easy. Vertical scaling comes with the con of downtime for hardware changes while the single point of failure for writes in your database is for horizontal scaling. Let's just not talk about changes you'll have to make while you want to shard your database.
However, if you have doubts over whether this is relevant if you opt for serverless architecture, the answer is yes! However, that'd not be the case anymore!
We all know how serverless technology is changing the way we develop an application. But moreover, the good news is, it will now change the way we manage and scale our database as well. Here's how:
Problems with Outdated Databases
Let's assume that your organization has a large set of databases that are housed inside one big server with daily and weekly backups at a regular time. Well, no wonder, it would be a problem to run and manage such a huge database on-premise, let alone the scaling and recovery time if disaster strikes.
However, if you think migration to the AWS RDS is going to solve all your problems, you're wrong. It might reduce your operational cost and management time but some IT teams still want more! And AWS recognizes these pre-existing problems with the current solutions in the serverless paradigm and is ready to offer more.
What is AWS Aurora Serverless?
Recently, at AWS re:Invent 2017, AWS discussed these concerns and unveiled Aurora Serverless, a database equivalent of an event-driven serverless approach. It is a database service that will make the launching of relational databases extremely easy and cheap as the data need not be processed continuously.
It will start-up, shut down and scale up & down as per your application's demand. Aurora Serverless enables you to run your database in the cloud without any management of database instances and clusters.
The best part about AWS Aurora Serverless is that data processing and data storage will be billed separately. What it means is that Aurora Serverless users pay only for the time when the data is being processed and not when it is at rest. Of course, data storing will be also charged but it is relatively cheaper.
This is the best and cost-effective solution for infrequent, intermittent or unpredictable workloads.
In the backstage, your endpoint works as a proxy that routes queries to a set of resources, where a pool of warm compute resources can scale within seconds. These resources, when separated this way, enables the intact connection along with scaling.
Here are the checkboxes AWS Aurora Serverless is going to check:
- Easy scaling
- HTTP accessibility
- Authentication and authorization based on IAM roles
- Flexible and well known relational database
However, AWS Aurora Serverless is still in preview. You can sign-up for the form here.
Whether this will turn out to be exactly like what it is being claimed or not, only time will tell.