Amazon Aurora is very well suited in situations where the application requires high scalability and has variable and unpredictable workloads. Also, real-time analysis and reporting could be performed easily using Aurora's read replica feature. Aurora might not be a good fit for applications that rely more on other cloud-based services such as Azure since there are some issues with regards to integrations
I think the biggest point for a project or team to consider is the cost. Although it can scale and descale according to your requirements, still you need to be cautious and have a vision of how big your database is going to be, how complex it is going to be, and how much does latency matter. You need to factor all those decisions before going to spend extra on Amazon Aurora as compared to a simple MYSQL database.
It suffers from Clod start which is a very well known aspect of the product. But the recovery part is also not up to the mark. They need to improve on the ability to restore a copy of the backup, but mostly it is seen that the copy is corrupted or not the latest one.
It does allow us to add new nodes to the existing cluster but we need to be wary of that the new nodes are read-only nodes. All the functions of write/update will still be carried out by the master node only.
Aurora has helped us scale our data workloads by 10X in the last 3 years without the need to increase the DBAs.
It provides reliable performance and uptime guarantees. We have instances varying from 2 cores, 8GB RAM to 32 cores, 256 GB RAM with heavily predicatable workload.
Manageable costs - the ROI on performance and costs is great!
Aurora is easy to deploy and operate from the AWS console, the command line, and with Infrastructure as Code tools like Cloudformation and Terraform. Integrating the endpoints into an application is easy because from the outside, the Aurora clusters look just like any other open source database. I have also seen benefit from using the instances within the cluster as distinct read and write endpoints allowing for further customization in our applications.
Azure's managed database service offers high availability with automatic failover, as well as automated backups and geo-replication for data durability.
DigitalOcean's service provides automated backups and scaling options for availability. Data durability is maintained through redundant storage and regular snapshots.
IBM's database service offers automated backups and recovery options for data protection. It also supports replication for disaster recovery.
The support as a whole cannot be applied to just Aurora, but I must say that the response to our tickets from the AWS side was a bit anemic. Despite that, there is plenty of documentation and forum articles that should make anybody self-serviced. Again, let me stress this out - the product (in either MySQL or Postgres form) was used by many people and thus now well understood, explained and there are plenty of books and other material available. This is not the case that we encountered with NoSQL.
MongoDB is also powerful and efficient with a large amount of data, well RavenDB is much powerful than Mongo, and has more facilities which I like and is better than Mongo. But, Amazon Aurora is much more powerful and confidential data management system, having a cool blockchain system with a powerful relationship between different records.
The premium cost can be a deterrent but its well worth it when the DB fixes itself without intervention from the engineering or DBA teams
The team has gained more confidence in deploying highly available DB infrastructure without the overhead of managing the underlying instances and coordinating the synchronization of a primary-secondary DB setup.
Aurora has saved the day for my team on multiple occasions by withstanding unexpected, spiky traffic