DAT327-R1 - Accelerating Application Development With Amazon Aurora

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

DAT327-R

Accelerating application development with


Amazon Aurora

Rajesh Matkar Steve Abraham


Principal Partner Solutions Principal Lead Data Architect
Architect DB Specialist Amazon Web Services
Amazon Web Services

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Architecture and deployment automation

Improving development outcomes

Develop apps with performance in mind

Cost-effective development and testing

Getting started
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Aurora: reimaging the relational database

1 Scale-out, distributed architecture using purpose-


built storage system
2 Service-oriented architecture leveraging AWS services

3 Fully managed service, automating administrative


tasks
4 Cloud-native capabilities simplify use

Amazon Aurora is fast…


5X more throughput than MySQL; 3X more throughput than PostgreSQL
Amazon Aurora: key characteristics

1 Log-structured storage volume


shared between all cluster nodes

2 Readers strictly read-only

3 Optimized for high throughput


Core use cases: read scaling architecture

Autoscaling optional

All readers treated the same

Any reader can be a failover


target

Application should use cluster


and reader endpoints

Dev Tip: Monitor cluster


topology for faster failover
Core use cases: separated workloads architecture

Each reader used for a specific


purpose

Ordered failover targeting

Application uses cluster, custom,


or even DB instance endpoints

Caveat:: Readers share the same


storage and undo log
Deployment automation using AWS CloudFormation
AWS CloudFormation
Outcome-driven deployment automation; templates define desired state
… but how do you define the “state” of an Aurora DB cluster?

Supplement capabilities to match desired processes


1 Check capability gaps in AWS CloudFormation versus API

2 Use AWS CloudFormation custom resources or a master snapshot to


bootstrap database (initial users, permissions, and schemas)

3 Create alternative automation for workflows that need to be


completed with minimal disruption
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Database cloning
Get faster access to copies of your data so you can

1 Test changes in pre-production on


relevant data sets
2 Reorganize a database with
minimal production impact

3 Save a point-in-time snapshot


for data analysis without
impacting production systems
Fast database cloning with Amazon Aurora
Creation of clone takes a few minutes Benchmarks

Data copy happens only on write, when the original Dev/test

and cloned volume start to differ applications Clone

Operations on clone do not affect the source


cluster Clone Clone

Production Production
applications applications
Up to 15 clones from the same source

Pay only for the data storage difference on the


clone Production database
Backtracking databases
Easily undo changes to your data:
1 Reduce risk of database changes at scale

2 Undo unintentional data manipulation language


(DML) and data definition language (DDL) changes

3 Mitigate risk of malicious changes to your data

4 Avoid time-consuming data restore from backups


Going back in time with backtrack

t4
Invisible Invisible

t2 t3

Rewind to t3
t0 t1
Rewind to t1

t0 t1 t2 t3 t4

• Backtrack is not destructive


• You can backtrack multiple times to find the right point in time
• Pay for the volume of change records retained for the desired duration (up to 72 hours)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitor the performance of your queries

1 Establish a baseline of
acceptable/desired query performance

2 Assess performance impact of


workload changes

3 Troubleshoot poor performance and


identify bottlenecks

4 Effective capacity planning


Database health at a glance

Amazon Aurora comes with comprehensive monitoring built in


Performance insights
Easy and powerful dashboard showing load on
your database
Max CPU

Helps you identify source of bottlenecks: top


SQL queries and wait statistics

Adjustable time frame (hour, day, week, and


month)

7 days of performance data history for free—


perfect for developers; up to 2 years of long-
term retention for production use cases
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Aurora features help with cost optimization
Amazon Aurora Serverless use cases

Development and test databases


• Easily provisioned
• Cost savings when DBs are not in use
• Simplify dev/test pipelines

Infrequently used applications


(e.g., low-volume blog site)

Applications with variable load: peaks of activity that


are hard to predict (e.g., news site)
Aurora Serverless architecture
• Application connects to a request router
Application

• Fleet of routers manage queue, client connections,


and route DB traffic
• Instance handles database operations Database traffic routers

• Data kept durable and highly available on Aurora


storage volume Instance

• When scaling thresholds are reached we scale the Warm pool


instance substituting with capacity from warm pool
Database
• Scaling operations are transparent to applications storage

• You configure min. and max. capacity and whether


and when to pause DB if there’s no activity
Introducing the Amazon Relational Database
Service (Amazon RDS) Data API
• Public HTTP API endpoint, integrated with AWS
authentication
• Automated server-side connection pooling

• Ideal for AWS Lambda or serverless apps reusing


connections across multiple invocations
• Fully integrated with AWS Secrets Manager and
AWS AppSync
• Optional session construct for efficient prepared
statement executions
• Interactive query editor in the console for
ad-hoc queries
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Hands on: things you should know

1 Lab environment takes ~20 min to deploy

2 Autoscaling behavior may take ~5 to10 min

3 Data loading takes ~5 min to complete

4 Note down AWS CloudFormation output values

5 Use provided Domain Name System (DNS) names


Hands on: getting started with the workshop

Go to https://awsauroralabsmysql.com/reinvent/
Parting thoughts

1 Use automation wisely and map out


your operational processes in detail

2 Know Aurora’s features and how they


can improve on your development
and testing process

3 Develop and test with performance in


mind
4 Quantify the expected baseline
performance of your workload
Learn databases with AWS Training and Certification
Resources created by the experts at AWS to help you build and validate database skills

25+ free digital training courses cover topics and services


related to databases, including:
• Amazon Aurora • Amazon ElastiCache
• Amazon Neptune • Amazon Redshift
• Amazon DocumentDB • Amazon RDS
• Amazon DynamoDB

Validate expertise with the new AWS Certified Database - Specialty beta
exam

Visit aws.training

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
Rajesh Matkar Steve Abraham
matkarr@amazon.com abrsteve@amazon.com

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.

You might also like