Postgres rapidly became a favorite Database Management System (DBMS) for a reason—it has data-type support, advanced features, extensibility, and more—plus all the perks of open-source software. Amazon recognized this potential and added a managed Postgres service to Aurora in late 2016. Neon, launched mid-2022, is a newer entrant in the serverless Postgres space, yet is already competing effectively, due in large part to its branching capabilities and competitive pricing.
Both systems are known for their architecture separating storage and compute. But how does their pricing compare? In two scenarios we found Neon to be 20% and 11% less expensive than Aurora. In one scenario we found Aurora was 25% less expensive than Neon. Skip to scenarios.
As we will discuss in the pricing section, there are different Aurora pricing models, we will be focusing on comparing Neon exclusively to Aurora Serverless Postgres v2 (for brevity, throughout this blog referred to as Aurora).
Amazon Aurora Serverless
Aurora offers auto-scaling, automated database clustering and replication, high durability, and more. Its releases are updated regularly, providing flexibility in version selection. Aurora is widely available across regions around the globe. It is convenient to use Aurora for workloads within the AWS ecosystem because of easy integration with other services, such as AWS Lambda for serverless computing and S3 for importing/exporting data.
Neon Serverless
Neon is a modern solution with a developer-focused platform that stands out because of its branching capabilities and true serverless functionalities (the ability to scale to zero and quick start-up times). The branching functionality is particularly useful for development and testing environments with the additional bonus of not using extra storage capacity due to its copy-on-write process. Neon is also open source, giving users transparency and the opportunity to contribute to its development and customization.
Aurora Pricing
There are several pricing configuration options for Aurora. We’re focusing on Serverless, however, you can also choose from On-Demand or Reserved Instances.
For Aurora Serverless, you are billed per second for Aurora Capacity Units (ACUs), where each ACU corresponds to approximately 2 GB of memory, along with corresponding CPU and networking resources. A key serverless feature is the ability to scale up and down, and you can do so by setting the minimum and maximum number of ACUs to scale between.
However, one important thing to note that differentiates this Serverless pricing model from others (including Neon) is the inability to scale to zero. There is a minimum of 0.5 ACUs. This functionality was previously available with Aurora Serverless v1, however to much controversy, it is no longer being supported as of December 31, 2024.
Component | Aurora Standard | Aurora I/O-Optimized |
---|---|---|
ACU hour | $0.12 | $0.16 |
With Serverless, you can also pick between:
- Aurora Standard: Ideal for low to moderate I/O usage. Use cases that include typical data access patterns.
- Aurora I/O-Optimized: Ideal for I/O-intensive applications. With this option, you can save up to 40% if your I/O spend is more than 25% of your total Aurora database spend.
The choice between Standard and I/O-Optimized affects the storage and I/O rates, as follows:
Component | Aurora Standard | Aurora I/O-Optimized |
---|---|---|
Storage Rate | $0.10 per GB-month | $0.225 per GB-month |
I/O Rate | $0.20 per 1 million requests | Included |
Neon Serverless Pricing
Neon’s pricing is modeled with simplicity in mind. There is a Free Tier with up to 0.5 GiB in storage that has limited compute and features, ideal for smaller workloads. As well as an Enterprise Tier with custom rates for larger workloads. That leaves the Launch and Scale Tiers:
Component | Launch | Scale |
---|---|---|
Monthly Base Price | $19 | $69 |
Storage | 10 GiB $3.50 per additional 2 GiB |
50 GiB $15 per additional 10 GiB |
Compute Hours (CU-hour) (CPU Size x Active Hours) |
300 CU-hours $0.16 per additional CU-hour |
750 CU-hours $0.16 per additional CU-hour |
Projects | 10 | 50 $50 per additional 10 projects |
Autoscaling | From 0 to 4 CPU | From 0 to 8 CPU |
RAM | 16 GB | 32 GB |
Pricing Comparison Aurora vs Neon
The biggest cost for Neon and Aurora is compute, so that is what we will primarily be focusing on. Though the two services might not initially seem easy to compare, Neon’s CU-hour is actually equivalent to Aurora’s ACU hour.
Compute for Aurora Standard costs $0.12 per ACU hour, whereas after using the included CU-hours, Neon costs $0.16 per CU-hours. This means for scenarios where there is not a lot of idle time, compute for Aurora Standard will be less expensive (see scenario 2). However, as we will see in scenario one since Neon does not charge for idle time, it can end up yielding cost savings.
Aurora I/O-Optimized is recommended for I/O-intensive applications and like Neon does not charge an additional cost for I/O operations. Both Aurora I/O-Optimized and Neon cost $0.16 per ACU/CU-hour. This means for scenarios where there is no idle time compute will be equal, and when there is idle time, compute could be a lot less expensive (see scenario 3).
Example Scenarios Aurora vs Neon
Note—we will only be comparing the cost of compute. Keep in mind there are other costs to consider such as storage, the I/O Rate for Aurora Standard, Neon’s monthly base price, as well as add-on costs like backup storage.
However, in these scenarios, we can assume the cost of storage and the I/O rate for Aurora Standard examples will be too low to make a difference in pricing. Likewise, for Neon, we can assume the monthly base price is factored into the overall workload cost analysis, and the included compute hours are used elsewhere in the service.
Scenario One: Testing Environment For a Web Application
Say you have a web application and need testing environments to validate new features and conduct performance testing. Amazon states that this is a use case for Aurora Serverless but because of the inability to scale to zero, you will have a minimum monthly charge of $43.80 per instance ($0.12 x 0.5 ACUs x 730 hours in a month). Note—there may be workarounds to this that require additional effort.
The team’s performance testing environment is idle for 4/5ths of the time. During the remaining time, the workload alternates between low and extra low compute requirements, equivalent to 2 or 4 ACUs/CUs. For Aurora Standard, that’s a total of 730 ACU hours which is a monthly cost of $87.6. Neon does not charge for idle, so that corresponds to 438 CU-hours and $70.08.
Calculations
584 idle hours, 73 extra low compute hours, 73 low compute hours $.12 x (584 hours x .5 ACU + 73 hours x 2 ACU + 73 hours x 4 ACU) = $87.6 $.16 x (584 hours x 0 CU + 73 hours x 2 CU + 73 hours x 4 CU) = $70.08
In this scenario, Neon’s compute is 20% less than Aurora’s. That cost can add up when you consider other testing, development, staging, etc., environments.
Scenario Two: Social Media Analytics Platform
A small social media analytics platform continuously collects certain data from various social media platforms. The compute varies throughout the day but is rarely idle. During off-peak hours, the system operates with 1 ACU/CU of compute capacity. During peak hours, the compute capacity scales up to 6 ACUs/CUs. The I/O usage is moderate so we can still use Aurora Standard. Estimations are as follows:
Calculations
511 off-peak hours, 219 low compute hours $.12 x (511 hours x 1 ACU + 219 hours x 6 ACU) = $219 $.16 x (511 hours x 1 CU + 219 hours x 6 CU) = $292
Compute for Aurora and Neon is $219 and $292, respectively. In this scenario, Aurora is 25% less for compute than Neon.
Scenario Three: Batch Data Processing System
A batch data processing system ingests data in batches at regular intervals, processes it to extract insights, and stores the results in a database for further analysis. It will be idle at times and can be categorized as an I/O-intensive application. The team uses Aurora I/O-Optimized to save on I/O costs.
The system is idle 2/3rds of the time and uses high compute (corresponding to 8 ACUs/CUs) the rest of the time. The calculations are as follows:
Calculations
486.67 idle hours, 243.33 high compute hours $.16 x (486.67 hours x .5 ACU + 243.33 hours x 8 ACU) = $350.40 $.16 x (486.67 hours x 0 CU + 243.33 hours x 8 CU) = $311.46
Aurora compute costs $350.40 in this scenario, compared to Neon’s $311.46. Neon’s compute is 11% less expensive in this scenario.
Conclusion
Aurora and Neon are Serverless Postgres services that have plenty of similarities in architecture and functionality. They also have differences that make each suitable for certain workloads. Aurora is advantageous because of its wide range of regions and easy integration with other Amazon services. Neon is an excellent choice because of its branching and open-source nature. Neon is also the more cost-effective choice due to its ability to scale to zero.
Monitor your AWS costs.