The Future of Database Technology in the Era of Serverless Computing
While many serverless databases are in their infancy, the future looks promising. Not all of us can ditch our databases yet, but we are moving in the right direction.
Join the DZone community and get the full member experience.Join For Free
Disruptive competition has mandated organizations to innovate rapidly and keep up with the pace and innovation. It might look difficult but it is the only way to align with business teams.
But this isn’t the end. Management teams are expecting lower resource costs and higher return on investment for technology projects.
To thrive in this race of user rich experiences, applications need data in real-time.
It is quite old-school to invest your time, money, and efforts to scale a single monolithic application system. Instead, what organizations need today is a system where they can scale without losing the ability to continually adapt and innovate against managing the database infrastructure.
In this varied landscape, serverless databases play an expanding and unique role by delivering secure, safe, and scalable access, all the while reducing your operational costs.
Event-Driven Serverless Databases
We all are aware of cloud databases like, AWS Aurora, which is compatible with MySQL or PostgreSQL, is fully managed, and automatically scales up to 64TB of database storage.
While creating this database, you choose the desired instance size — and this works really well in an environment where there are predictable workloads, request rates, and processing requirements.
However, in cases where the workload isn’t predictable and there is a burst of a request for a few minutes per week or day, arranging the right amount of capacity can be a lot of work. At the same time, paying for it on a continuous basis might not be the best solution.
And here’s where serverless databases come in the picture. These are specially designed for workloads that are unpredictable and can change rapidly. What’s more is that this allows you to pay only for the database resources you use on a second-by-second basis.
How Does It Work?
Serverless databases like AWS Aurora Serverless come with on-demand autoscaling configuration. This means that the database will start up, scale capacity as per your application’s demand, and shut down when not in use.
What’s more is that you run your database in the cloud without managing the instances or clusters.
The serverless database model is built upon the separation of storage and processing.
You create an endpoint, set up the minimum and maximum capacity if you like, and issue queries to the endpoint. This endpoint works as a proxy to a frequently scaled fleet of database resources. This empowers your connections to remain intact while scaling operations occurs behind the scenes.
The separation of storage and processing brings another benefit, as well. You can easily scale down to zero processing and only pay for the storage requirements. Whenever your application demands, scaling happens in almost five seconds, while building upon a pool of “warm” resources that are eager to serve your requests.
While AWS Aurora Serverless and similar serverless databases are in their infancy, the future looks promising. Not all of us can ditch our databases — at least not yet — but we seem to be moving in the right direction.
Infrastructure management is challenging and very painful. It shifts our focus away from the real problem to the undifferentiated heavy lifting of managing databases. Let’s just not talk about it!
What I’d love to talk about is your experiments with any of the serverless databases and what things you look forward to. If you think I am missing something, kindly comment or get in touch with me on Twitter @Jignesh_Simform.
Published at DZone with permission of Jignesh Solanki. See the original article here.
Opinions expressed by DZone contributors are their own.