What is Aurora’s Role?
Aurora is a serverless database designed and built for the AWS Cloud. It provides high performance across multiple availability zones, provides fast performance and recovery, flexibility and scalability, and low-latency reading capabilities. Immigrating externally from other databases is made to be as easy as possible with more than enough tools to protect and backup that data. Because it is designed with AWS in mind, Aurora is the best choice of database for all of AWS’ other services.
Performance and Scalability
- Higher throughput - Using a variety of software and hardware techniques to maximize the use of provided capabilities, Aurora can increase the throughput of MySQL and PostgreSQL by 3x and 5x respectively. The higher efficiency also doesn’t come at the cost of consistency. Further throughput can also be accomplished by creating up to 15 database replicas with all the same capabilities as the base instance.
- Parallel Query - Multiple queries and faster query speed keep traffic low and maximize processing power.
- Serverless - Like all other AWS services, Aurora not only scales the number of assets an application requires depending on expected or current traffic, but it’s done easily through RDS APIs or through the AWS Management Console. By that same note, storage can be decreased or increased from as low as 10 GB to as high as 128 TB of data.
- Customizable Endpoints - With the addition of new instances, the custom endpoints can help to better distribute
- Amazon DevOps Guru - Monitor traffic with the integrated tools to better keep an eye out for bottlenecks and root out causes of unwanted traffic. It has the capacity to identify root causes of low performance and provide solutions for addressing them.
Availability and Durability
- Repairs and Monitoring - Amazon RDS keeps a constant eye on everything going on within the Aurora instance. If a database fails, it will restart the instance automatically. To keep restart times low, it will not require a crash recovery replay.
- Global Presence - AWS has infrastructure localized within most geographical regions, keeping latency low. Secondary regions can be used as a backup in case of an outage.
- Faults and Self-Repair - Every 10 GB of a database is replicated six ways across three different availability zones. Even with copies of data, this won’t affect read-write capabilities.
- Snapshots and Backups - Snapshots are user-initiated and can be retained on an AWS S3 instance until they are deleted by the user. Additionally, Aurora comes with Backtrack to return to a previous point without needing a backup to prevent user errors for upwards of 72 hours.
- Network Isolation - Using Amazon’s in-house Virtual Private Cloud (VPC), Aurora instances get a private connection to on-premises infrastructure with industry-standard VPN encryption. Firewalls can be individually configured per DB instance.
- Permission - Amazon’s Identity and Access Management (IAM), users can establish who has access to what to prevent breaches in the circumstances of a compromised user.
- Threat Detection - Amazon’s GuardDuty monitors logins and checks for suspicious activity, catching potential threats on their way to stored data.
- Ease of Use - Initiating a new instance isn’t hard. Generating a new Aurora DB instance is just a matter of a single API call or a button press on the RDS Management Console. With just as many clicks, it is easy to shut down or restart the instance.
- Monitoring - AWS CloudWatch provides metrics for the DB at no extra cost from memory to storage, throughput, and connectivity.
- Software Updates - Updates are applied automatically to the user’s configuration. This includes whether or not to update and when to update. Existing sessions are also preserved during the updating process, resulting in at most a few seconds of dropped throughput.
- MySQL DB
- PostgreSQL DB
- Commercial DB
- Babelfish - For migrating off of legacy SQL databases.
Aurora has no up-front costs and only charges users for whatever resources they use with hourly rates per instance launched. Because Aurora can be easily scaled, extraneous costs from unused assets can be completely avoided. Though costs are also heavily dependent on the region the service is being deployed in, prices ultimately hinge upon GB used per month, storage and I/Os, backup storage, Backtrack usage, Snapshot or cluster exports, and data transfers. These are costs that do get extremely complicated very quickly and Amazon does provide a pricing guide here for new users to quickly calculate pricing before they dedicate to signing up.