Old Database New Again: AWS Aurora, and it Shines
Updated April 02, 2021
Old Database New Again: AWS Aurora, and it Shines
Senior Data Platform Consultant
Parsons CorporationComputer Software, 5001-10,000 employees
Score 7 out of 10
Overall Satisfaction with Amazon Aurora
Amazon Aurora has been chosen as a drop-in replacement for another popular, but a less affordable relational data storage engine. At time of this writing the system is getting ready to be commissioned in for production use on a select application basis. Given the adoption is, and it appears to be very positive, Amazon Aurora will be the sole choice for any other future implementations and serve as a replacement to other transactional databases. My personal view of what business problems Aurora solves or addresses well:
- Aurora stands out in clustering (or multi-zone high availability) provided out of the box
- DBA-less (almost) solution, at least the server-side aspect is muted, no patching or any hardening to make
- Scale horizontally or vertically, or both.
- The serverless option is attractive for ad-hoc use
- Read-only replicas for robust analytics
- Easy of programmability, supported by most drivers immediately
- Easy scaling - can be either horizontal and/or vertical.
- Nearly seamless backups, easy management.
- 0 worries about server-side security.
- Secondaries: up to 15 read-only replicas are enough even for very analytics hungry enterprises plus it makes all the data immutable.
- Speed: it is hard to say 100% accurately, but in my view, Aurora beats all in the cost to speed ratio.
- The Small and Medium instances are only good for testing or development, the number of connections and resources is limited.
- The 5.7 as the latest version of AWS Aurora in MySQL compatibility is behind feature-wise to what the most recent release of MySQL offers (the same applies to Postgres mode).
- Some odd or sub-optimal configuration values with some parameters not changeable.
- No online development experience. So one must rely on Open Source tooling that is typically subpar to commercial offerings which in turn often are pricey and requires a desktop environment. I wish AWS Cloud 9 could offer in the Cloud Aurora development.
- More predictable costs (AWS provides more than one budgeting and ToC tool unlike the other Cloud providers by the way).
- Aurora can be more expensive (roughly 20%) than a dedicated standalone MySQL or Postgres, however, it is much faster and far more elastic than the regular, hosted instance.
- The development time went down. This is especially true with Microservices or application mesh.
- The DBA becomes less in focus, backup, patching, and failover are no longer a task or item to worry about too much, this allows us to assign the resources differently. Less advanced planning.
- MySQL or Postgres Aurora are both well understood and mature products with plenty of pool of talent.
We looked into a NoSQL solution, several of them actually, one document-based and another columnar for the use with our microservices. Neither turned as a winner. In both cases they lost to one or another deficiency discovered and lacked support to featured we envisioned and functionality used on our existing legacy application. We then decided to give a shot at SQL Server. Whilst it offered all we needed the price point and how it is positioned within the AWS ecosystem it did not make it to the final choice.
Do you think Amazon Aurora delivers good value for the price?
Are you happy with Amazon Aurora's feature set?
Did Amazon Aurora live up to sales and marketing promises?
Did implementation of Amazon Aurora go as expected?
Would you buy Amazon Aurora again?
- Completely DBA-less (or nearly so)
- Can replace most RDBMs
- Ideal for fast-growing companies or those that need to scale out and back. This is not so easy with say NoSQL or Hadoop-based products
- For most programmers or database developers, starting to code against MySQL is an easy thing, most mature programming languages have a native driver, MySQL shell
- Good enough for simple analytics as enterprise reporting, so it can forfeit the need for a dedicated data mart or even a data warehouse
- Can be ~ 20% costlier than just a self-managed MySQL instance
- Outdated version-wise compared to where Oracle's MySQL is
- As a result of the older version used some analytical functionality is beyond reach for ordinary developers or analysts or requires the use of mature commercial tools
Amazon Aurora Support
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.