In the previous lesson, you learned about the different tiers available on Neo4j Aura and how to select the right tier for your specific use case.
In this lesson, you will learn how to:
Explore the cost structure of Neo4j Aura
Understand what’s included in Aura pricing beyond compute resources
Manage costs effectively through pausing and right-sizing instances
The cost structure
When considering Neo4j Aura, it’s essential to understand what you’re actually paying for. The cost of using Aura includes a range of services and capabilities that would require significant effort to implement and maintain in a self-managed setup:
Compute resources: The virtual machines running your database instances.
Storage: The disk space used for your database, including indexes and logs.
Backups: Automated daily backups with point-in-time recovery options.
Monitoring and metrics: Advanced monitoring capabilities to track performance and health.
Security: Encryption at rest and in transit, role-based access control (RBAC), and network isolation.
Updates and maintenance: Automatic updates to ensure you’re running the latest and most secure version of Neo4j.
Support: Access to Neo4j support services, depending on your tier.
Important considerations
Neo4j Community edition requires that you abide by the GPL v3 license.
The Enterprise Edition software does have Role Based Access Control (RBAC) but the Aura Professional tier is limited in that respect.
Neo4j Community Edition only allows a dump/load of the database. The database has to be stopped for that operation.
Optimizing costs across tiers
For each tier, there are specific cost differences to consider:
A cluster is going to be more expensive than a single instance
Dedicated infrastructure is more expensive than shared infrastructure
Hourly backups require more storage than daily backups
Vector indexes are very storage and memory intensive
Managing costs best practices
To effectively manage costs in Neo4j Aura, consider the following best practices:
Instance sizing: Choose the right instance size based on your workload requirements. Avoid over-provisioning resources, since you can always scale up if needed.
Right-tier selection: Select the appropriate tier based on your application’s needs. For example, use Aura Free for development and testing, and Aura Professional or Business Critical for production workloads.
Pausing instances: Use the pause feature to stop incurring costs when instances are not in use, especially for development and testing environments.
Managing costs through pausing
One of the most direct ways to control costs is by pausing instances when they’re not in use.
For example, if you have a development instance that is only used during business hours, you can pause it overnight and on weekends to save costs.
By default, Aura Free instances are automatically paused after 72 hours of inactivity, while Aura Professional, Business Critical, and Virtual Dedicated Cloud instances can be manually paused.
Understanding pause behavior
Pausing an instance is - in all cases - a cost-saving decision.
This behavior differs by tier:
Aura Free instances:
Cannot be manually paused
Auto-pause after 72 hours of inactivity
Deleted after 30 days of being paused
Aura Professional / Business Critical / Virtual Dedicated Cloud instances:
Can be manually paused
Are not auto-paused when inactive
Automatically resumed after 30 days of pausing
Associate pausing to putting your instance into hibernation - it stops consuming resources (and costs) but can be quickly awakened when needed.
When to pause instances
Consider pausing instances in these scenarios:
Development environments during off-hours
Testing environments between testing cycles
Staging environments when not actively used
Temporary instances for specific projects
Coordinate before pausing
Pausing stops all database activity, so coordinate with your team before pausing shared instances.
Making informed decisions
The following are some key takeaways to help you make informed decisions about using Aura:
Size your instances correctly
Pick the correct Aura tier for your use case requirements
Commitment can save in the long run
Understand the full cost of self-managed alternatives, including maintenance and operational overhead
Use pausing to control costs for development and testing environments
By understanding these cost factors, you can effectively manage your Neo4j Aura instances and build successful applications while keeping expenses in check.
What are the best practices for managing costs in Neo4j Aura?
✓ Pausing instances when they are not in use
✓ Selecting the appropriate tier based on application needs
✓ Choosing the right instance size based on workload requirements
Hint
Think about how general cloud services charge for resources, and about the resources that you consume when using a database.
Solution
Aura pricing is based on the instance size and storage used.
The best practices for managing costs in Neo4j Aura include:
* Pausing instances when they are not in use
* Selecting the appropriate tier based on application needs
* Choosing the right instance size based on workload requirements
Summary
In this lesson, you learned about what makes up the cost of Aura.
You learned practical cost management techniques, particularly how to use pausing to control costs for development and testing environments.
In the next module, you’ll learn about database lifecycle management, including backup and restore operations.