re:Invent 2021

Drawing the New York City skyline with Amazon Aurora Serverless v2


Note: this is the pre-recorded breakout session for the virtual re:Invent, not the recording session of the on-site in Las Vegas.



If you are looking to harness the capabilities of Aurora v2, or just looking to learn more about it and what it has to offer, then this talk is for you. The speaker gave an overview of Aurora v1 & v2 and walked through his use of the service to create a simple skyline using only SQL and no other tools. The outcome was impressive and was met with unprompted applause.

I choose to see this at #reinvent just because the title seemed fascinating but this was one of the best representations of #serverless #sql #metrics

It was really fun! Great example of how AWS Serverless V2 can scale fast under a pressure. Almost instantly!

Your Aurora Serverless v2 presentation was great. I was the guy that interrupted your peace in the coffee shop this morning. Thank you again for the fun presentation. It was a great way to present it.

Definitely one of the best sessions I attended. Fun and rich in real-world wisdom!

For those attending virtually, this excellent session is now available on demand.

This is a completely absurd, but effective, way to demonstrate the difference between Aurora Serverless V1 and V2.

Aurora Serverless v2 is finally globally available and if you’re wondering why this is great news, take a look at this talk by Renato Losio.


00:00:00 Renato introduces the concept of a serverless database and outlines the four key criteria that define it: high availability, no server maintenance, pay-per-usage, and continuous scaling. Renato emphasizes that it is important to view serverless not simply as a function, but rather in terms of its on-demand scaling and pricing characteristics. The goal is to have a MySQL database cluster that can start up and stop automatically, scale up and down based on usage, and require minimal management from the user. Renato outlines the objectives for the presentation, which include testing the elasticity of Amazon Aurora Serverless V2 by using it to draw the New York City skyline.

00:05:00 Renato discusses the main use cases for a serverless database and how it benefits developers who want to avoid manually sizing their production database for peak load, unpredictable loads, or bugs. Renato also compares the use of Amazon RDS for vertical scaling and how it introduces short downtimes.

00:10:00 Renato discusses the limitations of traditional database scaling and explains the benefits initially introduced by Amazon Aurora Serverless V1., an on-demand auto-scaling configuration that allows for the creation of a minimum and maximum capacity for the database scaling vertically, based on usage. Renato explains that with traditional scaling, a reboot or failover can take up to a minute or longer for scaling up or down, making it difficult to scale frequently. Aurora Serverless V1 offers TCP connection or data API without having to redesign the entire application.

00:15:00 In this section, Renato compares the performance of Aurora Serverless V1 and Aurora Serverless V2. Starting with Aurora Serverless V1, the presenter runs a load test and observes that although scalability is achievable, it is not necessarily ideal. In contrast, Aurora Serverless V2 provides a more granular and efficient scalability approach. Renato runs the same load test on the Aurora Serverless V2 and notes that its scalability is more efficient, quick, and flexible than that of V1. Aurora Serverless V2 represents a significant performance improvement over the Aurora Serverless V1.

00:20:00 Renato describes a simple and absurd test to showcase the capabilities of the Aurora Serverless V2. The goal is to draw a simple skyline of New York City using SQL and to prove that the capacity of the Aurora Server matches the load generated by the CPU. Renato uses a loop to insert records in a table and controls the number of seconds to draw or sleep to create simple blocks of different heights. The test results show that the Aurora Serverless V2 can handle the load and scale the capacity up and down as needed, with minimal execution time.

00:25:00 Renato demonstrates how to draw the New York City skyline using Amazon Aurora Serverless v2. Renato measures the height of different pieces of the skyline and considers every single block one piece at a time at a different height. Renato creates a SQL procedure that inserts records for a period of 60 seconds and controls the height of the block using a percentage of that time. Renato explains how to run the tests and shows the CloudWatch console with two metrics: the serverless database capacity (ACU), and the CPU utilization of the server.

00:30:00 Renato discusses the differences between Amazon Aurora Serverless v1 and v2, highlighting the dynamic changes in capacity and CPU. They demonstrate how performance peaks can be controlled and plotted using the v2 version. Renato also emphasizes the importance of monitoring the InnoDB buffer pool size in a highly elastic database like Aurora Serverless, noting that it changes frequently and incrementally. Finally, Renato reminds the audience of the importance of efficient indexing and avoiding poor queries to manage cloud costs.

00:35:00 Renato concludes the presentation by acknowledging the importance of having a reliable and scalable database infrastructure.