A few days ago, AWS dropped a big update: Aurora Serverless v2 now scales to zero. This was a highly requested change—let’s break it down and explore what it means for Aurora.
From Aurora Serverless v1 To v2: Losing Scale to Zero
The first version of Aurora Serverless (v1) could indeed scale down to zero during periods of inactivity. This was a fantastic cost-saving feature for developers, and many of them used Aurora Serverless for development and testing databases, which usually remained unused for hours each day. But Aurora Serverless v1 had some issues that needed fixing, including some scaling limitations.
To address this, Amazon launched Aurora Serverless v2, the next iteration of the tech, which offered more performant and fine-grained scaling, support for multi-AZ and read replicas, and several other updates.
The tradeoff was big though. To implement these improvements, AWS had to drop the ability to scale to zero ACUs in v2, as the new architecture relied on maintaining a minimal level of compute capacity (0.5 ACUs) for operational readiness.
Very soon, Aurora Serverless users missed scaling to zero. Aurora Serverless seemed like a good choice for workloads that didn’t run all the time, but to see the benefits, clusters needed to actually pause when idle—and this was not happening with v2. To add to the issues, users complained that even during periods of idle traffic, Aurora Serverless v2 was not scaling down to 0.5 ACUs but instead remained at a larger capacity, resulting in much higher bills than expected.
Scale to Zero Is Back
AWS listened to users, and as in a few days ago, scale to zero is finally back. Here’s a TL;DR of the announcement:
- Aurora Serverless v2 clusters can now scale down to 0 ACUs during idle periods
- Clusters will autopause entirely when no connections are active
- Clusters will wake up automatically in 15 seconds when traffic returns
- For Aurora Postgres, scale to zero is available in versions 13.15, 14.12, 15.7, and 16.3
Is Aurora Serverless v2 Serverless Yet?
Aurora bringing back scale to zero is definitely good news. Now, there are still some questions to answer after this update:
How reliable will the autopause be?
As we’ve noted earlier, Aurora Serverless has previously struggled to bring capacity back down, even to 0.5 ACUs. This behavior—Aurora consuming more compute than expected—is one of the reasons behind frequent user complaints about Aurora’s high bills. Only time will tell if Aurora v2’s clusters actually go down to zero during inactivity and if they do so quickly enough to make a noticeable difference in users’ bills.
Is 15 seconds a fast enough cold start?
The announcement states that idle databases may take up to 15 seconds to resume, which is not exactly a fast cold start. For certain non-production workloads, this may not matter much, but it’s easy to see how this experience could limit many other use cases that would benefit from a truly serverless database.
What happens when there are many connections?
One of the challenges of serverless databases is making them work efficiently with serverless architectures. Aurora Serverless v2 hasn’t been particularly performant for applications with hundreds or thousands of connections, even when using RDS Proxy. Adding a long cold start to the equation likely won’t improve this situation.
Is scale to zero enough to fix Aurora’s high pricing?
Last but not least, supporting scale to zero is only one piece of the puzzle as to why Aurora’s compute bills are often higher than users expect. Other factors—such as the high price per ACU, delays in scaling down, and the lack of billing transparency—remain unresolved.
There Are Alternatives: Try Neon
Time will tell how well Aurora’s scale-to-zero feature works, but if you’re looking for a true serverless database today, you can try Neon—a serverless Postgres platform with:
- Native scale to zero with rapid cold starts. Neon automatically scales down to zero during inactivity, with cold start times averaging 500 milliseconds.
- Performant up/down autoscaling. Neon dynamically adjusts compute resources based on workload demand without delays.
- A connection pooler based on pgBouncer. Neon supports up to 10,000 connections.
- A Free Plan to start with lower unit prices as you scale: Neon’s monthly subscription plans include generous compute usage, and once you exceed your allowance, you’ll still pay half as much as Aurora’s compute units.
- Unique features like database branching. Beyond the serverless essentials, Neon offers features like database branching, which can take your Dev/Test workflows to the next level of efficiency.
But doing is always better than reading. Check it out for yourself via our Free Plan—it takes seconds to register, and no credit card is required.